一、环境
系统:CentOS Stream release 9
mysql版本:mysql Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL)
二、修改mysql的数据库,存储路径
查看目录数据存储的位置
cat /etc/my.cnf
操作
1、新建存放的目录,拷贝原数据库内容到新建目录
mkdir -p /www/server/mysql
# 关掉mysql服务
systemclt stop mysqld
# 迁移数据
mv /var/lib/mysql/* /www/server/mysql
# 目录授权给mysql用户组
chown -R mysql:mysql /www/server/mysql
# 防止权限不够
chmod 750 /www/server/mysql
关闭selinux
# 关闭selinux
setenforce 0
chcon -R -t mysqld_db_t /www/server/mysql
永久关闭
vi /etc/selinux/config
设置 SELINUX=disabled,即可
2、修改mysql配置文件
# 修改配置文件,修改datadir socket
vim /ect/my.cnf
my.cnf内容如下
[mysqld]
port=3306
user=mysql
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
datadir=/www/server/mysql
socket=/www/server/mysql/mysql.sock
log-error=/www/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3、重新初始化配置内容
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
4、重启mysql服务
systemctl start mysqld
5、用户登录
用户登录mysql -uroot -p 输入密码,提示错误:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
mysql.sock是服务启动时候生成的文件,建立软链接
ln -s /www/server/mysql/mysql.sock /var/lib/mysql/mysql.sock
重新登录即可