При попытке подключиться к серверу mysql через telnet я получаю следующую ошибку:
telnet localhost 3306
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection timed out
Я пробовал telnet с 127.0.0.1, hostname
также, но появляется такое же сообщение об ошибке. Но я могу связаться с mysql -u username -p
как только я нахожусь на сервере.
Вот результат netstat:
netstat -na | grep mysql
unix 2 [ ACC ] STREAM LISTENING 4540495 /var/run/mysqld/mysqld.sock
netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Какие могут быть проблемы? Если вам нужна дополнительная информация, я могу предоставить ее без проблем.
Большое спасибо.
Вы можете связаться с:
mysql -h127.0.0.1 -u username -p
Если нет, проверьте, был ли запущен ваш сервер с включенным пропуском сети:
Если сервер был запущен с параметром --skip-network, он вообще не будет принимать соединения TCP / IP. src
Это означает, что 127.0.0.1 не будет работать, но localhost будет. В mysql localhost и 127.0.0.1 - это разные хосты.
Что еще нужно проверить:
вы используете порт по умолчанию (3306)? Проверьте свой my.cnf или сделайте mysqladmin -h localhost -p variables | grep port
Если вы работаете под Linux и включен Linux с усиленной безопасностью (SELinux), убедитесь, что вы отключили защиту SELinux для процесса mysqld.
У меня такая же проблема, и я решил. Я использую Mac pro и sequel Pro в качестве клиента mysql, соединение с сокетом localhost выполнено успешно, но стандартное соединение tcp / ip не удалось!
и я проверяю свой работающий порт с помощью cmd:
mysqladmin -h localhost -u root -p variables | grep port
вот мой статус результата:
wangxiaodeMacBook-Pro:~ wangxiao$ mysqladmin -h localhost -u root -p variables | grep port
Enter password:
| innodb_support_xa | ON |
| large_files_support | ON |
| port | 3307 |
| report_host | |
| report_password | |
| report_port | 3307 |
| report_user |
Он переносит 3307, а не 3306 по умолчанию, один раз был установлен другой сервер mysql. так что измени его и решено. tks ответ @DTest.