Я пытаюсь подключиться к серверу 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. Закомментируйте эту опцию, если она есть, и перезапустите демон.