美文网首页
MySQL 数据文件迁移至新硬盘

MySQL 数据文件迁移至新硬盘

作者: 盘古_创世纪 | 来源:发表于2019-08-01 16:01 被阅读0次

    1.1 停止服务

    service mysql stop


    1.2 迁移数据文件目录

    MySQL 默认数据文件目录为 /var/lib/mysql,若不清楚可查看配置文件 /etc/my.cnf(也可能是 /usr/my.cnf)。

    现在,我们输入以下命令,将数据文件迁移至新硬盘。如果数据文件比较大,这个过程可能会有点久。

    mv  /var/lib/mysql/  /data

    配置路径: /etc/mysql/mysql.conf.d

    日志路径:/var/log/mysql

    1.3 修改配置文件路径

    [mysqld]

    # * Basic Settings

    user            = mysql

    pid-file        = /var/run/mysqld/mysqld.pid

    socket          = /var/run/mysqld/mysqld.sock

    port            = 3306

    basedir        = /usr

    datadir        = /data/c/mysql 修改

    #datadir        =/var/lib/mysql

    1.4 查看 /var/log/mysql/error.log 错误, 发现 Mysql启动错误: Can’t create test file xxx lower-test

    这个原因有二,其中任意的一个原因都会造成你被系统告知这个warning。如果你不是一个专业的linux系统安全工程师,或者你只是个PHP程序员,并没有对系统安全有深入的研究,你就不会太容易找到它的答案。

    第一,selinux,记得当年念书时,字符界面安装redhat(很古老的操作系统么。。。)的时候,有这么一个选项,通常大家都听取前辈的建议,改变默认值以不安装它。但如果你恰好要操作的这台机器开着selinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的操作,并爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭selinux,以便让你的操作可以继续下去 setenforce 0 但最好使用一个永久方法,以便在重启后继续不要这货。 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启或等待下次重启。

    第二,apparmor,这个坑爹货和selinux一样的坑爹,它也对mysql所能使用的目录权限做了限制 在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限

    /var/lib/mysql/ r, /var/lib/mysql/** rwk,

    你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限 我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了

    /data/mysql/ r, /data/mysql/** rwk,

    # Allow data dir access

      /var/lib/mysql/ r,

      /var/lib/mysql/** rwk,

      /datc/c/mysql/ r,

      /data/c/mysql/** rwk,

    # Allow data files dir access

      /var/lib/mysql-files/ r,

      /var/lib/mysql-files/** rwk,

      /data/c/mysql-files/ r,

      /data/c/mysql-files/** rwk,

    # Allow keyring dir access

      /var/lib/mysql-keyring/ r,

      /var/lib/mysql-keyring/** rwk,

      /data/c/mysql-keyring/ r,

      /data/c/mysql-keyring/** rwk,

    重启

    apparmor,/etc/inid.d/apparmor restart////////////     /etc/init.d/apparmor restart

    相关文章

      网友评论

          本文标题:MySQL 数据文件迁移至新硬盘

          本文链接:https://www.haomeiwen.com/subject/baiqdctx.html