Mysql库迁移到别的分区
Posted huang99882008
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql库迁移到别的分区相关的知识,希望对你有一定的参考价值。
1、现在我们创建新的目录(如果错误没有哪个文件夹就一步一步创建下去)
[[email protected] mysql]# mkdir /var/lib/data/mysql/
2、mv或cp原始数据库数据目录文件
首先看一下当前的数据文件大小:
du -h --max-depth=1 /var/lib/mysql/
[[email protected] mysql]# cp -a /var/lib/mysql /var/lib/data/mysql/
-a:此参数的效果和同时指定”-dpR”参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
3、修改配置文件my.cnf
[[email protected] mysql]#vim /etc/my.cnf -------------------------------------------------- [client] port= 3308 socket= /var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql [mysqld] socket= /var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql datadir= /var/lib/data/mysql/mysql -----路径改到新的存储目录下/var/lib/data/mysql/mysql [mysqld_safe] socket=/var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql [mysql.server] socket=/var/lib/data/mysql/mysql/mysql.sock -----路径改到新的存储目录下/var/lib/data/mysql/mysql
一般只改client和mysqld就好了,其他不改好像也没啥。
4、重启mysql
[[email protected] mysql]#service mysqld stop
[[email protected] mysql]#service mysqld start
这里看到一位同仁在处理过程中遇到启动的时候无限等待的情况启用SELinux的CentOS7修改MySQL的Datadir路径发现是SELinux导致,这里如果有遇到这种状况的可以关闭它.
1、快速关闭SElinux,使用如下命令就可以: [[email protected] mysql]# /usr/sbin/setenforce 0 --立刻关闭 SELINUX [[email protected] mysql]# /usr/sbin/setenforce 1 --立刻启用 SELINUX 2、永久关闭 [[email protected] mysql]# vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled,保存后退出 # This file controls the state of SELinux on the system. # 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. SELINUX=enforcing # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted 此时获取当前selinux防火墙的安全策略仍为Enforcing,配置文件并未生效。 [[email protected] ~]# getenforce Enforcing 重启机器。 [[email protected] ~]# reboot OK了 [[email protected] ~]# /usr/sbin/sestatus SELinux status: disabled [[email protected] ~]# getenforce Disabled
以上是关于Mysql库迁移到别的分区的主要内容,如果未能解决你的问题,请参考以下文章