centos5.7环境下,MySQL 5.7 修改数据库文件存储位置
1.查看数据库所在位置
方法一:
mysqladmin -uroot -pllw12345 variables | grep datadir
方法二:
mysql -uroot -pllw12345
show variables like '%datadir%';
2.关闭mysqld
systemctl stop mysqld.service
3.创建新的数据存储目录
cd /
mkdir -p /data/mysqldb
4.修改/data/mysqldb的所属用户和组
chown mysql:mysql /data/mysqldb
5.拷贝原数据库目录的内容并保留其原始属性
cp -R -p /var/lib/mysql/* /data/mysqldb/
6.修改配置文件 /etc/my.cnf 将 datadir 指向新的数据存储目录
vim /etc/my.cnf
# datadir=/var/lib/mysql
datadir=/data/mysqldb
# socket=/var/lib/mysql/mysql.sock
socket=/data/mysqldb/mysql.sock
7.启动mysqld服务
systemctl start mysqld.service
8.错误提示
(1)selinux保护
方法一:将新的数据库目录设置为与默认目录完全一样的 SELinux 设置:
chcon -R --reference=/var/lib/mysql /data/mysqldb
方法二:修改/etc/selinux/config文件
vim /etc/selinux/config
SELINUX=disabled
再次重启mysqld服务
(2)无法连接mysql服务
方法一:修改配置文件
vim /etc/my.cnf
socket=/var/lib/mysql/mysql.sock
#socket=/data/mysqldb/mysql.sock
方法二:用软链接
用软链接关联两个文件(ln -s 源文件名称 软链接文件名称)
sudo ln -s /data/mysqldb/mysql.sock /var/lib/mysql/mysql.sock