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库迁移到别的分区的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库跨分区迁移

linux服务器系统日志如何通过命令压缩移到别的磁盘

mysql数据库迁移

kettle庖丁解牛第28篇之oracle数据迁移到mysql库

Git-仓库迁移

multi-digit街景识别代码到中文车牌识别的迁移