При назначении пользователя с удаленного 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
.
Вы можете попробовать следующее:
Подключитесь по SSH к вашему серверу, на котором работает MySQl. Убедитесь, что вы можете войти в Mysql как «root» с локального сервера.
Дважды проверьте, прослушивает ли порт Mysql 3306.
Посмотрите, настроен ли IPTABLEs на разрешение входящих подключений Mysql, иначе вы можете остановить службу IPTABLES и попробовать подключить сервер MySQL из удаленной системы.
Подключение в качестве пользователя «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