mysql8 修改数据存储位置

1、停止MySQL服务

systemctl stop mysqld

2、复制现有的数据库目录到新的位置

默认情况下,MySQL的数据库目录位于/var/lib/mysql。假设您想将数据库目录更改为/home/mysql,您可以使用以下命令来复制数据库目录

cp -R /var/lib/mysql /home/mysql

3、修改MYSQL配置文件 /etc/my.cnf

#更换datadir目录
#datadir=/var/lib/mysql
datadir=/home/mysql/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

4、更新数据库目录的权限。使用以下命令更新新的数据库目录的权限

chown -R mysql:mysql /home/mysql/mysql/

5、启动MySQL服务。使用以下命令启动MySQL服务:

systemctl start mysqld

SELinux错误

如果出现这样的错误

SELinux is preventing /usr/sbin/mysqld from write access on the directory mysql

检查对比一下原目录和新目录的selinux权限

ls -Zl /var/lib/mysql

-rw-r-----. 1 system_u:object_r:mysqld_db_t:s0 mysql mysql 56 Aug 10 2022 auto.cnf

ls -Zl /home/mysql/mysql

-rw-r-----. 1 unconfined_u:object_r:home_root_t:s0 root root 56 Sep 1 15:54 auto.cnf

用下面的命令将原目录的selinux权限赋给新的目录

 chcon -R --reference=/var/lib/mysql /home/mysql/mysql

你可能感兴趣的:(数据库,数据库,运维)