Я использую Debian 8.2, и установка довольно свежая. Я пытаюсь подключиться к моему серверу MySQL через SSH с помощью Sequel Pro. Я всегда получаю такую ошибку:
Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Когда я бегу
mysql -u root -p
на сервере все работает отлично. Но не с пульта.
Сначала я подумал, что это может быть iptables, поэтому (временно) отключил все правила. iptables -L теперь возвращает:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Затем я проверил my.cnf, но все параметры, которые я мог придумать, выглядят правильно:
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
bind-address = 127.0.0.1
Вывод моих файлов журнала mysql также выглядит нормально
150609 17:15:07 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150609 17:15:07 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150609 17:15:07 [Note] /usr/sbin/mysqld (mysqld 5.5.43-0+deb8u1) starting as process 18347 ...
150609 17:15:07 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
150609 17:15:07 [Note] Plugin 'FEDERATED' is disabled.
150609 17:15:07 InnoDB: The InnoDB memory heap is disabled
150609 17:15:07 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150609 17:15:07 InnoDB: Compressed tables use zlib 1.2.8
150609 17:15:07 InnoDB: Using Linux native AIO
150609 17:15:07 InnoDB: Initializing buffer pool, size = 128.0M
150609 17:15:07 InnoDB: Completed initialization of buffer pool
150609 17:15:07 InnoDB: highest supported file format is Barracuda.
150609 17:15:07 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
150609 17:15:08 InnoDB: Waiting for the background threads to start
150609 17:15:09 InnoDB: 5.5.43 started; log sequence number 1654586
150609 17:15:09 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
150609 17:15:09 [Note] - '127.0.0.1' resolves to '127.0.0.1';
150609 17:15:09 [Note] Server socket created on IP: '127.0.0.1'.
150609 17:15:09 [Note] Event Scheduler: Loaded 0 events
150609 17:15:09 [Note] /usr/sbin/mysqld: ready for connections.
И я не могу найти никаких проблем с конфигурацией моих клиентов:
MySQL Host: 127.0.0.1
User: root
Password: ***
Port: 3306
SSH Host: mydomain.com
SSH User: sshuser
SSH Key: sshkey
У меня тоже ничего нет в /etc/hosts.allow и /etc/hosts.deny
Обратите внимание, что SSH подключается успешно, но MySQL не работает.
Я потерян. Кто-нибудь может помочь?
Что ж, если кто-нибудь когда-нибудь столкнется с такой же проблемой:
Примечание для себя: при настройке SSH вы ДОЛЖНЫ установить следующую опцию в / etc / ssh / sshd_config:
AllowTcpForwarding да
Если вы этого не сделаете, то ваши пакеты будут сброшены на сервер без уведомления. Это приводит к появлению вышеуказанного сообщения об ошибке.
Кредит идет на болит