php - 数据库切换

标签 php mysql database replication

我正在使用 mysql 我想使用位于服务器 A 中的数据库,如果我与服务器 A 的连接丢失,它应该自动切换到我的本地主机数据库,当它再次连接时它应该切换到服务器A.

最佳答案

如果您只使用 mysqli 扩展,您应该使用此代码首先尝试建立与服务器 A 的连接,如果失败回退到服务器 B,它将在每次页面加载时检查与 A 服务器的连接。

<?php
$con = mysqli_init();
// set a timeout here, the time is in seconds, and this will affect both connections attempts (or more if you want).
$con->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);    
if(!$con->real_connect("serverA.localdomain:3306","root","password","dbname"))
{
  /* server A not connected */      
  if(!$con->real_connect("serverB.localdomain:3306","root","password","dbname"))
  {
    die('Cannot connect to server A or B');
  } 
  else
  {
    echo 'Connection established to server B';
  }
}
else
{
  echo 'Connection established to server A';      
}

// do your stuff here using $con->...   

$con->close();
?>

关于php - 数据库切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24623681/

相关文章:

mysql - 在MYSQL中查找具有不同拼写的重复记录

php - 在本地机器上运行 laravel 下载的项目

php - 从nodejs服务器发送文件到slimframework

mysql - 内联描述时外键约束无效

MySQL的created_timestamp大于updated_timestamp

mysql - 如何使用剩余表的自动增量值插入多个表

ios - 当我尝试快速使用外部数据库和 API 时如何修复此错误

PHP date - 以本地语言获取月份的名称

javascript - 根据 URL 字符串触发 GA 综合浏览量

sql - 添加 LEFT JOIN 后损坏的计数 (*)