更改MySQL数据文件存储目录的方法

发布时间:2020-04-30编辑:脚本学堂
更改MySQL数据文件存储目录的方法

mysql默认的数据文件存储目录为/var/lib/mysql。
本文介绍如何把目录移到类似目录/home/data下的方法,供大家学习参考。

1、home目录下建立data目录
 

复制代码 代码如下:
cd /home
mkdir data

2、停止mysql进程
 

复制代码 代码如下:
/usr/local/mysql/bin/mysqladmin -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/data
 

复制代码 代码如下:
cp -ra /var/lib/mysql /home/data/

这样就把MySQL的数据文件带权限的复制到了/home/data/mysql下

4、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。
修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/data/mysql/mysql.sock 。操作如下:
 vim  /etc/my.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)
 

复制代码 代码如下:
 # The MySQL server
  [mysqld]
  port = 3306
 #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
  socket  = /home/data/mysql/mysql.sock (加上此行)

如果这里是这样写着:
 

复制代码 代码如下:
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64

则无需更改,保持默认即可。

5、修改MySQL启动脚本 /usr/local/mysql/bin/mysqld_safe
 

复制代码 代码如下:
cp -ra /usr/local/mysql/bin/mysqld_safe /usr/local/mysql/bin/mysqld_safe.bak
[root@test1 etc]# vim /usr/local/mysql/bin/mysqld_safe
#DATADIR=/var/lib/mysql(注释此行)
DATADIR=/home/data/mysql (加上此行)

保存退出。

echo $PATH  查看一下mysql的命令已经那个目录下(通过变量执行方便)。
cp -ra /usr/local/mysql/bin/mysqld_safe /usr/local/sbin/ 
然后复制修改过的启动脚本文件到变量目录下,覆盖。

6、重新启动MySQL服务
mysqld_safe &
或用reboot命令重启linux

注意:如果正常启动则说明成功了,否则对照前面的几步再检查一下。

7、权限设置

复制代码 代码如下:
chown -R mysql.mysql  /home/data
chmod -R 777 /home/data