无法登录mysql,提示“rror 2002..."错误
修改过mysql默认数据存放位置后,Mysql无法启动,登录mysql时,用户名密码正确但是会提示这个错误 :ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
在/var/run/mysqld/目录下没有任何文件.
以前这个目录下可是有 mysqld.sock 和mysqld.pid的.
试过 /etc/init.d/mysql restart
但是启动mysqld服务时,会fail
权限问题,解决方法下:
1. 更改Ubuntu下MySQL数据库存储位置
在Ubuntu下安装的MySQL默认配置下的数据库文件存储位置是在/var/lib/mysql,现要把数据库存储位置转移到/mnt/wind/mysql这个位置为例,操作过程如下:
1)停止数据库进程:$sudo /etc/init.d/mysql stop
2)建新数据库目录:mkdir /mnt/wind/mysql
3)将原有数据库转移到新位置:$sudo cp –dpR /var/lib/mysql/* /mnt/wind/mysql
4)给新目录重命属性:chown mysql:mysql /mnt/wind/mysql
5)编辑MySQL配置文件:$sudo gedit /etc/mysql/my.cnf
在gedit中找到datadir这一行,将后面等于号之后的内容更改为/mnt/wind/mysql然后保存退出。
6)应用程序安全性设定:$sudo touch /etc/apparmor.d/disable/usr.sbin.mysqld
注:这一步非常关键,不然移动 /var/lib/mysql 目录后无法启动 MySQL 。
7)重启apparmor:$sudo /etc/init.d/apparmor restart
8)重启MySQL服务:$sudo /etc/init.d/mysql start
至此MySQL数据库存储位置就更改完毕了。
[ 本帖最后由 灰儿 于 2009-2-26 16:53 编辑 ]
页:
[1]