CentOS(7.6)环境下迁移Mysql(5.7)的data目录到指定位置

第一步:关闭Mysql

复制代码
#关闭Mysql服务
systemctl stop mysqld
#查看Mysql服务状态
ps -ef|grep mysql

第二步:创建新目录,并拷贝数据文件

复制代码
#创建data文件目录
mkdir  /data/mysql/data/
#给mysql账号赋权
chown -R mysql:mysql /data/mysql/data/
#拷贝数据到data文件下
cp -a /var/lib/mysql /data/mysql/data/
#查看文件夹大小判断是否拷贝成功
du -sh *

第三步:修改配置文件,重启验证

复制代码
#进入etc文件夹下
cd /etc
#备份配置文件
cp my.cnf my.cnf.bak20231210
#修改my.cnf文件
vi my.cnf
sql 复制代码
#重启mysql服务
systemctl start mysqld
#查看mysql服务是否启动成功
ps -ef|grep mysql
#进入mysql命令行(若报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 执行第二条命令)
(1)mysql -u root -p 
(2)mysql -u root -p -S /data/mysql/data/mysql/mysql.sock (如果套接字文件不存在,则需要启动 MySQL 服务器以重新创建它。如果套接字文件位于不同的位置,请在连接 MySQL 客户端时使用 `-S` 参数指定正确的路径。)
#查看是否修改成功
show variables like '%datadir%';