连接到运行CentOS7和mariadb的远程(相同子网)数据库的问题

时间:2018-07-29 22:25:46

标签: php centos mariadb remote-access permission-denied

我已经花了整整一个星期的时间来解决这个问题。无论我尝试什么,我都完全无法访问网络中另一台服务器上存在的远程MariaDB。

我的Web服务器和数据库服务器都是完全相同的安装配置:

CENTOS7:centos-release-7-5.1804.el7.centos.2.x86_64

MariaDB:mysql Ver 15.1 Distrib 5.5.56-MariaDB,用于Linux (x86_64),使用读取行5.1

HTTPD:httpd-2.4.6-80.el7.centos.1.x86_64

PHP:PHP 5.4.16

两台服务器都在运行firewalld,并且当前正在运行以下公共服务:

ssh dhcpv6-client mysql http https
(firewall-cmd --zone=public --add-service=mysql --permanent)

我将两台服务器都更新为最新服务器,并重新启动了灯泡和防火墙服务。

我为两个服务器赋予了相同的用户权限:

GRANT ALL PRIVILEGES ON $.* TO 'user'@'web-server-ip' WITH GRANT OPTION;

我将bind-address = 0.0.0.0添加到位于my.cnf的{​​{1}}文件中

这是该文件的代码:

/etc/my.cnf

我已经测试了从Web服务器到数据库服务器的sshing并成功从命令行访问mysql。

我已经从Web服务器成功测试了telnet:[mysqld] bind-address = 0.0.0.0 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d

当我的php脚本尝试连接到数据库服务器时,出现以下错误:

  

SQLSTATE [HY000] [2003]无法连接到“数据库服务器IP”上的MySQL服务器(13“权限被拒绝”)

我不知所措。我不确定这是否是问题,唯一的问题是我将Web服务器放在反向代理后面,以便我的防火墙将外部IP请求路由到Web服务器的内部地址。数据库服务器与Web服务器位于同一子网中,但没有分配任何公共IP规则。

任何方向将不胜感激。

0 个答案:

没有答案