MySQL5.7数据目录迁移

MySQL默认数据目录存在 /var/lib/mysql目录下,由于我们一般数据磁盘都挂在/home下,本文假设将MySQL数据目录迁移至 /home/data
1、home目录下创建目录data/mysql
$ mkdir -p /home/data
2、停止MySQL服务
$ sudo systemctl stop mysqld.service
3、将/var/lib/mysql 整个目录移动或者拷贝到 /home/data
$ mv /var/lib/mysql /home/data/mysql
$ cp -R /var/lib/mysql /home/data/mysql
4、给目录/home/data/mysql授权
$ chown -R mysql:mysql /home/data/mysql
5、修改配置文件 /etc/my.cnf
 $ vi /etc/my.cnf
  #datadir=/var/lib/mysql
  datadir=/home/data/mysql
  #socket=/var/lib/mysql/mysql.sock
  socket=/home/data/mysql/mysql.sock
6、关闭防火墙 SELinux
 # 零时生效
 $ setenforce 0

# 永久生效 操作前先备份
$ cp /etc/selinux/config /etc/selinux/config.bak
$ cat /etc/selinux/config
#     SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.

# 更改setlinux级别
sed -i 's/SELINUX=enforcing/\SELINUX=permissive/' /etc/selinux/config
 ==> vim /etc/selinux/config/  --> SELINUX=enforcing[效果同上]
# SELINUX参数enforcing代表打开,disabled代表关闭
# 查看selinux状态:
$ getenforce
7、重新启动MySQL服务
$ sudo systemctl restart mysqld.service
8、创建软连接,否则mysql 将如法使用命令登录
 $ ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。