Mysql库迁移到别的分区

1、现在我们创建新的目录(如果错误没有哪个文件夹就一步一步创建下去)

[root@localhost mysql]# mkdir /var/lib/data/mysql/

2、mv或cp原始数据库数据目录文件

首先看一下当前的数据文件大小:

du -h --max-depth=1 /var/lib/mysql/ 
 [root@localhost mysql]# cp -a /var/lib/mysql  /var/lib/data/mysql/

-a:此参数的效果和同时指定”-dpR”参数相同; 
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; 
-p:保留源文件或目录的属性; 
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理; 

3、修改配置文件my.cnf

[root@localhost 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

 [root@localhost mysql]#service mysqld stop
  [root@localhost mysql]#service mysqld start

这里看到一位同仁在处理过程中遇到启动的时候无限等待的情况启用SELinux的CentOS7修改MySQL的Datadir路径发现是SELinux导致,这里如果有遇到这种状况的可以关闭它.

1、快速关闭SElinux,使用如下命令就可以:
 [root@localhost mysql]# /usr/sbin/setenforce 0 --立刻关闭 SELINUX
 [root@localhost mysql]# /usr/sbin/setenforce 1 --立刻启用 SELINUX
2、永久关闭
 [root@localhost 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,配置文件并未生效。
[root@localhost ~]# getenforce
Enforcing
重启机器。
[root@localhost ~]# reboot
OK了
[root@localhost ~]# /usr/sbin/sestatus
SELinux status:                 disabled
[root@localhost ~]# getenforce
Disabled

猜你喜欢

转载自www.cnblogs.com/huang99882008/p/9283039.html
今日推荐