1.连接其他主机的数据库服务
如果你本机装有数据库那么直接输入localhost就可以了,如果是要远程调用其他主机的数据库你需要将localhost改成远程主机的ip(比如192.168.1.11)
mysql_connect(servername,username,password); [root@proxy ~]# vim /usr/local/nginx/html/mysql.php<?php $con = mysql_connect('localhost','root','密码.'); #连接数据库 if (!$con){ die('Unable to connect!'). mysql_error(); } mysql_query("set names utf8"); #字符编码为utf8 mysql_select_db("mysql",$con); #选择数据库 $result = mysql_query("select *from user"); #sql语句 while($row = mysql_fetch_array($result)){ printf("Host:%s",$row[0]); printf("</br>"); printf("Name:%s",$row[1]); printf("</br>"); } ?>
2.远程连接的账号密码问题
在公司开发环境中,数据库管理员是不会让你用root账户访问数据库的.
这里我们为了简单,就用root访问,但是有一个地方一定要注意,这里的root账号密码并不是你登录数据库服务的账号密码
举个例子,假设在数据库服务器上登录数据库,这里的密码我用的是123456.
mysql -uroot -p123456
那么是不是我$con = mysql_connect('localhost','root','密码.'); 用的也是123456呢?
肯定不是,你需要在mysql服务器上授权一个root账号(注意修改默认密码策略)
grant all on *.* to root@"%" identified by "123456";
此时才可以使用root去连接远程数据库
但是这样很容易混淆,所以不建议取名为root
grant all on *.* to remote_user@"%" identified by "123456";
3,数据库集群的vip问题
如果你为数据库服务器做了主从,那么你需要填写vip地址而不是数据库服务器地址
比如我的主数据库服务器ip为192.168.1.20,从服务器的ip192.168.1.21
而我的主服务器vip是192.168.1.80,那么我需要填写vip的地址,为什么这么做,因为主服务宕机后vip将转移到从服务器上,此时如果你填写的主服务器地址那么肯定要修改代码,这很浪费时间
$con = mysql_connect('192.168.1.80','root','密码.');