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
我查看了一下官方论坛,发现有人写的解决办法:
打开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)
为了解决这个问题又找到另外一篇文章:
没发现是怎么回事,同时又发现了另外一个错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个问题解决办法有篇文章:
比较有用的是:
由于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,遇到好多问题!
唉,路漫漫其修远兮,吾将上下而求索!