Linux下MySQL如何修改数据库目录
1、停止MySQL服务
1 | [root@MySQL /]# service mysqld stop |
2、把/var/lib/mysql整个目录复制到/data/mysql,并将该目录权限属主修改为mysql
1 | [root@MySQL /]# cp -a /var/lib/mysql /data/mysql |
3、修改MySQL相关配置文件
a、/etc/my.cnf
1 | # The MySQL server |
b、/etc/init.d/mysqld
1 | #get_mysql_option mysqld datadir "/var/lib/mysql" |
c、/usr/bin/mysqld_safe
1 | #DATADIR=/var/lib/mysql注释此行 |
d、/usr/lib64/mysql/mysql_config
1 | #ldata='/var/lib/mysql' |
4.启动数据库
1 | [root@MySQL /]# service mysqld start |
修改MySQL目录后其他异常问题:
1、MySQL启动失败,查看/var/log/mysqld.log,发现Can’t create test file /xxx/mysql/centos5.lower-test没有权限创建或读取文件。因为SeLinux阻止比如程序之类的访问他们不应该访问的文件和网络端口。
a、关闭SeLinux。
1 | [root@MySQL /]# setenforce 0 |
b、使用chcon修改对象(文件)的安全上下文
1 | [root@MySQL /]# chcon -R -t mysqld_db_t /data/mysql |
2、MySQL连接时报错Can’t connect to local MySQL server through socket。修改MySQL配置文件/etc/my.cnf。
1 | [root@MySQL /]# vi /etc/my.cnf |