linux环境下迁移mysql的data文件夹路径
2016-04-18 11:40
881 查看
转载路径:http://jingyan.baidu.com/article/d7130635006f2c13fcf47577.html
MySQL默认的数据文件存储目录为/var/lib/mysql(在Navicat下运行命令查看:show variables like '%datadir%';);
有些时候由于业务量增大导致存储空间不足,我们修改MySQL的目录。
MySQL
1
1、
创建你要转移到的新目录
cd /mnt
mkdir mysql
2、
修改文件夹的宿主为MySQL chown -R mysql:mysql /mnt/mysql
3、
停止MySQL的服务 service mysql stop 或者 /etc/init.d/mysqld stop
4、
拷贝MySQ的文件夹到新目录 cp -rf /var/lib/mysql/* /mnt/mysql/
5、
修改MySQ的配置文件,vi /etc/my.cnf 按如图所示修改为新路径,如果你的配置文件里没有这两行,手动添加到[mysqld]下方
[mysqld]
datadir=/mnt/mysql
socket=/mnt/mysql/mysql.socket
6、
修改启动文件 vi /etc/init.d/mysqld 将datadir后面修改为你的新路径
get mysql_potion_mysqld datadir"/mnt/mysql"
7、
此时,重启MySQL服务,service mysqld start 或者 /etc/init.d/mysqld start,至此你的MySQL的已经更换为你的新路径了。
注意事项
更换目录后,你的MySQL如果无法正常启动,请具体参照/var/log/mysqld.log日志进行排查
可能出现的问题:
120609 11:31:31 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120609 11:35:12 mysqld_safe Starting mysqld daemon with databases from /mnt/hgfs/mysql_data
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
/usr/libexec/mysqld: Can't change dir to '/mnt/hgfs/mysql_data/' (Errcode: 13)
120609 11:35:13 [ERROR] Aborting
120609 11:35:13 [Note] /usr/libexec/mysqld: Shutdown complete
120609 11:35:13 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
问题原因:
selinux的原因,设置为permissive模式之后正常启动mysqld。
[root@data selinux]# getenforce
Enforcing
[root@data selinux]# setenforce 0
[root@data selinux]# getenforce
Permissive
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
MySQL默认的数据文件存储目录为/var/lib/mysql(在Navicat下运行命令查看:show variables like '%datadir%';);
有些时候由于业务量增大导致存储空间不足,我们修改MySQL的目录。
工具/原料
MySQL
方法/步骤
11、
创建你要转移到的新目录
cd /mnt
mkdir mysql
2、
修改文件夹的宿主为MySQL chown -R mysql:mysql /mnt/mysql
3、
停止MySQL的服务 service mysql stop 或者 /etc/init.d/mysqld stop
4、
拷贝MySQ的文件夹到新目录 cp -rf /var/lib/mysql/* /mnt/mysql/
5、
修改MySQ的配置文件,vi /etc/my.cnf 按如图所示修改为新路径,如果你的配置文件里没有这两行,手动添加到[mysqld]下方
[mysqld]
datadir=/mnt/mysql
socket=/mnt/mysql/mysql.socket
6、
修改启动文件 vi /etc/init.d/mysqld 将datadir后面修改为你的新路径
get mysql_potion_mysqld datadir"/mnt/mysql"
7、
此时,重启MySQL服务,service mysqld start 或者 /etc/init.d/mysqld start,至此你的MySQL的已经更换为你的新路径了。
注意事项
更换目录后,你的MySQL如果无法正常启动,请具体参照/var/log/mysqld.log日志进行排查
可能出现的问题:
120609 11:31:31 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120609 11:35:12 mysqld_safe Starting mysqld daemon with databases from /mnt/hgfs/mysql_data
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
/usr/libexec/mysqld: Can't change dir to '/mnt/hgfs/mysql_data/' (Errcode: 13)
120609 11:35:13 [ERROR] Aborting
120609 11:35:13 [Note] /usr/libexec/mysqld: Shutdown complete
120609 11:35:13 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
问题原因:
selinux的原因,设置为permissive模式之后正常启动mysqld。
[root@data selinux]# getenforce
Enforcing
[root@data selinux]# setenforce 0
[root@data selinux]# getenforce
Permissive
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
相关文章推荐
- Ubuntu Linux内核编译步骤
- CentOS下MySQL忘记root密码解决方法【转载】
- 盘点linux系统中的12条性能调优命令。
- openresty--centos7下开发环境安装
- Linux 查看端口
- Linux 常用基本命令
- ORA-01031: insufficient privileges 解决方法(linux)
- Linux ls 命令
- Linux系统中ln命令创建软链接与硬链接的方法
- centos 常见软件安装
- 《循序渐进Linux》第二版纠错信息汇总,持续更新(2016年4月18日)
- 《循序渐进Linux》第二版纠错信息汇总,持续更新(2016年4月18日)
- Linux学习-杂
- 关于Linux下的写时复制
- Linux which whereis locate find的区别
- Linux学习-vi/vim常用操作
- Linux学习-常见压缩/解压缩及打包命令
- Linux系统的硬件设备驱动的底层结构讲解
- Linux学习-基础命令的操作
- Linux下打包压缩war,解压war和jar命令