centos9 mysql8修改数据库的存储路径

一、环境

系统:CentOS Stream release 9

mysql版本:mysql Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL)

二、修改mysql的数据库,存储路径

查看目录数据存储的位置

bash 复制代码
 cat /etc/my.cnf

操作

1、新建存放的目录,拷贝原数据库内容到新建目录

bash 复制代码
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

bash 复制代码
# 关闭selinux
setenforce 0

chcon -R -t mysqld_db_t /www/server/mysql

永久关闭

vi /etc/selinux/config

设置 SELINUX=disabled,即可

2、修改mysql配置文件

bash 复制代码
# 修改配置文件,修改datadir socket
vim /ect/my.cnf

my.cnf内容如下

bash 复制代码
[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、重新初始化配置内容

bash 复制代码
mysqld --defaults-file=/etc/my.cnf  --initialize --user=mysql

4、重启mysql服务

bash 复制代码
systemctl start mysqld

5、用户登录

用户登录mysql -uroot -p 输入密码,提示错误:

bash 复制代码
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

mysql.sock是服务启动时候生成的文件,建立软链接

bash 复制代码
ln -s /www/server/mysql/mysql.sock /var/lib/mysql/mysql.sock

重新登录即可

相关推荐
2501_915909061 天前
抓包工具断点拦截是什么?如何半路拦截修改 HTTP 请求
网络协议·计算机网络·网络安全·adb·https·udp
misty youth3 天前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
for_ever_love__4 天前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
yeflx5 天前
Ubuntu22.04安装Mysql Workbench
数据库·mysql·adb
夜雪一千5 天前
MySQL 自增 ID 的底层原理与坑点
android·mysql·adb
Dxy12393102166 天前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
远方 hi6 天前
MySQL 管理
adb
夜雪一千7 天前
MySQL 删除 JSON 类型的数据实战
mysql·adb·json