各位扥扥早!
好了废话不多说了,如果有用请转发出去。
Mysql问题 1.
ENFORCE_GTID_CONSISTENCY = 1会造成报错如下:
When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables.
原因是事务中包含MyISAM引擎的表,改变引擎为InnoDB即可
当然也可关闭这个参数,配置文件里配置:
enforce-gtid-consistency=off
#开启
enforce-gtid-consistency=ON
mysql_error.log有提示:
[Warning] IP address '172.18.8.31' could not be resolved: Name or service not known
解决方法:
[mysqld]
skip-name-resolve
然后重启mysql
3.在更新数据时出现:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction错误
#解决方法:
#查看数据库的进程信息
SHOW PROCESSLIST;
#查看事物表
SELECT * FROM information_schema.INNODB_TRX;
看到里面有一条数据:
trx_mysql_thread_id为1917542
#杀掉阻塞进程
kill 1917542
4.mysql升级之后,执行grant命令提示:
ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 39. Created with MySQL 50173, now running 50640. Please use mysql_upgrade to fix this error.
#解决方法:
升级数据结构:mysql_upgrade -uroot -p
5.在执行mysqlbinlog命令解析日志时,提示:
#mysql:5.1 mysqlbinlog:3.3
ERROR: Error in Log_event::read_log_event(): 'Sanity check failed', data_len: 147, event_type: 30
#解决方法:
是mysqlbinlog版本造成的,就是binlog日志文件是高版本mysql生成,使用低版本的mysql会提示此问题。
使用高版本的对应的mysql(5.6)版本和mysqlbinlog(3.4)即可
6.启动mysql问题:
#因为mysql服务器磁盘满,导致mysql自动退出,但是此时mysql.pid还存在,查看mysql状态提示:
MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
#启动mysql时会提示:
Starting MySQL...... ERROR! The server quit without updating PID file (/main/mys ql/mysql.pid)
#解决方法:
查看是否有残留进程并杀死
ps -ef |grep mysql|kill -9
还要用端口命令查看端口,有的话也杀死访问的进程:
netstat -an|grep 3306 (当有进程还在访问mysql时,那么3306端口还是存在的,启动会提示端口已存在)
最后删除/var/lock/subsys/mysql即可。
#另外查不出问题的时候查看mysql的错误日志
2018-12-17 08:42:42 28121 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
2018-12-17 08:42:42 28121 [ERROR] Do you already have another mysqld server running on port: 3306 ?
2018-12-17 08:42:42 28121 [ERROR] Aborting
此处提示就是在mysql未异常退出之前,有进程还在访问,mysql异常退出之后,此进程还在,那么就会有端口存在了。
文章转载自运维先生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




