0

我刚刚在我的 mysql 服务器上启用了远程访问。我通过转到数据库 'mysql' ,然后是用户表并将 Host 列更改为相应用户的 '%' 来做到这一点。完成此操作后,我注意到我无法在本地访问它,即当我通过 SHELL 登录到服务器时,我无法登录。

不能同时拥有本地和远程访问权限吗?

4

1 回答 1

4

您需要在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 不仅通过“用户名”识别用户,还通过“用户名”和“主机”的组合来识别用户。这些被认为是不同的用户,他们每个人都可以有不同的密码和不同的权限集。

于 2012-12-10T23:53:18.770 回答