Home >Backend Development >PHP Tutorial >两台服务器,一台是WEB程序,一台是数据库,这种的数据库如何连接

两台服务器,一台是WEB程序,一台是数据库,这种的数据库如何连接

WBOY
WBOYOriginal
2016-06-13 12:07:171824browse

两台服务器,一台是WEB程序,一台是数据库,这种的数据库怎么连接
原来一台时,在数据库配置文件中写localhost就可以了,现在把数据库独立了,在连接文件中写 219.234.4.9:3306后还是连接不到数据库,这种的应该怎么配置才对。
------解决思路----------------------
数据库服务器防火墙打开、mysql设置成可以从其他IP连接
------解决思路----------------------
有远程连接权限了吗? 现在报什么错。
------解决思路----------------------
参考 mysql远程连接设置
------解决思路----------------------
数据库增加其他ip用户
------解决思路----------------------
$db_server="219.234.4.9"; 
$db_user_name="sq_sqlmy"; 
$db_user_password="za3oue8sql"; 
$db_mysql="sq_sqlmy"; 

$conn=mysql_connect($db_server,$db_user_name,$db_user_password); 
if(!$conn) 

echo"

sorry!

"; 
exit(0); 
}


mysql_select_db($db_mysql);
mysql_query("set names utf8");

用这种方式配置
------解决思路----------------------
通过phpmyadmin管理用户权限,允许远程连接。
------解决思路----------------------
连通之后 给告知下是什么原因
------解决思路----------------------
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 
------解决思路----------------------
数据库服务器 MySQL打开远程连接设置  报错信息贴出来更好回答些
------解决思路----------------------
初步判断应该是没有权限,设置外来账户开启权限。
------解决思路----------------------
防火墙处理后,在 my.cnf
中要
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

skip-locking
skip-name-resolve
skip-host-cach
skip-innodb
bind-address    =19.10.10.159

------解决思路----------------------
数据库要设置允许远程用户连接。添加WEB服务,给出权限。就可以了。
------解决思路----------------------
这个肯定是mysql权限问题,在数据库那台服务器上面,运行命令提示符号

mysql -u root -p 你的密码

然后 
mysql>GRANT ALL PRIVILEGES ON *.* TO '你的用户'@'你的web服务器ip' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

再连接,应该就可以了
------解决思路----------------------
5楼正解 ,
补充:Mysql设置成允许远程连接,就可以
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn