在CentOS下,MySQL默认的数据文档存储目录为/var/lib/mysql 假如要把MySQL目录移到/data02/mysql下需要进行下面几步(/data02/mysql是本机的非系统盘目录):
1、在data02目录下建mysql文件夹
cd /data02/
mkdir mysql
chomd 777 -R mysql #给mysql文件赋权限,允许其读写
2、关闭MySQL服务进程
service mysqld stop
3、把整个/var/lib/mysql移至/data02/mysql
cp -afir /var/lib/mysql /data02/mysql/
#将原/var/lib/mysql文件进行备份
mv /var/lib/mysql /var/lib/mysql.bak #重命名进行备份
mkdir /var/lib/mysql #重建/var/lib/中的mysql文件夹用于建链接
4、找到my.cnf配置文档
假如/etc/目录下没有my.cnf配置文档,请到/usr/share/mysql/下找到*.cnf文档,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、修改MySql的配置文档/etc/my.cnf配置文档
为确保MySQL能够正常工作,需要指明mysql.sock文档的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/data02/mysql/mysql/mysql.sock 。操作如下:
vim /etc/my.cnf #用vim编辑工具编辑/etc/my.cnf文件找到下列项对其进行修改
#datadir=/var/lib/mysql #用“#”号注销默认值
datadir=/data02/mysql/mysql
#sock=/var/lib/mysql/mysql.sock #同上,用#号注销默认值
sock=/data02/mysql/mysql/mysql.sock
6、修改MySQL的启动脚本/etc/init.d/mysqld
将/etc/init.d/mysqld文件中的datadir项改成/data02/mysql/mysql
vim /etc/init.d/mysqld #同上用vim编辑工具编辑/etc/init.d/mysqld文件找到下列项对其进行修改
#get_mysql_option mysqld datadir "/var/lib/mysql" #注释掉
get_mysql_option mysqld datadit "/data02/mysql/mysql"
PS:若MySQL由yum命令安装需修改下面文件
修改/usr/lib64/mysql/mysql_config文件
vim /usr/lib64/mysql/mysql_config
#ldata='/var/lib/mysql'
ldata='/data02/mysql/mysql/'
#socket='/var/lib/mysql/mysql.sock'
socket='/data02/mysql/mysql/mysql.sock'
修改/usr/bin/mysqld_safe
vim /usr/bin/mysql_safe
# DATADIR=/var/lib/mysql
DATADIR=/data02/mysql/mysql
7、建立/data02/mysql/mysql/mysql.sock对/var/lib/mysql/mysql.sock的链接
ln -s /data02/mysql/mysql/mysql.sock /var/lib/mysql/mysql.sock
#注:若没有这步,在mysql命令登录数据库时会报错误2002
8.启动MySQL服务
service mysqld start
参考文献
1、http://blog.csdn.net/levy_cui/article/details/52535678
2、http://qtlinux.blog.51cto.com/3052744/1353944