我该如何逐步检查问题出在哪里?我想检查 mysql 的默认端口。我还想检查其他内容。解决这个问题的步骤是什么?
问题情况
- mysqld 正在我的 Ubuntu 16.04LTS 上运行。这是我的远程服务器。
- 几个月前,我在我的 ubuntu 服务器上安装了 mysql,并且我成功地通过 MysqlWorkbench 工具从远程 Window-OS PC 访问 mysql。
- 但是现在不行了。我重新安装了mysql,但是现在还是有问题。
或许...
- 我认为这是一个简单的连接问题。
- 我想检查 ssh 连接或者类似的东西。
- 我希望你们告诉我如何解决这个问题。
我收到此错误:
我已授予 root 从任何 IP 访问的所有权限。
答案1
如果您已授予所有权限,那么您需要执行此操作。
要远程访问,对于在 Ubuntu 16.04 上运行的 mysql 服务器,修改文件50-server.cnf
。(在早期版本中为/etc/mysql/my.cnf
。)
并注释掉行skip-external-locking
和bind-address = 127.0.0.1
。
$ sudo gedit /etc/mysql/mariadb.conf.d/50-server.cnf
#skip-external-locking
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
或者你也可以只为你的 ip 设置 bind-addressbind-address=youriip
bind-address
告诉 MySQL 监听哪些接口skip-external-locking
:根本不监听 TCP/IP 连接。此选项适用于仅允许本地请求的系统。要允许远程连接,请注释掉此行。
答案2
日志会显示您需要在实际运行 mysql 的服务器上创建新用户“用户名”@“your_desktop_hostname”或“用户名”@“your_ISP_IP”。根据日志条目,您需要添加用户。