准备: 两台window7 虚拟机 一台ip为 10.3.0.194 master 一台为10.3.0.201 slave
在主的my.ini [mysqld]下添加
- server-id=1 #配一个唯一的ID编号,1至32。 手动设定
- log-bin=mysql-bin #二进制文件存放路径 ,不要在意为啥没有路径名,你就这样写
- binlog-do-db=sgpmi
binlog_do_db=test 多个这样配置
binlog_do_db=xx
binlog_do_db=jj - binlog-ignore-db=不参与主从的数据库名,不参与主从的数据库名2
重启数据库查看是否生效
show variables like 'server_id'
image.png
在主数据库建立一个用户进行消息之前的通信:
grant replication slave,reload,super on *.* to zhangsan@10.3.0.201 identified by 'root'
重启数据库。
执行:
show master status;
image.png
此处的数据后面需要使用
从数据库配置:
[mysqld]
- server-id=2 #唯一
设置要进行或不要进行主从复制的数据库名,同时也要在Master 上设定。 - replicate-do-db=进行主从数据库名1 ,数据库名2
- replicate-ignore-db=不进行数据库名1 ,数据库名2
进入从库 mysql -uroot -proot
change master to master_host='10.3.0.194',master_user='zhangsan',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=2844;
master_log_file:上图截图的File
master_log_pos:上图截图的position
master_user:上图在主库建立的人员
配置完重启数据库。
mysql>stop slave
mysql>start slave
mysql>show slave status \G
如果出现:
Slave_IO_Runing:Yes
Slave_SQL_Running :yes
那就说明成功了
可以尝试在主库建立一张表看数据是否能同步过来。
网友评论