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

重新登录即可

相关推荐
00后程序员张19 小时前
Android证书绑定抓包失败?Android SSL Pinning绕过实战指南
android·网络协议·计算机网络·网络安全·adb·https·ssl
九皇叔叔3 天前
MySQL ORDER BY 性能优化详解:Using filesort、联合索引、ASC/DESC 与覆盖索引
android·adb
firstacui4 天前
Mysql调优
android·mysql·adb
醉颜凉4 天前
MySQL 8 忘记 root 密码?这两种方法帮你轻松解决
数据库·mysql·adb
2601_962063235 天前
【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
spring boot·spring·adb
小成很成6 天前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
2501_916007477 天前
免费抓包工具 Windows 和 Mac 怎么选?根据平台来选择工具
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_916008898 天前
iOS App 请求地址查看,不用配置看到 App 调了哪些接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
码云数智-园园9 天前
PHP 性能优化实战:从 3s 到 300ms,我是怎么优化一个接口的?
android·adb