我刚刚在我的mysql服务器上启用了远程访问。 我通过转到数据库'mysql',然后是用户表并将Host列更改为相应用户的'%'来完成此操作。这样做之后我注意到我无法在本地访问它,即当我通过SHELL登录服务器时,我无法登录。
是否无法同时拥有本地和远程访问权限?
答案 0 :(得分:3)
您需要在mysql.user
表中有一个单独的行,其host
值为'localhost',以启用本地unix套接字类型连接。
'%'
列中的值host
用于TCP协议。
此处文档中的详细信息:http://dev.mysql.com/doc/refman/5.5/en/connecting.html
mysql.user
表中的用户有三行,host
值为'localhost'
(对于unix套接字类型连接),'127.0.0.1'
用于通过TCP访问本地主机,'%'
用于从其他主机进行TCP访问。
请注意,MySQL不仅通过“用户名”识别用户,还将“用户名”和“主机”组合在一起。这些被视为不同的用户,每个用户可以拥有不同的密码和不同的权限集。