1. 创建新的数据库存储路径;mkdir /wwwroot/mysql复制数据库文件到新目录;
防止数据被破坏之后不能恢复;cp -a /var/lib/mysql /wwwroot/mysql修改配置文件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重启数据库;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存储文件路径;
pdo_mysql.default_socket=/data/mysql/mysql.sock
mysqli.default_socket = /data/mysql/mysql.sock
修改好之后重启php-fpm;systemctl restart php-fpm
再次尝试登录应该就可以登录成功!