为什么 Mariadb 在通过 PuTTY 或通过 R 访问时表现不同?

问题描述 投票:0回答:1

改写之前的问题。我试图理解为什么我可以通过 PuTTY 上的 SSH 访问 Mariadb,但不能通过 R 访问 Mariadb。我使用的是 Windows 11 v. 22H2;服务器由 cpanel 托管。

通过 PuTTY 打开连接,我可以使用登录 Mariadb

mysql -u USER -p;

从那里我可以

show databases;
并执行其他 SQL 查询。

但是,在 R 中通过 SSH 连接后,我无法打开与 Mariadb 的连接。在 R 中,这失败了:

mysqlconnection = dbConnect(RMySQL::MySQL(),
                            host='localhost',
                            user='USER',
                            password='PW')

“无法连接到服务器”或“主机不允许连接到此 MariaDB 服务器)

注意: 我正在联系合适的人以便将用户添加为 描述于 主机 'xxx.xx.xxx.xxx' 不允许连接到此 MySQL 服务器 ...但我什至不明白为什么我需要这样做,因为它有效 在 PuTTY 中,使用完全相同的凭据。

我也尝试使用

进行连接
ssh_exec_wait(ssh_connection, command = 'mysql -u USER -p' )

最坏的情况R崩溃;最好的情况是控制台提示输入密码,但我不知道如何输入它(是的,我尝试在控制台中输入密码并按 Enter 键。没有执行任何操作。)我收到 R 正在响应 OpenSSH 的 keepalive 的消息。

消息全文:

channel_open: Creating a channel 43 with 64000 window and 32768 max packet
ssh_packet_global_request: Received SSH_MSG_GLOBAL_REQUEST packet
ssh_packet_global_request: UNKNOWN SSH_MSG_GLOBAL_REQUEST [email protected], want_reply = 0
ssh_packet_global_request: Invalid SSH_MSG_GLOBAL_REQUEST packet
ssh_packet_ignore_callback: Received SSH_MSG_DEBUG packet
ssh_packet_channel_open_conf: Received a CHANNEL_OPEN_CONFIRMATION for channel 43:0
ssh_packet_channel_open_conf: Remote window : 0, maxpacket : 32768
channel_rcv_change_window: Adding 2097152 bytes to channel (43:0) (from 0 bytes)
channel_request: Channel request exec success
grow_window: growing window (channel 43:0) to 1280000 bytes
Enter password: channel_rcv_request: Responding to Openssh's keepalive

那么,我正在尝试学习和理解为什么我可以使用 PuTTY 连接,但不能使用 R?

r ssh mariadb putty
1个回答
0
投票

您确定您的数据库服务器正在侦听您的 R 客户端吗? mysql 本机客户端可能会连接到本地套接字,而 R 则不然。

© www.soinside.com 2019 - 2024. All rights reserved.