主从模式:是什么?
主从模式:四个字:读写分离。查询操作和增删改操作分别在不同的数据库服务器上进行。从服务器通过主服务器的binlog进行数据同步。
- 二进制日志(binary log):记录数据库里的数据被修改(insert,update,delete,create,drop,alter)相关语句,实现增量数据恢复和主从复制。
主从模式:为什么?
- 在一般中小型应用中,对数据的读和写都在操作同一个数据库(服务器),这样边写入边查询的IO操作,降低了整个业务系统的性能和效率。因此,可以通过设立2台及以上数据库服务器部署主从复制模式,实现读写分离,主数据库专门用来写入,从数据库用来提供查询,同时从数据库对主数据库的增量操作进行同步,保证数据一致性。
- 缺点:主从数据同步的延迟会限制实时查询的效率 。
主从模式和集群的区别:
数量上可以简单理解相同,可多可少都得2台及以上,主从复制更注重主从关系,分工明确,提供查询和提供增量的很确定;对于集群,数据增量和查询是随机到任一台数据库服务器的,同时其他数据库服务器会自动同步数据库的操作。
主从模式开启:
1.配置文件:mysql根目录下my.cnf
#开启Binlog写入功能
#开启binlog
log-bin=mysql-bin
#设置ROW模式
binlog-format=ROW
#配置replaction(不要canal的slaveId重复)
server_id=1
2.命令行:
#创建canal身份信息
CREATE USER canal IDENTIFIED BY 'canal';
#授权canal链接==slave权限
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
#刷新
FLUSH PRIVILEGES;