两台服务器,一台是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设置成允许远程连接,就可以