mysql не может настроить удаленный доступ

mysql не может настроить удаленный доступ

Пытаюсь настроить MySQL для доступа с любого хоста.

> показать гранты для 'root'@'%';

ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА *.* 'root'@'%' С ОПЦИЕЙ GRANT

мой.cnf

[root@p419386 etc]# cat my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

Файлы в /etc/my.cnf.d: client.cnf enable_encryption.preset mysql-clients.cnf server.cnf tokudb.cnf Ни один не содержитskip-networking

Всервер.cnf

bind-address=0.0.0.0

Я использую CentOS 7, uname -aдает

Linux p419386 2.6.32-042stab120.16 #1 SMP Tue Dec 13 20:58:28 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux

MySQL сервер10.1.21-MariaDB MariaDB Server

Все еще не могу подключиться с удаленного хоста :(

Проблема определенно не в сети или брандмауэре.

Верны ли указанные выше настройки?В чем дело?

После всегопроблема была найденав правилах iptables. Так что конфигурация MySQL в порядке!

решение1

Если мы посмотрим на конфигурацию, которую вы имеете (насколько вы ее явно разместили и рассказали нам, что в ней), то похоже, что она должна работать. По крайней мере,официальная база знаний MariaDBбудет указывать на это.

Таким образом, вы можете либо упустить что-то в этих файлах конфигурации, либо столкнуться с другой проблемой. Хотя вы и сказали, что проблема не может быть связана с сетью или брандмауэром, ваша последняя ошибка ERROR 2003 (HY000): Can't connect to MySQL server on '<host>' (113)указывает на то, что это все еще может быть проблемой.

Вы можете попробовать подключиться к локальному IP (127.0.0.1) на вашем сервере с помощью mysql commend. Глядя на вопрос, на который я ссылался, вы бы использовали:

mysql -h 127.0.0.1 -u root -p

Если вам удалось установить соединение с помощью этой команды, вы будете знать, что ваша MariaDB запущена и принимает IP-подключения.

Теперь может произойти следующее: он не привязывается к внешним IP-адресам (возможно, попробуйте установить только свой внешний IP-адрес для bind-host), или ваш брандмауэр (клиент или сервер) или другой сетевой компонент могут мешать и блокировать соединение.

Чтобы проверить, к чему привязан сервер, вы можете запустить (как пользователь root или с помощью sudo):

netstat -l -n -p

Это должно дать вам строку вроде следующей:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
...
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1234/mysqld
...

Как вы можете видеть, в этом случае сервер MySQL работает с адресом localhost на порту 3306.

Связанный контент