能用phpmyadmin连mysql但用客户端连不上mysql的解决方法

之前以为是mysql的配置文件my.cnf 中的bind-address = 127.0.0.1, 但是查看了一下,该行已经被注释掉了。于是,去看了下phpmyadmin的配置文件 /etc/phpmyadmin/config.inc.php 和 /var/lib/phpmyadmin/config.inc.php, 但是仍然没有正确地解决。然后,找到了http://stackoverflow.com/questions/19101243/error-1130-hy000-host-is-not-allowed-to-connect-to-this-mysql-server,发现了问题的原因,是在mysql的自己的表里,需要添加一个属于本机host的用户。

报错是:

能用phpmyadmin连mysql但用客户端连不上mysql的解决方法_第1张图片

这是一个host错误,先看下:

SELECT host FROM mysql.user WHERE User = 'root';
发现host里面没有本机的host,即:myasus.lan, 可以添加一条,但我为省力直接把host为raspberrypi改成了myasus.lan:

UPDATE `mysql`.`user` SET `Host` = 'myasus.lan' WHERE `user`.`Host` = 'raspberrypi' AND `user`.`User` = 'root';
然后重启mysql:  sudo service mysql restart

然后咱们再接着试试用heidisql去连一下树莓派上的mysql(记得之前只能用:http://10.1.1.236/phpmyadmin/ 去连哦),哇,连上了:

能用phpmyadmin连mysql但用客户端连不上mysql的解决方法_第2张图片

对了, 如果要用添加用户到user表的话,可能要记得这样:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;
EOF



你可能感兴趣的:(mysql)