mysql主从复制

mysql主从同步原理:

(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events),然后通知存储引擎(I/O thread)提交事务;

(2) slave将master的binary log events拷贝到它的中继日志(relay log);

(3) slave重做中继日志中的事件,将改变反映它自己的数据。

mysql主从操作步骤:

1.编辑matser数据库的my.cnf文件,在[mysqld]下面插入以下配置,完成后重启mysql

#server-id不能和其他数据库重复
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

2、编辑slave数据库的my.cnf文件,在[mysqld]下面插入以下配置,完成后重启mysql

#server-id不能和其他数据库重复
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin

3、在master数据库创建新用户并去关联slave数据库

mysql> create user 用户;
mysql
> GRANT REPLICATION SLAVE ON *.* TO '用户'@'salve数据库的ip' IDENTIFIED BY '密码'; mysql> flush privileges;

4、在master数据库中查看关联参数

这里记下File与Position这俩参数,在下面会用的到

即:master-bin.000002 与 316

5、在slave数据库去连接master数据库

change master to master_host='master数据库的ip',master_port=3306,master_user='用户',master_password='密码',master_log_file='File',master_log_pos=Position号;

 6、在salve数据库中开启slave模式,并查看主从状态

#开启salve模式
start slave;
#查看主从状态是否建立
show slave status G;

注意到红线画的都为yes,一般主从同步就建立了,这时候去master数据库上去创建表或者数据库试试吧,你会发现slave数据库上也会有了~

原文地址:https://www.cnblogs.com/huskiesir/p/9921809.html