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,已经变成新位置啦
数据库也都还在
‘🎉完结撒花~