find / -name mysql.sock
用Navicat for mysql 连接数据库测试下连接 如果出现 1130 错误
错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
我查看了一下官方论坛,发现有人写的解决办法:
http://www.wdlinux.cn/bbs/viewthread.php?tid=4231&highlight=mysql%2B1130
打开mysql的bin目录:
cd /www/wdlinux/mysql-5.5.27/bin
在执行下登陆命令
mysql -u root -p
弹出Enter password:输入您的数据库密码
执行下命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
在执行下
flush privileges;
这个命令是刷新一下权限,不用重启
后来发现出现:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
为了解决这个问题又找到另外一篇文章:
http://www.cnblogs.com/khler/archive/2011/02/10/1950819.html
没发现是怎么回事,同时又发现了另外一个错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个问题解决办法有篇文章:
http://blog.csdn.net/wyzxg/article/details/4720041
比较有用的是:
由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错
[root@localhost ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
后来按他的方法操作的,但是总是提示找不到.sock的那个文件.搞了一天了,很烦的!
之前操作没提示这个的,想了想可能是我把mysql关了才这样的,所以又开启mysql,但是1045的错误又出现了,突然灵光一现,发现.sock这个文件的问题!
先找出.sock文件的位置:
find / -name mysql.sock
找到了.sock的文件: /var/bin/mysql/mysql.sock
然后打开my.cnf
vi /etc/my.cnf
修改:
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
把以上的两个socket = ...里面的/tmp/mysql.sock 改成 /var/bin/mysql/mysql.sock
然后再试了一下navicat 居然连上了,感动的痛哭流涕!
本来菜鸟一只,前几天刚买了个阿里云ECS,按照教程安装了wdcp操作面版,从没接触过linux,遇到好多问题!
唉,路漫漫其修远兮,吾将上下而求索!