gpt4 book ai didi

mysql - 无法通过ssh连接到mysql

转载 作者:行者123 更新时间:2023-11-29 05:08:18 26 4
gpt4 key购买 nike

我正在尝试连接到在 CentOS (v 7.3.1611) 机器上的端口 3306 上运行的 MariaDB 数据库 (v 5.5.52)出于安全原因,服务器的端口 3306 已设置防火墙(telnet mysite.com 3306 超时)

因为我可以通过配置的连接 ssh 进入服务器:
ssh 项目

然后连接到数据库:
mysql -u 远程 -p
使用员工;

我希望 Sequel Pro 中的这种连接能够让我从笔记本电脑连接:

enter image description here

但我收到此错误消息:

Unable to connect to host 127.0.0.1, or the request timed out. MySQL said: Lost connection to MySQL server at 'reading initial communication packet', system error: 0

用户有这些授权:
显示“远程”@“%”的资助;
+------------------------------------------------ ----------------------------------+
|为 remote@% | 拨款
+------------------------------------------------ ----------------------------------+
| GRANT USAGE ON *.* TO 'remote'@'%' IDENTIFIED BY PASSWORD 'redacted' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON `staff`.* TO 'remote'@'%' |
+------------------------------------------------ ----------------------------------+

我在 my.cnf 的 [mysqld] 部分有这个
绑定(bind)地址 = *

/var/log/mariadb/mariadb.log 中没有记录错误

最佳答案

如果您使用的是 SSH 连接,则无需定义远程用户 @'%'。您也不需要绑定(bind) 127.0.0.1 以外的任何接口(interface),因为您实际上是从本地计算机进行连接。

无论如何,在您的情况下,bind-address 应该是 127.0.0.(用于从本地主机连接)。要让 MySQL 绑定(bind)到所有接口(interface),您需要 0.0.0.0(但同样,如果您使用 ssh,则不需要)。

还要确保 MySQL 配置为使用 TCP 而不是本地 unix 套接字。尝试通过 ssh 进入机器并运行 mysql -h 127.0.0.1 ...。如果这不起作用并且 mysql -h localhost 起作用,则服务器设置为使用 unix 套接字。

必须设置远程 sshd 守护程序,以便它允许端口转发。将以下内容添加到 /etc/ssh/sshd_config:

AllowTcpForwarding yes

关于mysql - 无法通过ssh连接到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com