我刚刚在我的 mysql 服务器上启用了远程访问。我通过转到数据库 'mysql' ,然后是用户表并将 Host 列更改为相应用户的 '%' 来做到这一点。完成此操作后,我注意到我无法在本地访问它,即当我通过 SHELL 登录到服务器时,我无法登录。
不能同时拥有本地和远程访问权限吗?
我刚刚在我的 mysql 服务器上启用了远程访问。我通过转到数据库 'mysql' ,然后是用户表并将 Host 列更改为相应用户的 '%' 来做到这一点。完成此操作后,我注意到我无法在本地访问它,即当我通过 SHELL 登录到服务器时,我无法登录。
不能同时拥有本地和远程访问权限吗?
您需要在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 不仅通过“用户名”识别用户,还通过“用户名”和“主机”的组合来识别用户。这些被认为是不同的用户,他们每个人都可以有不同的密码和不同的权限集。