mysql数据库同步跳过临时错误[转]

mysql数据库同步跳过临时错误
slave stop;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
slave start;

几个跟热备有关的mysql命令:(需要在mysql命令行界面或query )

stop slave #停止同步
start slave #开始同步,从日志终止的位置开始更新。

show slave status #查看同步状态

SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一致,造成错误
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。
RESET MASTER #主机端运行,清除所有的日志,这条命令就是原来的FLUSH MASTER
RESET SLAVE #从机运行,清除日志同步位置标志,并重新生成master.info
虽然重新生成了master.info,但是并不起用,最好,将从机的mysql进程重启一下,
LOAD TABLE tblname FROM MASTER #从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有 reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值
LOAD DATA FROM MASTER #从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和 net_write_timeout的值
CHANGE MASTER TO master_def_list #在线改变一些主机设置,多个用逗号间隔,比如
CHANGE MASTER TO
MASTER_HOST=‘master2.mycompany.com‘,
MASTER_USER=‘replication‘,
MASTER_PASSWORD=‘bigs3cret‘
MASTER_POS_WAIT() #从机运行
SHOW MASTER STATUS #主机运行,看日志导出信息
SHOW SLAVE HOSTS #主机运行,看连入的从机的情况。
SHOW SLAVE STATUS (slave)
SHOW MASTER LOGS (master)
SHOW BINLOG EVENTS [ IN ‘logname‘ ] [ FROM pos ] [ LIMIT [offset,] rows ]
PURGE [MASTER] LOGS TO ‘logname‘ ; PURGE [MASTER] LOGS BEFORE ‘date‘

原文地址:https://www.cnblogs.com/shishitongbu/p/11019688.html

时间: 2024-08-04 17:54:30

mysql数据库同步跳过临时错误[转]的相关文章

MySQL数据库同步的实现

以下的文章主要向大家介绍的是MySQL数据库同步的实际操作步骤以及对实现MySQL数据库同步的实际应用代码与其在实际操作过程中值得我们大家注意的相关事项的描述,希望会给你带来一些帮助在此方面. 在网上我找了一下,大家都说的是这样:" MySQL从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能. MySQL数据库同步复制功能的设置都在MySQL的设置文件中体现.MySQL的配置文件(一般是my.cnf) 在unix环境下在/etc/MySQ

MySQL数据库同步小工具(Java实现)

近期公司做个报表系统,为了报表系统中复杂的查询条件,不影响线上业务系统的使用,研究了一下MySQL数据库同步,下面用Java代码实现MySQL数据库同步,以便自己查阅! ? 数据库同步实现功能点: 1.支持跨服务器跨库的多线程同步 2.每张表的同步有日志记录 3.每次同步记录数可配置 源码和具体的使用细则,可以到下载源码及使用说明?. ? 一.数据同步核心代码 ? ? ? 二.数据库同步多线程实现 ? ? ? ? 三.配置文件及读取配置文件代码 配置文件内容为: 读取配置文件的Java类为: ?

mysql数据库同步可以针对单张表同步吗?解决办法

mysql数据库同步可以针对单张表同步吗?第一个问题:mysql数据库同步可以针对单张表同步吗? 也就是说1.数据库A里面有a1,a2,a3三张表,数据库B里面只有一张a1表(A与B的a1的表结构式一样的)2.数据库B只同步数据库A中的a1表3.数据库A也要同步B的a1表 注:其实可以认为是数据库A与数据库B的a1表双向同步,即A数据库a1数据有改变,,B数据库a1也要相应改变,同理B数据库a1有改变,A数据库a1也要改变(Aa1<=>Ba1) 第二个问题:配置数据库同步linux与windo

mysql数据库同步配置参数及常见问题

一. 配置参数说明(基本知识): #服务器ID, 每台服务器的ID不能设为相同的数. server-id=1 #启用从库日志,这样可以进行链式复制 log-slave-updates #从库是否只读,0表示可读写,1表示只读 read-only=1 #只复制某个表 replicate-do-table=tablename #只复制某些表(可用匹配符) replicate-wild-do-table=tablename% #只复制某个库 replicate-do-db=dbname #只复制某些库

MySql数据库安装时启动服务错误canot start service

在安装MySQL数据库的时候经常会遇到这样的错误,在安装到最后一步的时候点击excute按钮时,提示不能启动服务.主要原因是因为以前安装过,并且卸载的时候没有清理干净. 解决方案如下: 首先在电脑的控制面板中卸载掉原来的MySQL服务. 卸载完成后.打开 Documents and Settings\All Users目录,在里面有个application data文件夹,如果没有的话,那是他隐藏了,(工具----文件夹选项----显示隐藏的文件),打开application data 文件夹,

关于mysql数据库中date time的错误问题(Error Code: 1067. Invalid default value for xxx)

在新建表的时候突然出现一个错误信息: Error Code: 1067. Invalid default value for 'start_time' 在经过一番折腾之后发现是datetime不能设置默认值,所以想要设置默认值的话我们也可以使用timestamp然后设置默认值为current_timestamp即可 不过除了在数据库中设置默认值外我们也可以在程序进行设置,如果是5.6的mysql数据库应该不存在不能设置默认值的问题

mysql数据库同步部署

1.配置/etc/my.cnf文件 采取双机部署方式,两台机器的配置文件略有不同,如下图所示,server-id设置为不同的数字,auto_increment_offset一台机器设置为1,另外一台机器设置为2. 2.启动mysql服务 #service mysql start #chkconfig mysql on #/usr/bin/mysqladmin -u root password 'mysql.rzrk' 3.主备机配置 确认两台机器MYSQL服务都正确配置并成功启动,然后进行mas

不同服务器的mysql数据库同步

目标: A服务器上自建的数据库同步到B服务器上自建的数据库. 阿里云的RDS数据库A同步到B服务器上自建的数据库. A的数据库名为:mytest 基础:linux,会配置my.cnf 开始: 下面称前者A为主服务器,后者B为从服务器. 先在A服务器查看:sql语句:show master status; 得到File,Position 的值. 'mysql-bin.000039', '1538',  (这个后面要用到) 在B服务器,修改:/etc/my.cnf. 修改前,先停止mysql. 增加

Linux两台服务器mysql数据库同步

我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价值千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安装好Mysql 3.在配置文件/etc/my.cnf(MySQL中为mysql.ini)修改开启二进制日志 log-bin=mysql-bin 修改方法:打开配置文件后在 [mysqld]中添加内容: server-id = 1 #确保在整个MySQL集群中唯一 log-bin=/var/log/