十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在一台服务器上安装数据库,并开通外网访问功能;
创新互联建站专注于企业成都营销网站建设、网站重做改版、富蕴网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为富蕴等各大城市提供网站开发制作服务。
另一个服务器PHP程序配置数据库时,填写装有数据库服务器IP地址,如:
:8080(或者填写ip地址,MySQL数据库默认是3306端口)
然后配置填写正确的数据库名,数据库账号和密码即可。
实例化两条sql链接.
例如
$wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库
$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库
这样就可以链接两个数据库了。
thinkphp 同时连接两个数据库的配置方法如下:
1、在Db.class.php脚本文件里面的类增加一个魔术方法__get(),写法如下:
public function __get($propertyName)
{ return $this-$propertyName;
}
这个方法是用来访问类中protected $config成员属性用的。有的人可能会说,直接把protected改成public岂不是更好。这样只解决了基类的问题,假如,子类也同样进行了受保护,那要你更改更多的文件,这是我们做IT程序员非常不愿意看到的事情。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this-db-config['tablepre'];
if(empty($this-trueTableName)) {
$tableName??= empty($tablepre) ? $this-tablePrefix : $tablepre;
if(!empty($this-tableName)) {
$tableName .= $this-tableName;
}
else
{
$tableName .= parse_name($this-name);
}
$this-trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this-dbName)?$this-dbName.'.':'').$this-
trueTableName;这样就完成了多库自由切换时,导致的表前缀问题。
/*******************面向对象PDO连接方式*********************/
'DB_TYPE' = 'PDO', // 数据库类型
'DB_DSN' = 'mysql:host=localhost;dbname=master', // DSN连接。
'DB_USER' = 'root', // 数据库用户名
'DB_PWD' = '123456', // 数据库密码
'DB_PORT' = '3306', // 数据库端口
'DB_PREFIX' = 'g_', // 数据表前缀
'DB_CHARSET' = 'utf8', // 数据库编码默认采用utf8
1、你可以做一下nfs文件挂载,让不同的服务器使用同一个磁盘
2、可以在php网站conf配置数据库文件里指向同一个数据库的ip
(但要看你的实际服务器部暑)