MyCat读写分离+MySql主从(一主一从)

数据库一直在项目担当着一位核心的角色,是所有项目结构中的底层,说白了,我们程序员进行项目开发都是在和数据打交道,而数据都是保存在数据库中,如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)

 

posted @ 2021-05-13 11:06  米饭军  阅读(147)  评论(0编辑  收藏  举报