Linux下修改Mysql数据库存放路径

时间:2022-09-21 13:20:47

原路径:/var/lib/mysql

目标路径:/home/data/mysql

 

1、home目录下建立data目录
cd /home
mkdir data

2、停止mysql进程
service mysqld stop

3、把/var/lib/mysql整个目录保持权限复制到/home/data
cp -arp /var/lib/mysql /home/data/


4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/找到my-medium*.cnf文件,拷贝到/etc/并改名为my.cnf
命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改

socket=/var/lib/mysql/mysql.sock  为:

socket=/home/data/mysql/mysql.sock
操作如下:
vi   my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server[mysqld] 
port = 3306
#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket  = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql
搜索datadir将/var/lib/mysql修改成现在的实际存放路径:home/data/mysql
[root@test1 etc]# vi /etc/init.d/mysql
get_mysql_option mysqld datadir "/data/mysql"

最后做一个mysql.sock 链接:
ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock(需要从/home/data/mysql下复制一份过来)

7、重新启动MySQL服务
service mysqld restart

 

创建数据库,查看目标目录下是否已经存在