Как включить удаленный доступ к mysql в centos?
Мой apache работает на 8113
порт вместо 80
.
Я хочу удаленно получить доступ к моей базе данных mysql. Я пробовал следующие шаги.
Bind-address XXX.XX.XX.XXX in /etc/my.cnf
Create Database
and run the command
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';
Но не удается подключиться. Я использую heidi sql для подключения.
Ответы
Ответ 1
поэтому сделайте следующее редактирование my.cnf:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = xxx.xxx.xxx.xxx
# skip-networking
после редактирования нажмите service mysqld restart
войдите в MySQL и нажмите этот запрос:
GRANT ALL ON foo.* TO [email protected]'xxx.xxx.xxx.xxx' IDENTIFIED BY 'PASSWORD';
Вот так, убедитесь, что ваш iptables разрешает соединение с 3306, если не поставлено следующее:
iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT
Ответ 2
Bind-address XXX.XX.XX.XXX в /etc/my.cnf
строка комментария:
пропуск сети
или
пропуск внешнего запирания
после редактирования hit service mysqld restart
войдите в mysql и нажмите этот запрос:
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;
добавить правило брандмауэра:
iptables -I INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT