MySql主从复制

MySql主从复制遇到的坑

mysql主从同步的工作原理:
从库数据库目录下的文件:master.info 记录主库信息
主机名-relay-bin.XXXX: 中继日志文件,记录主库上执行过的sql命令
主机名-relay-bin.index 索引文件:记录当前已有的中继日志文件
relay-log.info 中继日志文件:记录当前使用的中继日志信息

从库数据库下 的文件:
记录主库 信息:
[root@mysql_server_52 mysql]# cat /var/lib/mysql/master.info
中继日志文件:主库上执行的sql命令:
mysql_server_52-relay-bin.000001
mysql_server_52-relay-bin.000002
[root@mysql_server_52 mysql]# mysqlbinlog mysql_server_52-relay-bin.000002| grep insert
insert into bbsdb.t1 values(18)
insert into bbsdb.t1 values(19)
中继日志索引:
mysql_server_52-relay-bin.index
中继日志文件:记录当前正在使用的中继日志文件
relay-log.info

**IO和SQl线程的作用:**
	从库的IO线程:把主库 上执行的sql命令,记录到从机的中继日志文件中	
	从库的SQL线程:执行本机的中继日志中的 SQL命令,把数据写入数据库

IO失败的原因:
	从库连接失败 (ping grant firewall selinux ),change master to 
Last_IO_Error: 
SQL线程的出错原因:
	执行本机中继日志文件,对应 的库或者表没有
Last_SQL_Errno

设置从库暂时不同步
	mysql> stop slave;
恢复从机为独立的数据库
	[root@mysql_server_52 mysql]# rm -rf /var/lib/mysql/master.info 
	[root@mysql_server_52 mysql]# systemctl restart mysqld
	[root@mysql_server_52 mysql]# rm -rf /var/lib/mysql/mysql_server_52-relay-bin.*  /va

1.主从复制:
1.1主库授权从库
mysql> grant replication slave on . to user@"%" identified by “123456”;
mysql> show master status;
±------------±---------±-------------±-----------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±------------±---------±-------------±-----------------±------------------+
| db51.000001 | 154 | | | |
±------------±---------±-------------±-----------------±------------------+

1.2修改主库的配置文件
]vim /etc/my.cnf
[mysqld]
server_id=52 #数据库的标识(必须是和从库不一样,id号随意)
log-bin=db52 #日志文件名字(可以自己编辑名字)
binlog-format=“mixed” #混合模式复制
log_slave_updates #你理解成开启复制模式就行
:wq
]# systemctl restart mysqld

1.3 管理员登录从库指定主库信息
~]# mysql -uroot -p123456
mysql> change master to
-> master_host=“192.168.4.51”, #这个是填写主库的IP而不是从库的
-> master_user=“user”,
-> master_password=“123456”,
-> master_log_file=“db51.000001”, #记录主库的binog日志
-> master_log_pos=154; #偏移量
启动slave进程
mysql> start slave;

查看进程状态信息:
mysql> show slave status \G;
Slave_IO_Running: Yes #线程记录主库的日志
Slave_SQL_Running: Yes #写入自己的本地库
行了 ok了!!!!————》想解决报错信息看别的文章!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值