mysql修改数据文件路径 及 报错处理

1、创建新的数据存放目录

# mkdir -p /data/

2、关闭mysql服务

# systemctl stop mysqld

3、拷贝原来数据目录到新的目录

cp -a /var/lib/mysql /data

//cp -a 保留原文件属性的前提下复制文件 

4、备份my.cnf

# cp /etc/my.cnf /etc/my.cnf.bak

5、修改配置文件

vi /etc/my.cnf

修改如下:
[mysqld]下面修改配置

#datadir=/var/lib/mysql
datadir=/data/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/data/mysql/mysql.sock

在[mysql]下面追加配置

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

6、重启mysql服务

# systemctl start mysqld

 7、确认正常使用后,可删除之前旧的数据存放目录

# rm -rf /var/lib/mysql

----------

附:

如果没有配置如下信息

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

则本地登录是会报错

[root@localhost log]# mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

注:没有sock文件不会影响外部连接

 
原文地址:https://www.cnblogs.com/connected/p/14037833.html