数据库一直在项目担当着一位核心的角色,是所有项目结构中的底层,说白了,我们程序员进行项目开发都是在和数据打交道,而数据都是保存在数据库中,如mysql、oracle、postgresql等等,如果一个项目中数据库垮掉了,那数据层就断了,数据都没了,还怎么进行项目中的数据交互。所以我们必须保证项目中数据库这一层的高可用,高性能,避免在一些高并发的场景,数据库层进入瓶颈。
现在大多数(几乎所有)项目中,都在数据库层前面加入缓存这一层,避免频繁的访问数据库,从而从缓存中获取数据,如现在主流的redis、MongoDB等等,虽说大大缓解了数据库的压力,但依然无法避免数据库宕机,从而缓存这一层就没有任何作用了,因为有些业务必须从数据库获取最新的数据后才放到缓存中,为解决数据库的高可用,高性能,我们可以对数据库进行主从备份,所谓主从备份就是一主一从或一主多从或多主多从的方式进行多数据库之间的同步、关联,也可以说就是集群,这样就保证了数据库的高可用,主库挂了,从库接替主库干活,一定要记住,主库只负责写,从库只负责读,我这里只会给大家讲解一主一从的方式实现数据库的主从备份,大家可以根据目前项目的实际情况考虑什么方式。(ps:大家也可以在原有的方式中增加节点,比如我现在是一主一从,那可以自原有的配置中再增加一个从节点都是可以的)
主从配置
角色 环境 mysql版本 主机IP 端口
Master centerOS7 mysql5.7 192.168.1.206 3306
Slave centerOS7 mysql5.7 192.168.1.181 3306
Mysql和Mycat的安装我就不演示了,各位可以自行百度
首先,我们使用xshell工具连接到我们两个数据库的环境中,编辑我们数据库的my.cnf文件(windows系统直接修改mysql安装目录下的my.ini文件)
//修改数据库配置文件vi /etc/my.cnf
主库(Master:192.168.1.206)
//必须保证唯一server-id=1 #设置server-id//开启binlog日志log-bin=mysql-bin #开启二进制日志//关联的数据库,多个数据库用不同的binlog-do-db,多数据库不要以逗号隔开binlog-do-db=test//不关联的数据库,多个数据库用不同的binlog-do-db,多数据库不要以逗号隔开binlog-ignore-db=mysql//保存后重启mysql服务service mysqld restart
从库(Slave:192.168.1.186)
//必须保证唯一server-id=2 #设置server-id//保存后重启mysql服务service mysqld restart
连接到我们的主库(Master:192.168.1.206)
原文转载:http://www.shaoqun.com/a/739778.html
易速:https://www.ikjzd.com/w/2389
网易考拉海购大促:https://www.ikjzd.com/w/1052
数据库一直在项目担当着一位核心的角色,是所有项目结构中的底层,说白了,我们程序员进行项目开发都是在和数据打交道,而数据都是保存在数据库中,如mysql、oracle、postgresql等等,如果一个项目中数据库垮掉了,那数据层就断了,数据都没了,还怎么进行项目中的数据交互。所以我们必须保证项目中数据库这一层的高可用,高性能,避免在一些高并发的场景,数据库层进入瓶颈。现在大多数(几乎所有)项目中,
全球速卖通:https://www.ikjzd.com/w/81
parenthood:https://www.ikjzd.com/w/2497
特许金融分析师:https://www.ikjzd.com/w/1396
我和老师网聊到约会 口述我和女老师的那段经历:http://lady.shaoqun.com/m/a/275179.html
利用亚马逊退货服务政策诈骗上百万美元,3人入狱:https://www.ikjzd.com/home/1758
在车内扒开她的短裙从后面挺进去 按在车上做了一次又一次:http://www.30bags.com/a/249749.html
没有评论:
发表评论