Maison >développement back-end >tutoriel php >两台服务器,一台是WEB程序,一台是数据库,这种的数据库如何连接

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

WBOY
WBOYoriginal
2016-06-13 12:07:171835parcourir

两台服务器,一台是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设置成允许远程连接,就可以
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn