Назад | Перейти на главную страницу

CentOS не разрешает удаленные подключения к MySQL

При назначении пользователя с удаленного IP-адреса для подключения к базе данных он говорит, что не может подключиться. Также не удается подключиться к root, что-то не так. Привязка IP отключена, я также попытался отключить iptables, но все еще нет кубиков. Порт 3306 перенаправлен.

Я работаю на Centos 5.6 с использованием phpmyadmin, но я также пытался назначить пользователя через командную строку и создать новую базу данных, но все еще не работает.

Гугл и устранял неполадки часами, без кубиков.

Описание вашей проблемы нечеткое. Вам необходимо различать проблемы, вызванные проблемами, связанными с сетью (брандмауэр, блокирующий порт 3306, неправильный адрес привязки и т. Д.), Или недействительными учетными данными.

Если вы можете подключиться через telnet к IP / порту вашего сервера и подключиться:

$ telnet your_server_ip 3306

Это означает, что сервер mysql работает и принимает соединения по указанному IP. Следующий шаг - попытаться подключиться к mysql с помощью клиента mysql:

$ mysql -u user -p -h your_server_ip

Если вы получите access denied ошибка, вам необходимо убедиться, что вы подключаетесь с правильным именем пользователя / паролем.

Для root пользователь, AFAIK не разрешено (по умолчанию) подключаться к базе данных mysql удаленно как root.

Вы можете попробовать следующее:

  1. Подключитесь по SSH к вашему серверу, на котором работает MySQl. Убедитесь, что вы можете войти в Mysql как «root» с локального сервера.

  2. Дважды проверьте, прослушивает ли порт Mysql 3306.

  3. Посмотрите, настроен ли IPTABLEs на разрешение входящих подключений Mysql, иначе вы можете остановить службу IPTABLES и попробовать подключить сервер MySQL из удаленной системы.

  4. Подключение в качестве пользователя «root» не является хорошей практикой, создайте пользователя Mysql и предоставьте все привилегии новому пользователю для подключения к базе данных из удаленной системы, идентифицированной паролем.

Пример:-

ПРЕДОСТАВИТЬ ВСЕ НА *. * К пользователю @ 'Ваш IP-адрес', ОПРЕДЕЛЕННОМ 'ПАРОЛЕМ';

ПРИВИЛЕГИИ ПРОМЫВКИ;

Надеюсь, что это поможет вам.

Спасибо!

Чтобы разрешить удаленные подключения mysql, вы должны отредактировать свой сервер /etc/my.cnf

найти [mysqld] и добавьте следующую строку:

bind-address = <server's ip address>

сохраните и перезапустите сервер mysql.

/etc/init.d/mysqld restart

Вы должны привязаться к IP. Если вы хотите выполнить привязку ко всем IP-адресам на машине, вам необходимо выполнить привязку к:

0.0.0.0