【MySQL】CentOS7下更改、移动mysql数据存储的位置(mariaDB适用)

本文详细介绍了如何将MySQL的数据存储位置从默认位置迁移到新的指定位置。步骤包括:查询当前数据存储位置、关闭所有相关服务、创建新目录、转移数据文件、修改配置文件并重启服务。

1、看一下目前mysql数据存储的位

select @@datadir;

在这里插入图片描述
从这个结果我们可以看出,当前mysql的datadir是在/var/lib/mysql 目录里的

2、关掉连接mysql的各种程序服务

不然等下mysql停了,数据打进来肯定要报错的…

3、在期望的位置创建目录(datadir的新位置)

将目录的user和group变更为mysql(老位置也是这样的)

mkdir /home/data/mysql
chown -R mysql:mysql /home/data/mysql

4、关掉mysqld服务

# mysql + centos 7/8
systemctl stop mysqld

# mysql + centos 5/6
service mysqld stop

# mariaDB + centos7/8
systemctl stop mariadb

5、将老位置目录下的东西复制到新位置下

cp -Rp /var/lib/mysql/* /home/local/data/mysql

6、修改mysql的config文件

默认情况下,mysql的config信息在/etc/my.cnf
先对当前的config文件做个备份

cp /etc/my.cnf /etc/my.cnf.ori

然后把vi my.cnf 修改成以下内容

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock

[client]:
port=3306
socket=/data/mysql/mysql.sock

在这里插入图片描述

我这里的安装方式好像是二进制安装的
所以一开始没有【client】这一块,然后就没改。
然后重新开启mysqld的服务的时候就报错了,找socket的位置报错,说找不到了(因为找的还是老位置那里)
不知道你的安装方式是怎么样的,但改成上图这样肯定是ok没问题的

7、开启mysql服务

# mysql + centos7/8
systemctl start mysqld

# mysql + centos 5/6
service mysqld start

# mariaDB + centos 7/8
systemctl start mariadb

8、验证结果

到mysql里看一下现在的datadir,已经变成新位置啦
数据库也都还在
在这里插入图片描述

‘🎉完结撒花~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值