主从数据库配置和主从数据库同步(MySQL)

主从数据库配置和主从数据库同步(mysql)
1.为什么使用主从数据库?
1.使用主从数据库的主要目的是将读写分开。在数据库集群体系结构中,主数据库负责处理事务性查询,而从数据库只负责处理选择查询,这样两者之间的分工就清晰了,从而提高了数据库的整体读写性能。当然,主数据库的另一个功能是将事务查询引起的数据更改同步到从数据库,即写操作。
2.读写分离的优点:
(1)分担服务器压力,提高机器的系统处理效率
读写分离适用于阅读远远超过写作的场景。如果有服务器,当有许多选择时,更新和删除将被这些选择访问中的数据阻止。当选择完成时,并发性能不高,而主从只负责自己的读写,大大缓解了x锁和s锁之间的争用;
如果我们有一个主库和三个从库,不管上面1中提到的从库的单边设置如何,假设一分钟内有10次写入和150次读取。然后,1个主服务器和3个从服务器相当于总共40次写入,而读取总数保持不变,因此平均而言,每个服务器执行10次写入和50次读取(主库不执行读取操作)。因此,虽然写入不变,但读取分布很广,系统性能得到提高。此外,在分配了阅读后,写作的表现也间接提高了。因此,整体性能有所提高。说白了,就是用机器和带宽来换取性能;
(2)增加冗余并提高服务可用性。当一个数据库服务器发生故障时,可以调整另一个从属数据库以尽快恢复服务
3.因为大型项目数据库通常很大,我们需要每天备份数据库。如果在主数据库中进行备份,会影响主数据库的性能和稳定性,所以我们可以在从数据库中编写备份程序,从而减轻服务器的压力。
2.主从数据库的设置步骤
(1)。确定主从服务器地址(准备环境):
两个linux操作系统的ip是:172.27.185.1(主)和172.27.185.2(从)
(2)连接到主服务(172.27.185.1)的数据库服务器,并将帐户权限分配给从节点。
允许复制从机开启*。* to & # 39用户名& # 39;@ & # 39;从数据库地址& # 39;由& # 39;密码& # 39;;
示例:在*上授予复制从属权限。* to & # 39根& # 39;@ & # 39;172 . 27 . 185 . 2 & # 39;由& # 39;123456 & # 39;;
(3)。在主数据库/etc/my.cnf(或my.ini)文件中,添加:
服务器id=107(不可重复)
log-bin =/var/lib/mysql/mysql天阿降临最新章节-bin
(4)。重启主数据库:服务mysqld重启
(5)在备份主数据库数据之前,需要添加读锁:用读锁刷新表;
执行显示主状态;(请记住此处的文件名和位置值,这将在以后配置从属服务器时使用。(
(6)备份主数据库
(7)将服务器id=109(不可重复)添加到从属服务器(172.27.185.2)/etc/my.cnf(或my.ini)的文件中,并重新启动数据库(mysqld服务重新启动)
(8)从服修罗武神最新章节务器(172.27.185.2):
停止奴隶;
变化
主机到主机= & # 39;172 . 27 . 185 . 1 & # 39;,master _ user = & # 39根& # 39;,主_密码= & # 39;123456 & # 39;,
主端口=3306,主日志位置=713,主日志文件= & # 39;mysql-bin . 000001 & # 39;;
启动从机;
(9)测试连接是否成功:显示从机状态;
执行后,这两项为是,表示测试成功
(10)关闭主数据库的锁:解锁表;
第三,配置主从我也遇到了很多问题,现在我将与大家分享一下注意事项:
(1)。请务必在同一个局域网中
(2)。注意设置防火墙白名单
(3)。请注意,主服务器和从服务器的初始数据必须相同,否则会出现问题,因此备份数据必须设置为读锁定,并且需要停止web项目以防止使用数据库
(4)。如果还有一些问题,你可以在评论区讨论,一起进步
文章来源:www.atolchina.com