mysql 数据存储路径迁移
mysql 数据存储路径迁移
*重要
在开始之前,我们用mysqldump对所有数据库做下备份,防止数据损坏导致数据丢失
迁移事项
1.导出备份所有的db
mysqldump -uroot -pxxx xxx > xx.sql
2.mysql配置文件备份
# 停止数据库
systemctl stop mysqld
cp /etc/my.cnf /etc/my.cnf.bak
# 然后修改数据存储路径为你要调整的数据路径
3.数据路径创建及授权
# /data/path是你要更改的数据路径,这里我授权具体路径,/data最外层路径是root,发现还是没写入权限,必须整个data全给才可以,不知道是不是mysql独有的特性
mkdir -p /data/path
chmod 755 -R /data
chown mysql:mysql -R /data
# mysql5.7不需要配置文件也能启动,我在这里踩坑,配置文件是root权限mysql无权限读取,导致走的默认配置
chmod 755 -R /etc/my.cnf
chown mysql:mysql -R /etc/my.cnf
4.对新路径初始化数据
# 就是创建test\mysql等4个默认表
#然后对你的新进目录进行初始化,记得目录里面不要有任何文件
mysqld --initialize --user=mysql --datadir=/data/path
# 如果文件属主属组有非mysql的,再次授权
chmod 755 -R /data
chown mysql:mysql -R /data
5.重启数据库
systemctl start mysqld
如果启动失败就看看日志