前言:
现时各位老铁们对“mysql错误代码1062什么意思”可能比较注意,大家都需要剖析一些“mysql错误代码1062什么意思”的相关资讯。那么小编同时在网络上汇集了一些对于“mysql错误代码1062什么意思””的相关知识,希望看官们能喜欢,我们一起来了解一下吧!mysql使用过程的错误记录(五)
一:optimize table出错解决方法
原来如此,大致意思是说innodb的数据库不支持optimize,可以用
ALTER TABLE table.name ENGINE='InnoDB';
该方法会对旧表以复制的方式新建一个新表,然后删除旧表。虽然这个过程是安全的,但是在进行操作时还是先进行备份为好
还有一种方式:
You can make OPTIMIZE TABLE work on other storage engines by starting mysqld with the --skip-new or --safe-mode option. In this case, OPTIMIZE TABLE is just mapped toALTER TABLE.
上面是说要求我们在启动的时候指定--skip-new或者--safe-mode选项来支持optimize功能
二:主从复制跳过错误
mysql主从库同步错误:1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query
mysql主从库在同步时会发生1062 Last_SQL_Error: Error ‘Duplicate entry ‘的问题:
解决的办法是在从库上执行:
mysql> slave stop;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> slave start;
上面的方法可以解决问题,还有一种解决问题的办法是通过修改mysql的配置文件,让从库的同步线程忽略这个错误,方法:
修改mysql配置文件 /etc/my.cnf 在 [mysqld]下加一行 slave_skip_errors = 1062 ,保存.重启mysql. mysql slave可以正常同步了.
mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续
跳过错误有两种方式:
1.跳过指定数量的事务:
mysql> stop slave;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; #跳过一个事务
mysql>start slave;
2.修改mysql的配置文件,通过slave_skip_errors参数来跳所有错误或指定类型的错误
vi /etc/my.cnf
[mysqld]
#slave-skip-errors=1062,1053,1146,1590#跳过指定error no类型的错误
#slave-skip-errors=all#跳过所有错误
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;
start slave;
1666
Error executing row event: 'Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.'
看到貌似是statement模式不足以应付应用,换成mixed试试看吧:
mysql> STOP SLAVE;
Query OK, 0 rows affected (0.02 sec)
mysql> SET GLOBAL binlog_format=MIXED;
Query OK, 0 rows affected (0.00 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
标签: #mysql错误代码1062什么意思