Назад | Перейти на главную страницу

mysqladmin - Неизвестный хост сервера MySQL

Я пытаюсь подключиться к серверу mysql по локальной сети. Сервер запущен и слушает сообщение 41322.

dylan~$ netstat -ln | s mysql
unix  2      [ ACC ]     STREAM     LISTENING     41322    /var/run/mysqld/mysqld.sock

Моему пользователю предоставлены все права со всех адресов, и я могу войти в систему локально.

dylan~$ mysqladmin -P 41322 -h dylan@10.0.0.10 create database test
mysqladmin: connect to server at 'dylan@10.0.0.10' failed
error: 'Unknown MySQL server host 'dylan@10.0.0.10' (1)'
Check that mysqld is running on dylan@10.0.0.10 and that the port is 41322.
You can check this by doing 'telnet dylan@10.0.0.10 41322'

Добавление флага --verbose не дает дополнительных результатов. Я закомментировал bind-address=127.0.0.1 в /etc/mysql/my.cnf на сервере. Я могу подключиться к серверу по ssh без проблем.

dylan~$ ps a | grep mysql
11131 pts/3    S      0:00 /bin/sh /usr/bin/mysqld_safe
11170 pts/3    Sl     0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
11171 pts/3    S      0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
13710 pts/1    S+     0:00 grep mysq

Любая помощь или мысли приветствуются.

Мне кажется, что ваш демон mysql не прослушивает TCP-порт. Ваш вывод netstat показывает, что mysql прослушивает сокет домена UNIX с индексом 41322 (файл /var/run/mysqld/mysqld.sock).

Вы не упомянули свою ОС, но я предполагаю, что Linux использует флаг -l для netstat. Чтобы показать все прослушивающие порты TCP и UDP и демонов, использующих их в Linux, запустите netstat -ltunp

В некоторых установках MySQL по умолчанию в файле конфигурации указано «пропустить сеть», обычно это /etc/my.cnf или /etc/mysql/my.cnf. Закомментируйте эту опцию, если она есть, и перезапустите демон.