我正在尝试通过服务器上的localhost java应用程序与服务器上的数据库连接。如果我使用远程连接,则一切正常,但是一旦程序在带有数据库的服务器上运行,我将无法连接。
我正在使用Ubuntu 18.04服务器,并在ufw设置中打开并检查了标准3306端口。
我使用以下命令为连接设置了Mysql用户
CREATE USER 'MYUSER'@'%' IDENTIFIED BY 'MYPASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'MYUSER'@'%';
我通过SELECT用户(主机FROM mysql.user)检查了它们;并得到以下结果:
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| MYUSER | % |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
8 rows in set (0.00 sec)
也在我的cnf文件中我将其注释掉了
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 0.0.0.0
我不确定如何检查实际错误是什么,但是我猜我的设置中有一些错误的权限。有人知道我在做错什么,或者如何找出更多细节吗?