mysql - 无法建立远程mysql连接
问题描述
我有一个 VM(Ubuntu 18.04 服务器)和 mysql 安装在其上并在端口 3306 上运行。我认为显示整个配置非常重要,这里是:
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
server-id = 1
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
log-bin = /var/log/mysql/mysql-bin.log
socket = /var/run/mysqld/mysqld.sock
sync_binlog = 1
binlog_format = ROW
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
bind-address = 192.168.1.91
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover-options = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
log_error = /var/log/mysql/error.log
expire_logs_days = 7
max_binlog_size = 500M
虚拟机的地址是 192.168.1.91。主机地址为 192.168.1.118。我 ssh 到虚拟机并发出以下命令:
sudo mysql -u root -p
然后我发出第一部分中显示的一系列命令。它创建了一个具有所有必要权限的新的类似管理员的用户。
现在我退出并尝试从虚拟机登录:
sudo mysql -u vScopeUserName -h 192.168.1.91 -p
有用。
如果我尝试从 vm 像这样登录:
sudo mysql -u vScopeUserName -h localhost -p
有用。
现在,如果我尝试从主机(其 ip 为 192.168.1.118)像这样登录:
sudo mysql -u vScopeUserName -h 192.168.1.91 -p
它出错了:
ERROR 1130 (HY000): Host '192.168.1.118' is not allowed to connect to this MySQL server
如果您能帮助我找出此错误背后的原因,我将不胜感激。我究竟做错了什么?!我已经在互联网上搜索了一堆东西,但我尝试的所有方法都没有奏效,我仍然遇到同样的错误。
解决方案
推荐阅读
- python - 将数据框中的每一列与每个单元格具有多个值的系列进行比较-Pandas
- postgresql - 如何在 postgresql 中找到死元组的大小?
- sql - 在 postgres 中执行的行数
- python - 在循环内向 MySQL 添加多个值
- javascript - 将邮件发送到无效的电子邮件地址后,Nodemailer 的 SendMail 无法正常工作
- php - Laravel 8复制每一页重新加载
- php - Composer 过时的命令不显示最新版本
- mysql - 由于许多连接错误,主机“主机名”被阻止;使用 'mysqladmin flush-hosts 解除阻塞
- r - 如何使用 dplyr 在 R 中重新编码多项选择答案?
- spring-boot - 如何在 Spring Boot 中使用 Apache James 创建邮件服务器?