Не удается подключиться к ошибке сервера MySQL 111
Я установил сервер mysql в linux box IP = 192.168.1.100, но когда я пытаюсь подключиться к этому IP, это всегда ошибка (111). но использовать localhost и 127.0.0.1 в порядке.
[email protected]# ifconfig | grep "inet addr"
inet addr:127.0.0.1 Mask:255.0.0.0
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
[email protected]# mysql -ubeer -pbeer -h192.168.1.100
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111)
[email protected]# mysql -ubeer -pbeer -hlocalhost
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 160
Server version: 5.1.31-1ubuntu2 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
[email protected]# mysql -ubeer -pbeer -h127.0.0.1
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 161
Server version: 5.1.31-1ubuntu2 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Подключиться с другого компьютера, это также ошибка 111.
[email protected]# mysql -ubeer -pbeer -h192.168.1.100
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111)
Как разница между использованием localhost/127.0.0.1 и 192.168.1.100 в этом случае.
Я не знаю, как подключиться к этой базе данных с другой машины.
Помогите пожалуйста.
Спасибо.
Ответы
Ответ 1
Это, вероятно, означает, что ваш сервер MySQL только прослушивает интерфейс localhost.
Если у вас есть такие строки:
bind-address = 127.0.0.1
В вашем конфигурационном файле my.cnf
вы должны прокомментировать их (добавить # в начале строк) и перезапустить MySQL.
sudo service mysql restart
Конечно, для этого вы должны быть администратором сервера.
Ответ 2
111 означает, что соединение отклонено, что, в свою очередь, означает, что ваш mysqld только прослушивает интерфейс localhost
.
Чтобы изменить его, вы можете посмотреть значение bind-address
в разделе mysqld
вашего файла my.cnf
.
Ответ 3
Если все предыдущие ответы не дали никакого решения,
вы должны проверить свои привилегии пользователя.
Если вы можете войти как root
в mysql
то вы должны добавить это:
CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY '***';
GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.1.100' IDENTIFIED BY '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Затем попробуйте снова подключиться с помощью mysql -ubeer -pbeer -h192.168.1.100
. Он должен работать.
Ответ 4
Если вы используете cPanel/WHM, убедитесь, что IP-адрес включен в брандмауэре. Вам также необходимо добавить этот IP-адрес в список удаленных SQL-IP в учетной записи cPanel, к которой вы пытаетесь подключиться.