测试
在主库执行如下,查看一下当前主库有哪些表
show databases;
在从库执行如下,查看一下当前从库有哪些表,注意一下此时是初始数据
show databases;
然后在主库执行(不要用huanf用户,使用你的root用户)如下的增删改操作,按理来说我们在主库执行的DDL和DML语句都会同步到从库中,验证如下
create database if not exists bilibili;
use bilibili;
create table stu(
id int primary key comment '主键ID',
name varchar(10) comment '姓名',
age int comment '年龄'
)engine=innodb default charset=utf8mb4;
insert into stu values (1,'tom',1),(3,'cat',3),(8,'rose',8),(11,'jetty',11),(19,'lily',19),(25,'luci',25);
show tables;
select * from stu;
然后去从库看一下,有没有数据变更,如下
show databases;
use bilibili;
select * from stu;
发现数据都同步过来了,在从库有了主库的数据
最后验证一下如果在主库进行更新、删除语句,会在从库也同步吗,如下
update stu set age = 18;
delete from stu where id = 1;
在从库查看,最终验证
select * from stu;
发现数据也都同步过来了,在从库有了主库的数据,这两个mysql服务器的数据是同步的
使用场景:
当并发需求大,我们可以把查询的操作安排在从库,分担主库压力。还可用于备份数据库,避免了全局锁对数据库造成不一致的问题