问题描述
我有一个在 ubuntu 服务器上远程运行的 MysqL 数据库。我在 MysqL 数据库上创建了两个用户。他们拥有的特权如下。使用 user1 我可以使用 MysqL workbench 远程登录并查询数据库,但使用 user2 我不能。如果我通过 ssh 连接到服务器,那么我就可以使用 user2 登录和查询数据库。有没有人看到问题可能是什么,你能提出解决方案吗?
代码:
MysqL> show grants for 'user2'@'0.0.0.0';
+--------------------------------------------------------------------------+
| Grants for [email protected] |
+--------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user2'@'0.0.0.0' |
| GRANT ALL PRIVILEGES ON `stocks`.* TO 'user2'@'0.0.0.0' WITH GRANT OPTION |
|GRANT ALL PRIVILEGES ON `sandBox`.* TO 'user2'@'0.0.0.0' WITH GRANT OPTION|
+--------------------------------------------------------------------------+
2 rows in set (0.00 sec)
MysqL> show grants for 'user1'@'0.0.0.0'
-> ;
+---------------------------------------------------------------------------------+
| Grants for [email protected] |
+---------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'0.0.0.0' |
| GRANT ALL PRIVILEGES ON `sandBox`.* TO 'user1'@'0.0.0.0' WITH GRANT OPTION |
+---------------------------------------------------------------------------------+
更新:
检查 ubuntu 服务器上的防火墙
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
3306 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
3306 (v6) ALLOW Anywhere (v6)
我也在/etc/MysqL/MysqL.conf.d/MysqLd.cnf中注释掉了“bind-address”并重新启动了MysqL。
我仍然无法与用户 2 进行远程连接,但用户 1 仍然可以从 MysqLworkbench 正常连接。当ssh进入服务器时,我可以使用user2登录MysqL。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)