Не удается подключиться к удаленному серверу MySQL (10061)
Локальное соединение включено в MySQL.
Но удаленный доступ (Мой ноутбук) отключен
Can't connect to MySQL server on "host" (10061)`.
Мой порт всегда открывает 3306.
Вот мой конфигурационный файл (/etc/mysql/my.cnf
):
#bind-address 0.0.0.0
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
И статус MySQL:
mysql start/running, process 15204
Ответы
Ответ 1
Чтобы разрешить удаленный доступ к MySQL, вы должны прокомментировать привязку (вы сделали) и пропустить сетевую конфигурацию в файле конфигурации.
Затем вы должны убедиться, что пользователю разрешен удаленный доступ. Проверьте этого пользователя:
SELECT User, Host FROM mysql.user;
Если ваш пользователь здесь имеет "127.0.0.1" или "localhost", указанный в качестве хоста, у вас нет удаленного доступа.
Измените это следующим образом:
UPDATE mysql.user SET HOST='%' WHERE User='__here_your_username';
Скрытые привилегии:
FLUSH PRIVILEGES;
"%" является подстановочным знаком для "всех хостов".
Ответ 2
Чтобы разрешить удаленный доступ к MySQL, установленному на Ubuntu, вам необходимо получить доступ к файлу в этом месте:
/etc/mysql/mysql.conf.d/mysqld.cnf
Там вы прокомментируете следующую строку: bind-address = 127.0.0.1
в основном изменить: bind-address = 127.0.0.1
to: # bind-address = 127.0.0.1
Теперь вы либо перезагружаете компьютер, либо только службу mySQL, используя команду follwing: sudo/etc/init.d/mysql restart
Ответ 3
В моем случае установлен стек LAMP на Oracle VM из Ubuntu 18.04
Вот мое обновление для файла конфигурации mysql: /etc/mysql/mysql.conf.d/mysqld.cnf
До:
bind-address = 127.0.0.1
После:
# bind-address = 127.0.0.1
# comment out bind-address to test remote access
Убедитесь, что ваш пользователь может получить доступ с удаленного хоста. Sudo mysql -u root -p Введите пароль, затем введите команду
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+ ------------------ + ------------------------------ ------------- + ----------------------- + ------------ - + | пользователь | строка аутентификации | плагин | хозяин | + ------------------ + ------------------------------ ------------- + ----------------------- + ------------ - +
| новый пользователь | * 9ACA980716AE084BCA56C59D19F3CEB7BB87B139 | mysql_native_password | 192.168.xx | | новый пользователь | * 9ACA980716AE084BCA56C59D19F3CEB7BB87B139 | mysql_native_password | локальный хост |
Это работает для меня, удачи.
Ответ 4
Для тех, кто размещает MySQL на Raspberry Pi 3, файл, который вы ищете, находится в
etc/mysql/mariadb.conf.d/50-server.cnf
Вам все еще нужно выполнить предыдущие шаги, как указано выше, хотя, комментируя
bind-address = 127.0.0.1
Надеюсь, это поможет кому-то потратить столько же времени, сколько я потратил на то, что казалось пропущенной строкой.
Ответ 5
Следующее сработало для меня.
SELECT User, Host FROM mysql.user;
UPDATE mysql.user SET HOST='%' WHERE User='root';
UPDATE mysql.user SET HOST='%' WHERE User='administrator';
FLUSH PRIVILEGES;
Затем
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
Изменить
bind-address = 127.0.0.1 to: #bind-address = 127.0.0.1
сохраните файл.
перезагрузите сервер/перезапустите MySQL