如何在centos中远程访问mysql?
我的apache正在如何在centos中远程访问mysql?,mysql,centos,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进行连接。因此请执行以下编辑my.cnf
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进行连接。因此请执行以下编辑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
编辑后点击服务mysqld重启
登录mysql并点击以下查询:
GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;
将foo.*上的所有内容授予由“密码”标识的“xxx.xxx.xxx.xxx”栏代码>
也就是说,如果不放置以下内容,请确保您的iptables允许从3306连接:
iptables-A输入-i本地-p tcp-dport 3306-j接受
iptables-A输出-p tcp--sport 3306-j接受/etc/my.cnf中的绑定地址XXX.XX.XX.XXX
注释行:
跳过网络
或
跳过外部锁定
编辑后点击服务mysqld重启
登录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
在允许IP到mysql服务器linux机器的情况下。您可以执行以下命令--
您需要连接到MySQL而不是Apache,MySQL默认在端口3306上侦听。我使用端口3306进行连接。但无法连接。最后一个命令无效。它说“iptablesv1.4.7:不能在输出中使用-i”完全删除-i参数,因为在输出规则中不需要它
sudo systemctl restart httpd.service