当前位置: 首页 > 知识 >正文

mysql主从同步配置(mysql主从同步有哪三个线程)

今天发现mysql的主从数据库不同步。

首先转到主资料库:

mysqlshow processlist检查进程是否睡眠过多。发现很正常。

Display the host status; Normal, too.

mysql show master status;

+-------------------+----------+--------------+-------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+-------------------------------+

| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |

+-------------------+----------+--------------+-------------------------------+

1 row in set (0.00 sec)

在从机上再检查一遍

mysql show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: No

可以看出,从机不同步

这里有两种解决方案:

方法1:忽略错误后,继续同步。

这种方法适用于主从库数据差异不大,或者数据不能完全统一,数据要求不严格的情况。

求解:

stop slave;

#表示跳过一步错误,后面的数字是可变的。

set global sql_slave_skip_counter=1;

start slave;

Then use mysql to display the subordinate status \G View:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

好了,现在主从同步状态正常。

方法二:重新掌握,完全同步。

这种方法适用于主从库数据差异较大,或者数据完全统一的情况。

求解步骤如下:

1.首先进入主库,锁定表以防止数据被写入。

使用命令:

mysql flush tables with read lock;

注意:锁是只读的,语句不区分大小写。

2.进行数据备份

#将数据备份到mysql.bak.sql文件。

[root@server01 mysql]#mysqldump -uroot -p -hlocalhost mysql.bak.sql

这里要注意一点:数据库备份一定要定期进行,可以使用shell脚本或者python脚本,方便保证数据万无一失。

3.检查主机状态

mysql show master status;

+-------------------+----------+--------------+-------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+-------------------------------+

| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |

+-------------------+----------+--------------+-------------------------------+

1 row in set (0.00 sec)

4.将mysql备份文件传输到从机进行数据恢复。

#使用scp命令

[root@server01 mysql]# scp mysql.bak.sql root@192.168.128.101:/tmp/

5.停止奴隶状态

mysql stop slave;

6.然后从从库执行mysql命令,导入数据备份。

mysql source /tmp/mysql.bak.sql

7.从库设置同步,注意这里的同步点,就是主库显示主状态信息中的| File|位置。

change master to master_host='192.168.128.100', master_user='rsync', master_port=3306, master_password='', master_log_file='mysqld-bin.000001', master_log_pos=3260;

8.重新启动从属同步。

mysql start slave;

9.检查同步状态

Mysql shows subordinate status \G View:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

好了,同步完成。

相关文章:
  • 4月21日基金净值:方正富邦中证保险A最新净值0.794,跌2.82%
  • 5月22日基金净值:建信中小盘先锋股票A最新净值3.643,跌0.19%
  • 7月4日基金净值:国泰安益灵活配置混合A最新净值1.4476,涨0.03%
  • 3月24日基金净值:国泰双利债券A最新净值1.575,跌0.25%_基金频道_证券之星
  • 6月16日基金净值:博时精选混合A最新净值1.6097,涨1.79%
  • 华泰柏瑞国证疫苗与生物科技ETF净值下跌1.01% 请保持关注
  • 个人养老金基金首次扩容!6家机构旗下14只产品入围,销售机构也添新兵
  • 4月20日基金净值:华夏创新前沿股票最新净值2.489,跌0.6%
  • 6月19日基金净值:工银医疗保健股票最新净值2.979,跌0.13%
  • 3月24日基金净值:嘉实致安3个月定期债券最新净值1.0989,跌0.14%_基金频道_证券之星