mysql 更改默认数据目录

Posted adolfmc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 更改默认数据目录相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/chenny7/p/3642363.html

 

本文主要介绍在CentOS下通过yum命令安装MySQL之后,如何移动默认数据目录到指定位置。

 

安装mysql

yum -y install mysql-server mysql-client

 

Mysql 安装之后默认的数据文件存储目录为/var/lib/mysql。

假如要把目录移到/home/data下需要进行下面几步:

 

1、home目录下建立data目录

cd /home

mkdir data

 

2、把MySQL服务进程停掉:

service mysqld stop

 

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

mv /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

然后再次创建一个新的空目录,并制作一个软连接到新的sock路径:

mkdir /var/lib/mysql

ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

 

4、vim /etc/my.cnf

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf。

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改

datadir=/home/data/mysql

socket=/home/data/mysql/mysql.sock 

 

5、vim /etc/init.d/mysqld

datadir=/home/data/mysql

如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;

 

6、vim /usr/lib64/mysql/mysql_config

socket=\'/home/data/mysql/mysql.sock\'

ldata=\'/home/data/mysql\'

 

7、重新启动MySQL服务

service mysqld start

 

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

另外还要注意目录的属主和权限,代码如下:

chown -R mysql:mysql /home/data/mysql/

chmod 700 /home/data/mysql/test/

chmod 660 /home/data/mysql/test/*

 

 

最后,查看日志/var/log/mysqld.log,如果发现Can\'t create test file /xxx/mysql/centos5.lower-test

这里是因为没有权限创建或读取文件。

解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 service mysqld start 发现OK了。

另外一个办法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysql

以上是关于mysql 更改默认数据目录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Vs Code 中更改默认自动选择的用户片段行为

Kivy - 更改 FileChooser 默认位置

MySQL更改数据库数据存储目录

MySQL更改数据库数据存储目录

MySQL更改数据库数据存储目录

lnmp更改网站文件和MySQL数据库的存放目录