mysql
铠甲蘑菇
这个作者很懒,什么都没留下…
展开
-
记一次大数据表危机处理
背景基础交易数据库trade_base使用的是mysql数据库,有两张大表trade_base_order 和trade_base_resource_change_record,数据量分别达到了187G和258G,达到了总磁盘的81%,由于磁盘告警阀值设置在85%,加上数据主要集中在两张大表,导致了发现问题的时候已经无法增加索引和字段还有整块磁盘快耗尽的问题,mysql普通的delete无法释放磁盘空间,执行optmize table来释放磁盘空间也不行,因为剩余空间不够这个命令执行的要求,因此事情变.原创 2021-02-14 15:57:45 · 271 阅读 · 3 评论 -
windows 下 mysql 乱码
背景冲突将项目和数据库从macos上迁移到windows 上,发现查询功能有问题,又发现插入的数据变成乱码,便知都是由于数据库编码问题导致的解决方法将数据库编码改成utf-8, 找到 my-default.ini 文件,如我电脑上的地址 D:\mysql-5.7.16-winx64\my-default.ini,在 [mysqld] 那行下方的某个为止加入character_原创 2017-01-07 13:30:17 · 231 阅读 · 0 评论 -
SQL笔记
1.My SQL:,随机查询20条select * from 表名 order by rand() limit 202.时间间隔判断select * from video_info where UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(upload_time)3.判断是否是同一天select * from video_play_h原创 2016-04-02 10:26:48 · 381 阅读 · 0 评论 -
ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiMacBook-Air.local.
在Mac上通过brew install mysql 安装了完mysql执行mysql.server start报错:ERROR! The server quit without updating PID file (/usr/local/var/mysql/chenyuntekiMacBook-Air.local.pid).nano /usr/local/var/mysql原创 2016-04-04 23:10:16 · 4255 阅读 · 0 评论 -
MySQL存储过程实现游戏合服
DELIMITER $$DROP PROCEDURE IF EXISTS `combine`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `combine`(IN fromdbs VARCHAR(200),IN todb VARCHAR(30))BEGINDECLARE dsize INT DEFAULT 0;DECLARE原创 2016-03-04 17:26:22 · 988 阅读 · 1 评论 -
windows下mysql5.6 表名自动变小写问题
最近有一个合服的工作,于是在本地windows上装了个mysql5.6,合服在本地进行,用SQlyog 客户端工具。写了一个存储过程实现了合服的逻辑,然而合服那天却出了问题,我从线上服复制的表结构,到本地表名全变成了小写,而线上服有大写表名。一开始我怀疑是SQLyog的问题,找了一番,没找到相关的设置,后面网上查,才怀疑是windows 下的mysql默认不支持小写的问题。按照网上的方法 在原创 2016-03-08 10:12:27 · 5702 阅读 · 0 评论 -
mysql 备份与还原
使用mysqldump命令导出.sql文件(1)导出数据库所有表结构mysqldump -uroot -pchenyun -d chunt>E:\ddump.sql(2)导出数据库某张表的结构mysqldump -uroot -pchenyun -d chunt bags>E:\sdump.sql(3)导出数据库所有表结构和表数据原创 2016-03-04 14:04:47 · 337 阅读 · 0 评论 -
一句SQL搞定合服关卡排名
需求:有多个游戏区服,现在要把他们合并到一个服,问题是每个区的关卡都有一个排名第一的,合服后要在多个第一中选出一个作为合服后的第一,选择条件是 关卡最高得分.一句sql搞定,代码如下:SELECT * FROM (SELECT *,( SELECT B.id FROM (SELECT * FROM tower.`stagerank` UNION ALL SELECT *原创 2015-12-03 23:12:39 · 665 阅读 · 1 评论 -
ERROR: Packet for query is too large (2034> 1024)
故障现象:数据存储的时候报ERROR: Packet for query is too large (2034> 1024). You can change this value on the server by setting the max_allowed_packet' variable.排查过程:从报错看是 mysql的 max_allowed_packet参数值设原创 2016-01-28 08:37:06 · 8051 阅读 · 0 评论 -
合服表合并
需求:两个服合成一个服,需要讲两个数据库的相同的表合并前提:表的主键不会重复一句sql,代码如下:INSERT INTO tower_S1_S2_S3_S4_S5_S6.`globalachievement` SELECT * FROM tower.`globalachievement`原创 2015-12-03 20:03:21 · 522 阅读 · 0 评论 -
mysql 将某个字段的值统一加上一个后缀
譬如 "-s1" xxx-s1 yyy-s1 zzz-s1使用 update xtable set xfiled =xfiled+'-s1' 结果 值 变成了 一个整数 0 正确写法: update xtable set xfiled =concat(xfiled,'-s1')总结:oracle 和 sqlserver 可以用 加号拼接原创 2015-12-03 10:48:49 · 3536 阅读 · 1 评论