快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

千赢国际qy88娱乐下载安装_集报网



在Soundbre千赢国际qy88娱乐下载安装ak我们天天24小时不间断地播放实况音频和视频,以是对付MySQL的新增的复制特点,我们不能做出很令人信服的测试。经由过程测试我们发明,可以应用这个特点来与备千赢国际qy88娱乐下载安装份数据库办事器维持数据同步,这样当主理事器由于某种缘故原由处置惩罚掉效时,能够应用备份机处置惩罚所有的查询。对付这样的要求,设置设置设备摆设摆设两台办事器并不艰苦。我将具体评论争论全部处置惩罚历程,同时评论争论一下当主理事器掉效时,若何应用PHP来重定向查询。

MySQL内部复制功能是建立在两个或两个以上办事器之间,经由过程设定它们之间的主-从关系来实现的。此中一个作为主理事器,其它的作为从办事器。我将具体评论争论若何设置设置设备摆设摆设两台办事器,将一个设为主理事器,另一个设为从办事器。并且描述一下在它们之间进行切换的处置惩罚历程。我是在MySQL的3.23.23版本长进行的设置设置设备摆设摆设设置历程,并且也是在这个版本长进行的测试。MySQL开拓职员建议最好应用最新版本,并且主-从办事器均应用相同的版本。同时MySQL 3.23版本仍旧是beta测试版,而且这个版本可能不能向下兼容。以是由于这个缘故原由,在实际的网站中,我现在还没有应用这个版本。拥有容错能力具有一个好处是,在不需中断任何查询的环境下,对办事器进行进级。

第一步:设置设置设备摆设摆设主理事器

在这篇文章的剩下篇幅中,我将指定两台办事器。A(IP为10.1.1.1)作为主理事器(简称为主机)。B(IP为10.1.1.2)作为后备办事器(简称为备机)。

MySQL的复制功能的实现历程为:备机(B)与主机(A)连接,然后读出主机的二进制更新日志,再将发生的变更合并到自已的数据库中。备机必要一个用户帐号来与主机连接,以是在主机上创建一个帐号,并只给它FILE权限,如下操作:

GRANT FILE ON *.* TO replicate@10.1.1.2 IDENTIFIED BY 'password';

为了备性能够与主机连接,要在主机上运行'FLUSH PRIVILEGES',不过不要担心,由于我们将鄙人面的步骤中停掉落办事器。

现在我们必要主机数据库的一个快照,并且对主机进行设置设置设备摆设摆设,容许天生二进制的更新日志。首先编辑'my.cnf'文件,以便容许二进制更新日志,以是在[mysqld]部分的下面某个地方增添一行:'log-bin'。鄙人一次办事器启动时,主机将天生二进制更新日志(名为:-bin.)。为了让二进制更新日志有效,关闭MySQL办事法度榜样,然后将主机上的所稀有据库目录到千赢国际qy88娱乐下载安装另一个目录中,接侧从新启动mysqld。

请确定获得了所稀有据库,否则在进行复制时,假如一个表在主机上存千赢国际qy88娱乐下载安装在但在备机上不存在,将由于掉足而退出。现在你已经获千赢国际qy88娱乐下载安装得了数据的快照,和一个从建立快照以来的二进制日志,上面记录着任何对数据库的改动。请留意MySQL数据文件(*.MYD,*.MYI和*.frm)是依附于文件系统的,以是你不能仅仅进行文件传输,如从Solaris到Linux。假如你处于一个异种的办事器情况,你将不得不应用mysqldump实用法度榜样或其它的定制脚原先获得数据快照。

第二步:设置设置设备摆设摆设备机

让我们继承。停掉落备机上的MySQL办事法度榜样,并且把从主机上拷贝来的数据库目录移到备机上的data目录下。请确认将目录的拥有者和属组改变为MySQL用户响应值,并且改动文件模式为660(只对拥有者和属组可读、可写),目录本身为770(只对拥有者和属组可读、可写和可履行)。

继承。在备机上启动MySQL办事法度榜样,确认MySQL事情正常。运行几个select查询(不要update或insert查询),看一看在第一步中获得的数据快照是否成功。接着,在测试成功后关掉落MySQL办事法度榜样。

在备机上设置设置设备摆设摆设必要造访的主机,以便接管主机的变动。以是必要编辑务机上的'my.cnf'文件,在[mysqld]部分中增添下面几行:

master-host=10.1.1.2

master-user=replicate master-password=password

在重启A机的办事法度榜样之后,现在我们一拥有了在A机与B机之间的互相主-从关系。不管在哪个办事器上 更新一笔记录或插入一笔记录,都将被复制到另一台办事器上。要留意的是:我不敢确定一个备机合并二进 制日志变更的速率有多快,以是用这种措施来进行插入或更新语句的负载平衡可能不是一个好法子。

第四步:改动你的数据库连接法度榜样

既然你已经在A机和B机之间建立了一个互相的关系,你必要改动数据库连接法度榜样,以便从这种要领中得 到好处。下面的函数首先试图与A机连接,假如不能建立连接则与B机连接。

/ function db_connect()

returns a link identifier on success, or false on error

/ function db_connect(){ $username = "replUser"; $password = "password"; $primary = "10.1.1.1"; $backup = "10.1.1.2";

# attempt connection to primary if(!$link_id = @mysql_connect($primary, $username, $password)) # attempt connection to secondary $link_id = @mysql_connect($secondary, $username, $password) return $link_id; }

?>

我在两种环境下对应用了上面技巧的数据库连接建立历程进行了测试,一种是主MySQL办事法度榜样关闭了, 然则办事器还在运行,另一种环境是主理事器关闭了。假如只是mysqld关闭了,连接会顿时转向备机;然则 假如全部办事器关闭了,就呈现了无限地等待(两分钟后我放弃了跟踪 -- 很短的留意跨度),由于PHP在查 找一个不存在的办事器。不幸地是,不象fsockopen函数,mysql_connect函数没有一个超时参数,然而我们 可以应用fsockopen来模拟一个超时处置惩罚。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: