美文网首页
centos MySQL 数据目录迁移

centos MySQL 数据目录迁移

作者: NormanCao | 来源:发表于2018-02-07 10:54 被阅读0次

    step1:

        先停掉服务

        service mysqld stop


    step2:

        修改mysql配置文件

        vim /etc/my.cnf

        把其中的datadir=/var/lib/mysql/ 和socket=/var/lib/mysql/mysql.sock

        改成datadir=/newpath/ 和datadir=/newpath/mysql.sock

        newpath换成你自己的存放数据的路径


    step3:

        启动mysql服务

        service mysqld start


    配置基本完成,但是可能会出现以下问题:

        可能会报错:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and     "journalctl -xe" for details.

        可以按照提示命令去查看错误信息,但是你会发现里面提供的信息基本没什么参考价值,这个时候可以打开mysql的日志文件

        vim /var/log/mysqld.log

        shift + g 翻到最后

        可能会看到这个关键信息 Could not create unix socket lock file /data/part1/dbdata/mysql.sock.lock

        查阅之后发现可能是权限问题,这里就把你自己的newpath权限设置一下,最暴力的方法是就是改成777

        chmod -R 777 newpath

        再重启mysql

        service mysqld restart

        能正常启动了


        但是当你尝试连接myqsl 

        mysql -uroot -p

        又出现一个错误:

        Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

        明明配置文件里面已经把mysql.sock文件的路径改掉了,这里面还是指向老的路径,为什么呢?我不知道,大概是修改的my.cnf里面的配置是   给mysql的server端识别的,而你连接mysql的收,你是client端,client端还是只认老的路径。通过查看这个文章找到了答案,在my.cnf文件里面加上[client]

        socket=/data/part1/dbdata/mysql.sock

        加在最后就行。保存重启mysql,问题完美解决。

    相关文章

      网友评论

          本文标题:centos MySQL 数据目录迁移

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