如果主数据库关闭,如何连接到辅助数据库(PHP) [英] how to conect to secondary database if primary database is down (PHP)

查看:99
本文介绍了如果主数据库关闭,如何连接到辅助数据库(PHP)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望有人能帮助我,我已经为此努力了3天。

i hope someone can help me, ive been struggling on this for 3 days now.

这是我的情况,我正在用php创建一个网站,并且我有2台计算机作为服务器与wampserver ...

here is my situation, i am making a website with php, and i have 2 computers as servers with wampserver...

主服务器为192.168.0.10

main server is 192.168.0.10

辅助服务器为192.168.0.12

secondary server is 192.168.0.12

我尝试远程连接是否正常的机器

and a virtual machine where im trying out if the remote conection works

我的网站托管在我的主服务器上,因此conexion查询是...

my website is hosted on my main server so the conexion query is...

$conexion = mysqli_connect("localhost","root","","dbdaq");

工作正常,我什至拥有复制服务器上的复制主机。

it works fine, i even have master to master replication on the servers.

但是我需要做的是,当主服务器关闭时,它需要尝试连接到seondary数据库上的数据库,所以我试图使用代码...

but what i need to do is that when main server is down it needs to try to conect to the database on the seondary database, so im trying to use the code...

$conexion = mysqli_connect("localhost","root","","dbdaq");


if (!$conexion){
    $conexion = mysqli_connect("192.168.0.12","root","password","dbdaq");
}

但是当我手动打开主服务器上的mysql服务时,它实际上并没有尝试来使用其他服务器数据库...

but when i manually turn of the mysql services on main server it doesnt actually try to use the other servers database...

它一直给我说错误

警告:mysqli_connect ():(HY000 / 2002):由于目标计算机主动拒绝连接,因此无法建立连接。在C:\wamp64\www\PaginaV2\Pagina\PHP和JS\Procesoalumno.php在第2行上

Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it. in C:\wamp64\www\PaginaV2\Pagina\PHP y JS\Procesoalumno.php on line 2

推荐答案

尝试一下:使用php的 @ 运算符(错误控制操作符),以抑制第一次连接失败时出现的错误消息。

Try this: use php's @ operator (the error control operator) to suppress the error message from the first connection failure. Try this.

$conexion = @mysqli_connect("localhost","root","","dbdaq");

if ( !$conexion ) {
    $conexion = mysqli_connect("192.168.0.12","root","password","dbdaq");
}

故障转移连接的代码似乎正常工作,但仍然可以令人讨厌的错误消息。 @ 运算符禁止显示该消息。

It seems likely your code for the failover connection works correctly, but you still get an obnoxious error message. The @ operator suppresses the message.

这篇关于如果主数据库关闭,如何连接到辅助数据库(PHP)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆