mysql数据库和apache不在同一台服务器时,需要远程连接mysql,这就要对mysql进行远程连接授权,为了安全只允许某些ip可以连接:
假如你想root用户从ip 192.168.2.12连接到mysql,并设置密码”123456“,授权方法如下:
1,进入mysql:mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.12' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
2,在192.168.2.12服务器可以用命令可以远程连接mysql,但是发现用代码连接是连接不上的,查了原因,发现是重启了数据库服务器后,httpd_can_newwork_connect 会变为0,导致不能通过网络连接到
httpd服务,需要将其开启:
setsebool -P httpd_can_network_connect=1
为了防止linux重启导致设置无效需要修改/etc/selinux/config:SELINUX=disabled
3,php可以正常连接远程数据库