CentOS7修改mysql数据文件路径

1. 创建新的数据库存储路径;

mkdir /wwwroot/mysql

  1. 复制数据库文件到新目录;

防止数据被破坏之后不能恢复;

cp -a /var/lib/mysql  /wwwroot/mysql

  1. 修改配置文件my.cnf;

首先先复制一份,备份一下;

cp /etc/my.cnf /etc/my.cnfbak

然后再进行修改;

vim /etc/my.cnf

修改内容如下:
[client]
socket=/wwwroot/mysql/mysql.sock
[mysqld]
datadir=/wwwroot/mysql
socket=/wwwroot/mysql/mysql.sock

  1. 重启数据库;

systemctl restart mariadb

如果在过程中数据库启动不起来;
有可能是SELinux导致;
需要关闭SELinux;

vi /etc/selinux/config

SELINUX=enforcing #注释掉

SELINUXTYPE=targeted #注释掉

增加下面一句;
SELINUX=disabled 
:wq! #保存退出
若想使配置立即生效;
使用如下命令;

setenforce 0 

关闭后再重启数据库应该没问题了;

如果重启时出现以下问题:
mysqld_safe mysqld from pid file /home/mysql_data/mysql.com.pid ended
出现该问题之后排查了文件夹权限、进程是否没杀死等原因。甚至重新安装之后还是无法解决,在我崩溃之前发现需要初始化一下。刚刚开始安装MySQL的时候没初始化,现在需要了,O__O "…
解决方法,运行以下语句进行初始化

mysql_install_db

设置目前权限

chown -R mysql:mysql /wwwroot/mysql

systemctl restart mariadb

这样应该就可以重启成功了

这样mysql数据文件路径就修改成功了;
另外如果使用phpmyadmin连接数据库;

可能会出现如下错误;
木点点博客
这种情况需要修改php.ini文件;
将mysqli.default_socket设置为新的MySQL存储文件路径;
木点点博客
修改好之后重启php-fpm;

systemctl restart php-fpm

再次尝试登录应该就可以登录成功!

木点点博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论