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