Прежде всего, я на AWS, сервер Litespeed, операционная система Ubuntu.
Голова взорвалась, я искал решение почти 5 часов. Я готовился к удаленному доступу к базе данных Mysql с помощью WorkBench.
Мне пришлось настроить следующие шаги:
- Сначала поместите эту строку
bind-address = 65.55.55.2
в /etc/mysql/my.cnf - Затем перезапустите MySQL
- Предоставлен доступ к существующей базе данных
update db set Host='MY IP' where Db='db_name';
- Предоставлен доступ к существующей БД с пользователем
update user set Host='MY IP' where user='user_name';
Затем перед открытием порта 3306, Я перешел к гиду Digitalocean и изменил эту строку bind-address = 127.0.0.1
0.0.0.0
вместо 127.0.0.1
, поэтому у меня было два bind-адреса
bind-address = 65.55.55.2
skip-external-locking bind-address = 0.0.0.0
Затем выполнил эту команду sudo ufw allow from my_IP_address to any port 3306
и проверил с этим mysql -u user -h my-server-ip -p
но это не так, затем пошел на сайт и Ошибка, установив соединение с базой данных, конечно.
В конце концов, я перенастроил /etc/mysql/my.cnf и оставил bind-address = 127.0.0.1
, затем сделал эту команду также /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
ничего не изменилось, порт 3306 открыт. У меня нет доступа к MySQL.
ИМХО виновник во всем именно в этом порядке, update db set Host='202.54.10.20' where Db='webdb';
Я использовал его только для Wordpress , а вторая команда для пользователей root user Wordpress db user
У этого тоже нет доступа, mysql -u root -p
здесь та же ошибка, но с (using password: YES)
Теперь я создал магию и дал этот результат :) "
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
"
Кто-нибудь хочет указать, что я здесь не так делаю?