-------先查看datadir的路径------------------------------------
use mysql
show variables like '%datadir%';
————————————————————————
--datadir=/data/mysqldata/mysql 老的
--datadir=/bigdata/new_mysqldata 新的
————————————————————————
改变MySQL数据文件的存储目录时,需要执行以下步骤:
1.新建一个用于存储数据的目录
mkdir -p /bigdata/new_mysqldata
2.停止MySQL服务器:
systemctl stop mysql.service
也可以先再次启动下看看是否能正常启动,排除其他人改了配置未重启
3.执行计划任务中的备份脚本,备份当前最新的mysql数据
4.将当前的MySQL数据目录```到新的目录 /bigdata/new_mysqldata
cp -a /data/mysqldata/mysql /bidata/new_mysqldata
5.修改 MySQL 配置文件 /etc/my.cnf。将 datadir 参数设置为新的 MySQL 数据目录 /bigdata/new_mysqldata, 其他相关的老路径都改为新目录
sed -i 's/data\/mysqldata/bigdata\/new_mysqldata/' /etc/my.cnf | grep new_mysqldata
[mysqld]
datadir=/bigdata/new_mysqldata
6.将binlog-index进行编辑,将源路径修改为目标(实际)路径,读取新的binlog位置
sed -i 's/data\/mysqldata/bigdata\/new_mysqldata/' binlog-index | grep new_mysqldata
7.重启 MySQL 服务器
systemctl start mysql.service
8.确认 MySQL 数据库是否已经正常启动
systemctl status mysql.service
ps -ef |grep mysql
确认下是否改成功,以及库是否正确————————————————————————
show databases;
use mysql
show variables like '%datadir%'; #查看datadir的路径是否已经更改
将老的/data/mysqldata/mysql 移走,mv /data/mysqldata /data/oldmysqldata
如果遇到启动问题参考链接与错误日志一步一步排查: https://blog.csdn.net/xiaojie12312/article/details/123998691
参考链接: