Centos7更改MySQL5.7数据存储目录

修改数据存放位置

# 建立新的数据目录
mkdir /var/data/mysql
# 关闭服务
systemctl stop mysqld.service

# 迁移数据目录
cp -r /var/lib/mysql/* /var/data/mysql

# 设置文件夹的属主和权限


chown -R mysql /var/data/mysql
chgrp -R mysql /var/data/mysql
chmod -R g+rw /var/data/mysql

#修改配置文件/etc/my.cnf

[client]
port=3306
socket=/var/data/mysql/mysql.sock

[mysqld]
#datadir=/var/lib/mysql
datadir=/var/data/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/var/data/mysql/mysql.sock

#SELINUX 设置

vim /etc/selinux/config
SELINUX=disabled

#启动MySQL服务
systemctl start mysqld

# 查看错误日志
tail -n 1000 /var/log/mysqld.log -f


修改目录后一直无法启动权限不足如果放到/root下 是因为新的位置在root下面,其他的mysql用户没有权限读写

# 允许root目录其他用户读写
chmod 0755 /root 

修改防火墙

1 将MySQL服务加入到防火墙列表

firewall-cmd --zone=public --permanent --add-service=mysql

或者将端口号加入

firewall-cmd --add-port=3306/tcp --permanent

2 确定mysql用户权限

select host,user from mysql.user;

+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+

设置权限

GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root123456' WITH GRANT OPTION;

#刷新

flush privileges;

你可能感兴趣的:(Centos7更改MySQL5.7数据存储目录)