怎么解决MySQL的ERROR 1173 (42000)报错问题
本篇内容介绍了“怎么解决MySQL的ERROR 1173 (42000)报错问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
分析:这里是检查检查连接和权限时的报错,于是找到apply_diff_relay_logs的375行
具体检测的语句如下:
"$_mysql--user=$_escaped_slave_user--password=$_escaped_slave_pass--host=$opt{slave_ip}--port=$opt{slave_port}-e\"setsql_log_bin=0;createtableifnotexistsmysql.apply_diff_relay_logs_test(idint);insertintomysql.apply_diff_relay_logs_testvalues(1);updatemysql.apply_diff_relay_logs_testsetid=id+1whereid=1;deletefrommysql.apply_diff_relay_logs_test;droptablemysql.apply_diff_relay_logs_test;
确实有创建表,没有指定主键
但是没主键 建表应该是不报错的呀?
突然想到mariadb10.1的版本是强制要求主键的,至此问题的原因找到
MariaDB[(none)]>showvariableslike'%primary%';
+--------------------------+-------+
|Variable_name|Value|
+--------------------------+-------+
|innodb_force_primary_key|ON|
+--------------------------+-------+
解决办法(找到了原因,一切迎刃而解):
1.修改innodb_force_primary_key的值为off。
2.修改MHA的检测语句,加上主键。
“怎么解决MySQL的ERROR 1173 (42000)报错问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。