原理图如下:
选择两台 服务器 master 以及 slave
master ip: 192.168.1.1
slave ip : 192.168.1.2
两台服务器上分别安装好mysql,安装过程 这里不再阐述,安装成功之后,做如下操作:
(一)master 节点操作如下:
[mysqld] 节点下面添加如下配置:
# server-id 1 表示master 节点,从节点必须大于1的整数
server-id=1
log-bin=mysql-bin
# binlog-do-db=movie 表示需要同步的数据库节点,movie 表示需要同步数据库
binlog-do-db=movie
# binlog-ignore-db=performance_schema表示不需要同步的数据库节点,performance_schema表示不需要同步的数据库
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
配置成功 重启mysql,进入到 mysql 客户端 命令行,查看 master 状态如下:
表示,master 节点已经ok,
(二) slave 节点添加如下配置
[mysqld] 节点下面添加如下配置:
server-id=2
log-bin=mysql-slave-bin
replicate-do-db=movie
replicate-ignore-db=performance_schema
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
进入mysql 查看状态
结果发现,slave 是空的,因为 刚才的配置中,我们并没有 指定从 那个 master 上 同步数据,指定master 命令如下:
change master to master_host='192.168.1.1',master_user='root',master_password='root';
然后 输入命令 start slave,
再查看状态
io thread 以及 sql thread 已经启动成功,
下面进行测试,再 master 创建数据库 movie ,创建表 test ,添加几条数据, slave 从数据库中可以完成同步
mysql 主从复制 结束