相信很多小伙伴们都不知道吧,其实,MySQL数据库是没有增量备份的机制,但是它会提供一种主从备份的机制,意思就是把主数据库所有的数据同时写在备份数据库中,实现MySQL数据库的热备份。那么,如何在MySQL中实现双机热备和负载均衡呢?下面,就让摩杜云来教大家怎么操作,希望小伙伴们看完之后有所帮助。
下面是主从热备份的具体步骤:
假设主服务器A(master)、从服务器为B(slave)
A:192.168.0.104
B:192.168.0.169
1.主服务器授权
授权副服务器可以连接主服务器并可以进行更新。这是在主服务器上进行的,创建一个username和password供副服务器访问时使用。也可以使用主服务器默认的帐号和密码。
2.数据复制
将master上已有的数据复制到slave上,以便主从数据库建立的时候两个数据库的数据保持一致。导出导入数据库就不详述了。
3.配置主服务器
修改master上mysql的根目录下的my.ini配置文件
在选项配置文件中赋予主服务器一个server-id,该id必须是1到2^23-1范围内的唯一值。主服务器和副服务器的server-id不能相同。另外,还需要配置主服务器,使之启用二进制日志,即在选项配置文件中添加log-bin启动选项。
注意:如果主服务器的二进制日志已经启用,关闭并重新启动之前应该对以前的二进制日志进行备份。重新启动后,应使用RESET MASTER语句清空以前的日志。
原因:master上对数据库cartrader的一切操作都记录在日志文件中,然后会把日志发给slave,slave接收到master传来的日志文 件之后就会执行相应的操作,使slave中的数据库做和master数据库相同的操作。所以为了保持数据的一致性,必须保证日志文件没有脏数据。
4.重启master
配置好以上选项后,重启MySQL服务,新选项将生效。现在,所有对数据库中信息的更新操作将被写进日志中。
5.配置slave
在副服务器上的MySQL选项配置文件中添加以下参数:
6.重启slave
副服务器上MySQL服务重启后,还在数据目录中创建一个master.info文件,其中包含所有有关复制过程的信息(连接主服务器的相关信息及与主服务器交换数据的相关信息)。在初次启动以后,副服务器将检查这个master.info文件,以得到相关信息。
如果想修改复制选项,删除master.info并重启MySQL服务,在启动过程中使用选项配置文件中的新选项进行重新创建了master.info文件。
将主服务器上备份好的数据库脚本文件(cartrader.sql)导入到副服务器数据库中,以便保证主-副服务器上进行复制操作的起点一样。
7.查看master的状态与设置的是否一致
8.查看slave
一般情况下重启了slave之后,自动就会开启复制功能,可以通过下面的语句查看
在slave上
mysql>show slave status
如果显示waiting for master to send event的话就表示已经启动了,反之就运行
mysql>start slave
来启动slave
在SHOW SLAVE STATUS的命令输出后,应该包含Slave_IO_Running对应的值为YES,Slave_SQL_Running对应的值为YES,只有这样才保证主从机能正常备份。
暂时停止主从热备份的命令是:
mysql>stop slave
以上就是关于“如何在MySQL中实现双机热备和负载均衡”的相关内容,各位小伙伴们,你们学到了没,如若有不清楚的地方,或者想了解更多相关知识的可以关注摩杜云,更多干货等你来学!