修改数据存放位置
# 建立新的数据目录
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;