Heim >Datenbank >MySQL-Tutorial >mysql更改数据目录步骤与错误(ERROR2002(HY000))处理方法_MySQL

mysql更改数据目录步骤与错误(ERROR2002(HY000))处理方法_MySQL

WBOY
WBOYOriginal
2016-06-01 13:04:101070Durchsuche

1,关闭mysql服务:

service mysqld stop

2,创建新建的目录
mkdir -p data

3,把以前的目录转移到新的数据目录

mv /var/lib/mysql/ /data/

4,编辑my.cnf

vi /etc/my.cnf

修改其中的datadir和socket到新的路径

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

5、修改MySQL启动脚本/etc/init.d/mysql
最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:/data/mysql

本以为修改完启动mysql服务之后就没问题了。

service mysqld start
/etc/init.d/mysql start
但是尽管启动服务没有问题,但是通过mysql客户端连接的时候却报错:

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

提示说无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器,也就是说对于mysql程序来说,尽管我把socket文件从/var/lib/mysql/mysql.sock转移到了/data/mysql/mysql.sock我在my.cnf里指定了mysqld知道了,但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,找不着,就不知道从哪里启动了。

解决办法一:

ln –s /data/mysql/mysql.sock /var/lib/mysql/

做完软连接,重启mysql服务,再次通过mysql程序连接,没有问题,可以连上了。

[root@test lib]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.77 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

那说明就是这里的问题了。

方法二:其实不做软链接也是可以的,只需要在/etc/my.cnf里添加[mysql]字段指定socket的位置到我们转移后的位置即可

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

方法三:修改权限

chown -R mysql:mysql /data/mysql/
chmod 660 /data/mysql/test/*

以上几种方法经过试验还是切实可行的,希望对大家更改目录有帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn