问题:远程连接服务器的数据库
$ mysql -hserverip -uuser -ppassword
ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)
原因:mysql.user表中没有设置远程连接
$ mysql -uroot -ppassword #用root用户在server上登录
mysql> select host, user, password from mysql.user; #查看mysql数据库user表中的信息
会发现没有远程机器的host, 当然也没有user
解决方法:
mysql> grant select, update, insert, delete on *.* to user@clientip identified by "password";
这样在远程客户端clientip就可以访问数据库了
$ mysql -hserverip -uuser -ppassword
附加:
如果想让所有的远程机器都可以用user用户访问数据库可以在服务器数据库中做如下设置
mysql> grant all on *.* to user@"%" identified by "password";