77百科网
当前位置: 首页 生活百科

mysql 问题排查都有哪些手段(MYSQL一些问题汇总)

时间:2023-07-07 作者: 小编 阅读量: 2 栏目名: 生活百科

TIMESTAMP列字段说明createtabletest(,接下来我们就来聊聊关于mysql问题排查都有哪些手段?Slave会等待slave_net_timeout设置的秒数后,才能认为网络出现故障,然后才会重连并且追赶这段时间主库的数据。slave_net_timeout是设置在多少秒没收到主库传来的BinaryLogsevents之后,从库认为网络超时,SlaveIO线程会重新连接主库。一般线上设置为5s。

mysql 问题排查都有哪些手段?TIMESTAMP列字段说明create table test(,接下来我们就来聊聊关于mysql 问题排查都有哪些手段?以下内容大家不妨参考一二希望能帮到您!

mysql 问题排查都有哪些手段

TIMESTAMP列字段说明

create table test(

aaa char(32),

createtime TIMESTAMP

);

show create table test;

CREATE TABLE `test` (

`aaa` char(32) COLLATE latin1_bin DEFAULT NULL,

`createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin

这里的

createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

意味更新记录时,createtime字段都会被设置为当前时间

可以单独设置:

CREATE TABLE `test` (

`aaa` char(32) COLLATE latin1_bin DEFAULT NULL,

`createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin

这样更新记录时就不会自动更改这个字段值了。

ERROR 1449 (HY000): The user specified as a definer (‘root’@’%’) does not exist

一个表好久没插入数据了,今天业务插入数据时竟然提示:

ERROR 1449 (HY000): The user specified as a definer (‘root’@’%’) does not exist

检查了好长时间,发现没有用 (‘root’@’%’)连接MySQL的地方,最后发现这张表有一个trigger,建立时是用(‘root’@’%’)建立的。这时想起来,mysql一开始是没有限制权限的,默认都是(‘root’@’%’)连接,后来加了用户访问权限,删除了(‘root’@’%’),结果导致没有权限执行这个触发器。

处理方法:删除并重建触发器就可以了。

mysql master重启后slave延迟问题

今天mysql master重启后,slave一直延迟,show slave status一直显示:

Master_Log_File: mysql-bin.000006

Read_Master_Log_Pos: 158782

但master上log明明到了mysql-bin.000007,原来是slave_net_timeout参数的问题

修改my.cnf,增加:

slave_net_timeout = 30

#当slave从主数据库读取log数据失败后,等待多久重新建立连接并获取数据。

#MySQL主从复制的时候, 当Master和Slave之间的网络中断,但是Master和Slave无法察觉的情况下(比如防火墙或者路由问题)。Slave会等待slave_net_timeout设置的秒数后,才能认为网络出现故障,然后才会重连并且追赶这段时间主库的数据。默认是3600秒,建议设置:30

修改MASTER_CONNECT_RETRY参数:

change master to MASTER_CONNECT_RETRY=15;

#当重新建立主从连接时,如果连接建立失败,间隔多久后重试。默认设置为 60秒,建议设置:15

Replicate_Do_DB

该参数如果想匹配多个数据库,要在配置文件中写多行Replicate_Do_DB=XXX,而不能在一行中以’,’分隔写多个,这样写一个也不生效。

slave_net_timeout 问题一则

在一个已经建立主从复制关系的系统里面,正常情况下,由从库向主库发送一个 COM_BINLOG_DUMP 命令后,主库有新的binlog event,会向备库发送binlog。

但是如果主库长时间(大于slave_net_timeout)没有向从库发送binlog,从库就会认为主从连接中断向主库发起重连请求。

slave_net_timeout是设置在多少秒没收到主库传来的Binary Logs events之后,从库认为网络超时,Slave IO线程会重新连接主库。

该参数的默认值是3600s ,时间太久会造成数据库延迟或者主备库直接的链接异常不能及时发现

将 slave_net_timeout 设得很短会造成 Master 没有数据更新时频繁重连。

一般线上设置为5s 。

关于mysql字符集

| character_set_client | gb2312 |

| character_set_connection | gb2312 |

| character_set_database | latin1 |

| character_set_results | gb2312 |

| character_set_server | latin1 |

请求转换逻辑是:character_set_client -> character_set_connection -> character_set_database(table,column)/character_set_server

返回转换逻辑是:character_set_database(table,column)/character_set_server -> character_set_results

但是需要注意,如果表、数据库、服务是latin1的字符集,除非character_set_client、character_set_connection、character_set_results的编码都是latin1,不然是无法转换成功的,因为latin1本身并不关心是不是汉字,它只是按字节流存储

mysql的权限设置

最近在mysql的权限设置时,grant select on test.* to voip@’%’,生效后用voip登录,发现test库仍然可以有其它create,drop操作,后来发现默认安装后test库是对所有用户都有所有权限的,select * from mysql.db可以看到;

其它一些问题:

1、Starting Mysql.The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).[失败]

最后原因竟然是my.cnf配置错误,有两条重复内容,InnoDB_flush_method = O_DRIECT

2、[root@localhost bin]# /mysqlbinlog /var/lib/mysql/mysql-bin.000053

/mysqlbinlog: unknown variable 'default-character-set=latin1'

原因是my.cnf配置文件中,最后两行mysqlbinlog程序不能识别

[client]

user = root

password = cpyf

port = 3306

socket = /tmp/mysql.sock

default-character-set=latin1

tee = /home/jfy/tmp/mysql_opt.sql

解决办法:一是修改my.cnf屏蔽这两行,二是在mysqlbinlog命令中加入--no-defaults 选项就不会读取my.cnf中client段的默认的配置了

这个错误还会出现在一些象mysqladmin这种客户端工具上。

3、如何回收InnoDB表空间

大家知道InnoDB表,插入大量数据后,表文件大小会变大,然后即使删除了数据,表空间大小也不缩小

可以按以下几种方法来做。

truncate table

analyze table

optimize table

alter table xx engine=innodb

如果还不行,那么只有先备份数据,然后drop table,再导入数据了

4、MYSQL交互式与非交互式连接会话有什么不同?

研究wait_timeout参数,牵扯出交互式和非交互式连接,那么到底什么是交互式连接,什么是非交互连接呢,就这么一个小问题,找遍所有网站也没有一个明确答案

自己总结一下:

交互式,用tcp连接上去,象mysql自带的客户端工具,还有象mysql_real_connect库函数这样的连接MYSQL的程序

非交互式,象ODBC与JDBC这种连接方式,mysql < ins.sql,这种方法,其实也是一种非交互式的

那么mysql_real_connect中的“CLIENT_INTERACTIVE”选项,带这个参数与不带这个参数有什么不同呢?MYSQL服务器什么做什么特殊处理呢?我一直迷惑

5、MySQL的read-only选项:

今天在从机上开起read-only选项,insert和update还是可以成功,原来我用的是super权限,super权限在read-only状态是允许写操作的。

read-only选项:对所有的非临时表进行只读控制。但是有两种情况例外:

1. 对replication threads例外,以保证slave能够正常的进行replication。

2. 对于拥有super权限的用户,可以ignore这个选项。

SUPER 权限 :

1. 可以有change master to, kill其他用户的线程的权限。

2. Purge binary logs 来删除binary log, set global来动态设置变量的权限。

3. 执行mysqladmin debug命令,开启或者关闭log,在read-only打开时执行update/insert操作。

4. 执行start slave, stop slave.

5. 当连接数已经达到max_connections的最大值时,也可以连接到server。

6、MySQL服务启动后怎么执行SQL语句:修改my.cnf,在mysqld段中加入:init-file = /usr/local/mysql/data/init-file.sql,就可以了

IP address could not be resolved: Temporary failure in name resolution

关于Relay Log无法自动删除的问题(Neither --relay-log nor --relay-log-index were used)

    推荐阅读
  • 祝领导及同事春节祝福语(送给领导及同事春节祝福语)

    祝领导及同事春节祝福语送走旧年的时候,也送走一年的阴郁,迎来新春的时候,也迎来新的希望。零时的钟声响彻天涯,新年的列车准时出发。否极泰来时重申鲲鹏之志,惜时勤业中,展军无限风采。过去的一年我们合作得都很愉快,谢谢您的关照,祝您春节快乐!值此新春佳节之际,祝您及家人幸福吉祥身体健康,乐驰千里马,更上一层楼!新年、新事、新开始、新起点、定有新的收获,祝朋友们事事如意,岁岁平安,精神愉快,春节好。

  • 洁面乳能天天用吗 洁面奶可以天天用吗

    洁面乳能够去掉脸部的污垢油脂分泌物,还可以保持脸部皮肤的清爽健康。但需要注意过度使用洁面产品会对角质层造成破坏,皮肤会变得干燥受到损伤。虽然洁面产品对皮肤的伤害很少,但注意不要频繁的对皮肤进行清洁,正常情况一天两次就行。皮肤的表面会形成透明的皮脂层,它对人体的皮肤有保护的作用,可以阻挡外在对皮肤的一些伤害。

  • 人生中的第一份工资(人生第一份工资)

    人生中的第一份工资出生在一个小城市。大一那年的寒假,回到家里,发现一个房间铺满了零散的玉米棒子,做教师的父母怎么会收集玉米呢?想起父母给自己在学校的生活费还是充裕,为自己平素的大手大脚惭愧!我决定利用假期去打工,第二天我离开家乡,回到读大学的城市。那个时候没有招聘网站,只有人才市场和劳务市场。大学文凭还没拿到就只能去劳务市场。在校学生的身份,只有一个月的工作时间,雇佣方是不想用的。

  • 2022年廊坊关于电动自行车集中登记上牌截止的通告

    集中登记上牌期截止后,合格证和发票丢失的电动自行车将不能办理登记上牌。在集中上牌期间,对不符合强制性国家标准的电动自行车发放白色临时号牌,设置三年过渡期,过渡期满后,不得上路行驶。

  • 怎么压缩ppt文件大小 电脑怎么压缩ppt文件大小

    2点击文件菜单选项点击左上角的文件菜单选项。3选择演示文稿质量在信息选项下选择演示文稿质量选项。4开始压缩完成点击关闭点击后会弹出一个页面开始压缩,压缩完成点击关闭按钮即可。

  • 十大重工业城市(我国四大工业基地)

    ,下面我们就来说一说关于十大重工业城市?我们一起去了解并探讨一下这个问题吧!

  • 土豆丝的香味是什么原因(来看看吧)

    土豆丝的香味是什么原因土豆丝的香味是来自里面的淀粉和蛋白质相互作用的结果。因为土豆丝含有大量的淀粉,能为人体提供丰富的热量,且富含蛋白质、氨基酸及多种维生素、矿物质,尤其是其维生素含量是所有粮食作物中最全的。还有一种可能是土豆丝的厚度。土豆丝并不是切的越细越好,相反切得太细炒出来的土豆丝会成一团,影响香味,因此土豆丝的厚度也影响了香味,再加上用了合适的调味料,香味非常的浓厚。

  • AI少女食物对体温影响机制介绍 ai少女提高体温

    食物对人物很多东西都是有影响的,下面就是小编给大家带来的AI少女食物对体温影响机制介绍,需要的朋友不妨进来看看。推荐阅读AI少女妹子养成图文攻略AI少女兔女郎捏脸数据分享一览食物对体温影响机制介绍

  • 才女翻译官(译人孟维娜汉语教会我求同存异)

    才女翻译官人物简介今年是中德两国正式建交50周年。对我而言,和汉语的关系亦是如此。在汉语中,有些词是由语义对立的两个字组成的。电灯开关在汉语中简称“开-关”。德国人以其缜密的计划而闻名于世。没有精心的准备和细致的时间安排,他们不会贸然采取任何行动。而在中国,人们更愿意采取行动并看到立竿见影的效果。随后在具体的实施过程中再敲定细

  • 战双帕弥什体力不够怎么办(战双帕弥什怎么能补充体力)

    战双帕弥什体力不够怎么办这个游戏目前可以支配的资源,归根结底是体力,体力是硬通货,以及可以购买体力的黑卡。战区和囚笼的代币一个兑换意识,一个兑换碎片。联机有概率出5星武器,想必大家不会放弃,所以把联机3次的体力从日常中扣除。体力购买最划算的购买次数为3次或7次。一个白嫖党(月卡党)每周所能支配的所有资源,每日可以获得360的基础体力和201.4的黑卡。优先刷意识狗粮和技能点,角色经验这些重要的本。