
mysql problem
文章平均质量分 57
林震南
笨小孩,攒钱,投资,争取早日财务自由,回老家教书育人
展开
-
Waiting for table metadata lock
朋友圈群里看到一个朋友贴了一段报错,大概是从库延时了,second_behind_master有29000+,然后看到一个很简单的session会话,堵住那里,并且上面有显示信息:Waiting for table metadata lock。数据库后台错误日志显示如下:通过看processlist呢,没有看到这个session前面有堵住的比较大的耗时的sql语句,而且分析这个堵住的sql语句,就是一个简单的加字段的sql,这个表也不大的,那么在哪里呢?梳理下思路,一般【Wa..原创 2021-07-31 11:03:50 · 2786 阅读 · 0 评论 -
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
今天节假日,有个学弟给我发消息说遇到这样的问题,ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes,有什么办法?这个问题蛮常见的了,小表基本不会遇到,只有那些varchar字段特别长的,或者有多个varchar字段,又要建立多个索引的表,才会遇到。这个报错信息,是由于索引长度限制导致的,并不是字段长度限制,而是有一个系统参数innodb_large_prefix来控制的,我们先来官网上看看这个...原创 2021-05-02 17:18:42 · 12638 阅读 · 0 评论 -
MySQL的count(1)特别慢的解决方案
在mysql里面,统计表的行数,大部分情况下,大家都采用select count(1) from table_name where pkid>0 and xxxxx and xxxxxx;这样的方式,去数据库表查下返回结果。这种情况下,在表小的时候,很快返回,当表越来越大的时候,就会特别慢。特别是查询表总记录数的情况下。select count(1) from table_name where plid>0;我们先来看下count的方案,mysql一般有2种存储引擎:1、My...原创 2021-05-01 14:10:28 · 19936 阅读 · 1 评论 -
this is incompatible with sql_mode=only_full_group_by
有朋友说,说数据迁移到阿里云后,报错this is incompatible with sql_mode=only_full_group_by,如下所示:看了下官网:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by,看到5.7.5之后默认only_full_group_by就默认生效。这个错误一般发生在mysql 5.7.5以及5.7.5以上的版本中,其原因是mysql...原创 2021-04-24 18:42:14 · 11038 阅读 · 0 评论 -
朋友y的tcmalloc问题
mysql版本是5.7.33,采用采用malloc-lib=tcmalloc的方式启动,有这样的报错信息:mysqld_safe --malloc-lib must be an absolute path ignoring value 'tcmalloc'看了tcmalloc安装路径,是:ll /usr/lib/libtcmalloc.solrwxrwxrwx 1 root root 29 Apr 16 17:49 /usr/lib/libtcmalloc.so -> /usr/...原创 2021-04-17 23:51:06 · 10420 阅读 · 0 评论 -
mybatis处理mysql的timestamp字段问题
1、大概问题:用了阿里云的rds实例,默认是CST,平常没有问题,有一次出故障了,比预想的差了13小时,认真分析了下,原因找到了:名为 CST 的时区其实是一个很混乱的时区,在与 MySQL 协商会话时区时,Java可能会误以为是CST -0500,而不是CST +0800。2、问题解决:问题很好解决,去mysql上设置下:set global time_zone = '+08:00';set time_zone = '+08:00';然后去修改下my.cnf配置文...原创 2021-04-03 12:42:49 · 12674 阅读 · 0 评论 -
ERROR 1050 (42S01) at line 154: Table ‘columns_priv‘ already exists
安装部署只读库的时候,从主库备份数据,一切正常的,但是导入数据的时候,报错了,信息如下:ERROR 1050 (42S01) at line 154: Table 'columns_priv' already exists查找了下,是卡在导入数据的时候,有一个操作是create tablecolumns_priv(...........);但是新部署的只读库里面,mysql.columns_priv已经存在了,所以报错,load进程退出了。问题解决办...原创 2021-03-29 00:47:43 · 11546 阅读 · 6 评论 -
如何理解多用户的数据库开发?
今天周末,接到朋友电话,咨询一下:“多用户的数据库开发具体是指哪些?”我听了,有些楞住,没有梳理过什么叫多用户的数据库开发,还是据实而言,工作生活没有接触过这个词语:“多用户的数据库开发”,根据我的经验,之前有接触过商用数据库软件比如orace 12c里面有多租户体系,不过没有仔细研究过,查了一些资料:oracle 12c 多租户体系简介我简单和朋友介绍了下,数据库开发的一些基本信息:数据库开发一般分几个方向:1、工具类开发;2、存储产品开发;3、业务类sql开发...原创 2021-03-27 12:43:20 · 11070 阅读 · 0 评论 -
MySQL 福利彩票业务 如何存储毫秒微秒
朋友在做福利彩票业务,遇到一个存储毫秒微秒数据的需求,问我mysql里面有何解决方案。我脑中一搜索,以前没有关注到,于是去官网查看,找到11.3.6 Fractional Seconds in Time Values 这一章节,看到一个描述To define a column that includes a fractional seconds part, use the syntax typ...原创 2019-08-03 14:58:11 · 10126 阅读 · 0 评论 -
ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
导入mysql数据报错:[root@hch_test_dbm1_121_62 load_binlog]# mysql3309 </home/mysql/alldb.sqlmysql: [Warning] Using a password on the command line interface can be insecure.ERROR 1840 (HY000) at line 24...原创 2019-08-02 19:31:06 · 10620 阅读 · 0 评论 -
MySQL: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1':问题
执行mysqldump报错[root@t91~]# mysqldump -d --socket=/usr/local/mysql/mysql.sock orcl_db >orcl_db.sqlmysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syn...原创 2019-08-01 19:14:50 · 11875 阅读 · 2 评论 -
MySQL 占据60g磁盘容量的大表分析
在进行mysql数据库巡检的时候,发送一个数据文件特别大,有快60g了,如下:[root@db_m1_slave_1 business_db]# ll -h MOVIE_INTERFACE_LOG.ibd -rw-rw----. 1 mysql mysql 59G Jan 16 16:40 MOVIE_INTERFACE_LOG.ibd[root@db_m1_slave_1...原创 2019-07-29 10:46:18 · 10450 阅读 · 0 评论 -
MySQL 5.7 优化SQL提升100倍执行效率的深度思考
系统环境:微软云Linux DS12系列、Centos6.5 、MySQL 5.7.10、生产环境,step1,step2是案例,精彩的剖析部分在step3,step4.1、慢sql语句大概需要13秒原来的sql语句要13秒,sql如下: SELECT (SELECT COUNT(*) FROM TB_BIS_POS_...原创 2019-07-27 13:02:27 · 10346 阅读 · 0 评论 -
MySQL 诡异报错Can't create/write to file '/tmp/#sql_89b_0.MYI' (Errcode: 177 - File exists)
同事连接数据库,查询数据报错了,Can't create/write to file '/tmp/#sql_89b_0.MYI' (Errcode: 177 - File exists):而且我自己去连接,正常:我让他关闭客户端连接,再重新执行查询语句,也是报一样的错误。(1)去mysql的error日志里面,没有看...原创 2019-07-23 09:08:29 · 10570 阅读 · 0 评论 -
MySQL DBA 分歧之一 -- 读写分离场景中读写账号是否分离?
读写账号是否分开?想起了前些天一个DBA朋友和我的聊天,是关于读写分离的场景中,读写模块是否使用同一个帐号的问题,感觉蛮有代表性的,把聊天记录分享出来,欢迎大家继续讨论朋友A问我:“那你们读写分离是2套账号还是一套呢”我说:“是两套”------------------------------------------------------------...原创 2019-07-23 09:08:11 · 10198 阅读 · 0 评论 -
MySQL ERROR 1451 (23000) 外键异常处理
1、执行delete报错mysql> delete from JBPM4_EXECUTION;ERROR 1451 (23000): Cannot delete or updatea parent row: a foreign key constraint fails (`jbpm_db`.`JBPM4_EXECUTION`,CONSTRAINT `FK_EXEC_INS...原创 2019-07-23 09:07:50 · 15994 阅读 · 0 评论 -
MySQL5.7 Attempted to use a closed or broken resource pool 处理过程
1,tomcat启动报错不能获取JDBC连接mysql版本:5.6.10tomcat版本:7.0jdk版本:1.7.0_55开发人员强调说是以前经历过重启下mysql数据库就好了,不过我不太相信,因为我通过sqlyog客户端连接数据库完全正常的,而且我使用以下生成的kill命令清除了所有数据库连接,然后再重启7100的tomcat,也没有发现任何tomcat发起的...原创 2019-07-22 13:58:17 · 12634 阅读 · 0 评论 -
MySQL5.7 ERROR 1142 (42000)问题
1,mysql全库导入报错[root@dev_121_21 ~]# mysql--socket=/usr/local/mysql/mysql.sock --default-character-set=utf8</home/alldb_20160605.sqlERROR 1142 (42000) at line 266079: SELECT,LOCK TABLES command...原创 2019-07-21 03:14:20 · 10602 阅读 · 0 评论 -
MySQL5.7 SLAVE监控zabbix报警 报错Slave_SQL_Running_State: invalidating query cache entries (table)处理
1,Zabbix报警Slave延迟2万多个操作位去slave从库上查看运行状态,果然Seconds_Behind_Master: 28810,而且提示Slave_SQL_Running_State: System lock而且这个是变化的,有的时候提示Slave_SQL_Running_State:invalidatingquerycacheentries(table),而且Seco...原创 2019-07-20 11:57:55 · 11735 阅读 · 0 评论 -
MySQL5.7 连接池的连接timeout问题
1,线上监控人员报错,tomcat下的应用连接数据库问题: --- Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 99,634,779 milliseconds ago. The last ...原创 2019-07-13 12:39:26 · 11225 阅读 · 0 评论 -
MySQL5.6.12 Waiting for commit lock导致从库hang住的问题剖析
nagios报警,线上一台从库检测不到slave状态,于是远程上去查看问题:1,show slave status\G卡住:Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show slave status\Gshow slave status卡住了,动弹不...原创 2019-07-12 23:34:38 · 11744 阅读 · 0 评论 -
MySQL服务器时间同步问题
1,调整数据库服务器时间因为应用app摇一摇活动发现过时15分钟,还可以继续摇一摇,问题根源在于数据库服务器时间比应用服务器时间蛮了18分钟,而app取得是数据库的now(),所以才导致的。2个解决办法,1是修改程序代码,不通过数据库now()去取而是通过应用服务器取;2是直接修改数据库的时间。经过权衡之后采纳第二种方案。1.1,通过date -s修改时间 修改linux服务器时间date...原创 2019-07-07 15:11:18 · 12197 阅读 · 0 评论 -
MySQL Error Query database. Causejava.sql.SQLException: Incorrect key file for table ‘/tmp/#sql_181c
1,开发人员截图给我,后台报错如下:Error Query database. Causejava.sql.SQLException: Incorrect key file for table ‘/tmp/#sql_181c_0.MYI’; tryto repair it;分析,这种,大多数情况是tmp临时表空间不足,所以执行比较复杂的sql或者执行大表关联的时...原创 2019-07-05 10:11:44 · 10904 阅读 · 0 评论 -
MySQL 中文insert报错Incorrect string value: '\xCC\xEC\xB2\xC5'
序言:中文录入失败,报错:Incorrect string value: '\xCC\xEC\xB2\xC5',如下所示:mysql> set names utf8;Query OK, 0 rows affected (0.00 sec)mysql> insert into t select 2 as a ,'天才' as b;ERROR 1366 (HY00...原创 2019-07-03 12:42:25 · 10740 阅读 · 0 评论 -
MySQL 事务RUNNING状态引发的Transaction timed out: deadline问题
前言: 朋友说简单的查询导致Transaction timed out: deadline问题,怀疑是数据库表锁了,1,应用故障描述Deadline问题:--- The error occurred in META-INF/ibatis/ITEM_sqlmap.xml. --- The error occurred while executing query. --- Check...原创 2019-06-30 00:56:51 · 22245 阅读 · 1 评论 -
MySQL--查询5天之内过生日的同事中的闰年2月29日问题的解决过程
前言:上次写了查询5天之内过生日的同事中的跨年问题的解决过程,其中漏了一个闰年2月29日生日的细节问题,现在补充一下这个问题的处理过程:5,补充闰年判断有朋友提醒,闰年2月29日生日的话,可能查询不到,想到确实没有考虑到这个特殊的日期。5.1,准备测试数据SQL,包含1980-02-29这一天生日的朋友。INSERT INTO ali_users SELECT 'Jeff',...原创 2019-06-28 00:00:13 · 10463 阅读 · 0 评论 -
MySQL -- 查询5天之内过生日的同事中的跨年问题的解决过程
前言: 遇到朋友提问,如下:SELECT*FROMali_usersWHEREDATEDIFF(CAST(CONCAT(DATE_FORMAT(NOW(),'%y'),DATE_FORMAT(birthday,'-%m-%d'))ASDATE),CAST(DATE_FORMAT(NOW(),'%y-%m-%d')ASDATE))<=1上面的可以找到今天或...原创 2019-06-28 00:00:06 · 10507 阅读 · 0 评论 -
用MySQL里的Rand()生成 不连续重复 的随机数年龄以及随机姓名字符串
前言:RAND函数,返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。一,朋友问题描述如下:(1),有一个用户表,有id,用户的真实名字,年龄。通过一段存储过程来实现向表里插入100数据,其中年龄随机姓名姓氏:’赵钱孙李周吴郑王’;,随机取出一个名字:’一段文字字符串’,随机的取出一个字或者两个字要求:随机的名字不能出现连续重复。(2),...原创 2019-06-27 23:59:36 · 10595 阅读 · 0 评论 -
Emoji表情符号录入MySQL数据库报错的解决方案
前言:手机app应用评论的时候,恢复表情符号,提示失败。1,查看tomcat后台日志,核心报错信息如下:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1at com.mysql.jdbc.SQLErr...原创 2019-06-26 22:00:32 · 10221 阅读 · 5 评论 -
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
前言:朋友咨询我说执行简单的update语句失效,症状如下:mysql>updateorder_infosetprovince_id=15,city_id=1667whereorder_from=10andorder_out_sn='1407261241xxxx';ERROR1205(HY000):Lockwaittimeoutexceeded;t...原创 2019-06-26 22:00:25 · 10654 阅读 · 0 评论 -
MySQL通过自增一列在Select ... into outfile...里面实现CSV导出带字段的效果
CSV的样例中Select ... into outfile...是不带字段名的,只导出数据,所以需要自己想另外的办法实现,这里有一个笨招,自己构造一个字段列,示例如下:1,创建测试表数据CREATE TABLE test.c SELECT 1 AS pid,1 AS item,15.0 AS wgt UNION ALLSELECT 1 AS pid,2 AS item,20.0 AS wg...原创 2019-06-26 22:00:03 · 10524 阅读 · 0 评论 -
[mysqldumpslow 报错] Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.
mysqldumpslow报错:Died at /usr/local/mysql/bin/mysqldumpslow line 161, <> chunk 236.总结:是因为top数目太多了,mysqldumpslow遍历不过来的缘故。/usr/local/mysql/bin/mysqldumpslow -s -t 15 /root/db01-102-slow.l...原创 2019-06-24 08:49:21 · 10784 阅读 · 0 评论 -
The incident LOST_EVENTS occured on the master. Message: error writing to the binary log, Error_code
1 mysq error日志报错如下:2014-05-12 11:29:54 22977 [ERROR] Slave SQL: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log, Error_code: 15902014-05-12 11:29:54 22977 [...原创 2019-06-24 08:49:08 · 10409 阅读 · 0 评论 -
MySQL 线上飙升800%,load达到12的解决过程
接到报警通知,负载过高,达到800%,load也过高,有11了。MySQL版本为5.6.12-log1 top 之后,确实是mysqld进程占据了所有资源。2 查看error日志,无任何异常3 show eninge innodb status\G,没有死锁信息。4 show full processlist;没有耗时非常大的慢sql再跑。看并发,当...原创 2019-06-23 00:03:25 · 10214 阅读 · 0 评论 -
MySQL5.6.12造成CPU的使用率 2000%的原因
Top得出CPU使用率超高:top - 16:41:04 up 184 days, 21:31, 2 users, load average: 19.97, 18.38, 18.36Tasks: 584 total, 1 running, 583 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.0%sy, 41.2%ni, ...原创 2019-06-22 10:57:32 · 10272 阅读 · 0 评论 -
MySQL 最有意思的视图view优化过程,从30分钟到0.08秒
开发人员写了一个view,select要30分钟,让我优化下,view如下:CREATE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW view_offer_label ASSELECT ol.OFFER_ID AS OFFER_ID,ol.EFFECTIVE_DATE AS EFFECTIVE_DATEFROM offer_label ...原创 2019-06-22 10:50:29 · 13578 阅读 · 1 评论 -
MySQL Workbench用csv格式导出数据乱码
朋友问:他在workbench查询窗口里面select 2000多条记录,然后保存成tickets.csv,打开里面的英文字母是OK的,但是中文字幕乱码了。我在这边试了下,确实有这个问题,不过乱码一般都是编码格式的问题,google后,找到解决方案如下:1,在select窗口下面,先点击保存按钮,下载tickets.csv.2,,这个时候文件是utf-8编码的,用excel...原创 2019-06-22 10:50:20 · 15870 阅读 · 2 评论 -
Oracle数据库以及sqlserver数据库迁移到MySQL库需要注意的一些地方
1,oracle,自己写程序代码实现,但是数据库表结构的问题,比如:(1)表结构转换问题:oracle字符串类型,里面常用的是varchar2,而mysql里面常用的是varchar,而且varchar(N)这个N指的还是字符个数而不是存储的字节数目。oracle里面数字类型,常用的是number,而mysql里面常用的是int。oracle里面日期类型,常是的是date,而mys...原创 2019-06-22 10:50:03 · 10421 阅读 · 0 评论 -
ERROR: Can not connect to monitor daemon!的问题
使用yum install mysql-mmm安装的。mmm软件安装完了,配置都写好了,但是执行/usr/sbin/mmm_control show报错如下:ERROR: Can not connect to monitor daemon!1,检查db1和db2上面的agent,都是开启的。2,检查iptables,也都是好的,没有过滤。3,去看mmm的日志报告,报连接127.0.0.1...原创 2019-06-21 22:48:44 · 10537 阅读 · 0 评论 -
ERROR 1146 (42S02): Table 'mysql.slow_log' doesn't exist
去查看最新的slow log,发现没有最新的记录,上去检查slow log是否开启了。mysql> show variables like '%slow%';+---------------------+------------------------------------------+| Variable_name | Value ...原创 2019-06-21 22:44:46 · 10472 阅读 · 0 评论