MySQL
orangleliu
快乐编程
展开
-
[Mysql]从表中随机取出一条数据sql
这是前一段时间做一个需求的调研,需求就是很快的从mysql一张表中随机取出一条数据,原创 2014-10-19 21:05:13 · 3870 阅读 · 0 评论 -
MySQL5.6 主从复制 ERROR 1776 (HY000): Parameters MASTER_LOG_FILE ...
上一篇 [mysqldump]不停止MySQL服务的情况下增加从库 操作中遇到的问题解决。主从都开启了gtid,在设置从库的时候遇到了问题mysql> CHANGE MASTER TO MASTER_HOST=‘xxx’,MASTER_USER='replicant',MASTER_PASSWORD=‘xxx’, MASTER_LOG_FILE='bin.000050', MASTER_LOG_原创 2017-03-09 17:14:29 · 10138 阅读 · 1 评论 -
打印InnoDB数据文件中B+Tree的脚本
InnoDB的代码太复杂了,有时候也不敢肯定自己的理解是对的。因此写了一个小脚本,来打印InnoDB数据文件中B+Tree。这样可以直观的来观察B+Tree的结构,验证自己的理解是否正确。 - 宋利兵 (微信号 MySQL代码研究) 这是宋老师在 由浅入深理解InnoDB的索引实现(2)中提到的脚本。转载 2017-03-07 11:15:04 · 882 阅读 · 0 评论 -
MySQL5.6 架构图收藏欣赏
下面是收集的一些MySQL体系架构图等,有必要多看多思考,特别适合看过一遍之后,过一段时间再看一遍,对知识回忆很有好处mysql 架构图来源:Database blog by Rathish kumar来源:江疑innodb 架构图来源:姜老师转载 2017-03-20 17:42:29 · 5689 阅读 · 0 评论 -
django 中 MySQL: "Field 'id' doesn't have a default value" 错误
有一个比较老的表,使用innodb引擎,但是之前的表设计中没有使用自增ID,而是使用了类似UUID的字段作为主键,后来导致整个索引碎片很严重,影响查询效率。 新上线的系统也用了这个表,由于表已经存在了就通过 Alter 语句直接删除了原来的UUID主键,新建了一个自增ID主键。 结果在修改之后出现了如下的错误 (django1.8, python2.7, mysql5.6.27)错误日志...原创 2017-03-29 16:24:50 · 4233 阅读 · 0 评论 -
mysql5.6升级到5.7后Sequel Pro无法连接解决
因为装ntop,brew自动升级了本地的Mysql,结果升级完成之后,使用Sequel Pro连接总是报错,使用mysql 命令行工具就没有问题。OSX版本 10.11.5Mysql版本 5.6 升级到 5.7.14Sequel Pro 1.02 google找到了解决的办法mysql_upgrade -u root -pmysql.server restart帖子的出处,安装新版本之后还需原创 2016-09-01 11:04:27 · 3855 阅读 · 0 评论 -
[Python]django使用多进程连接msyql错误
问题mysql 查询出现错误error: (2014, "Commands out of sync; you can't run this command now")查询mysql文档中的解释 If you get Commands out of sync; you can’t run this command now in your client code, you are calling c原创 2015-07-16 23:49:52 · 4727 阅读 · 1 评论 -
MySQL 错误一例 ERROR 1785 (HY000) @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1..
MySQL5.6倒入实例数据库 sakila 的时候出现了如下的错误liuzhizhi@lzz-rmbp|sakila-db # mysql -uroot -p < sakila-data.sqlEnter password:ERROR 1785 (HY000) at line 81: When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to原创 2017-03-16 22:35:22 · 5890 阅读 · 0 评论 -
《MySQL运维内参》书籍目录备忘
这本是MySQL专家写的书(周彦伟,王竹峰,强昌金),介绍 MySQL 数据库知识的专业书籍,从核心原理到最佳实践,逐步深入浅出, 层层抽丝剥茧,不仅从源码和运维两个角度介绍了MySQL 大部分重要概念和运维要点,还 讲述了MySQL 最优秀的集群组件Galera的实现原理和运维经验,同时,也介绍了作者独立开发的 MySQL 审核系统 Inception的设计、实现与功能。一直关注他们的公众号,觉原创 2017-05-12 13:51:16 · 5390 阅读 · 2 评论 -
MySQL Join算法与调优白皮书
转载自 InsideMySQL 公众号,微信公众号不好被搜索引擎收录,所以转载一份备看。原文地址: https://mp.weixin.qq.com/s/vt7YjxaikJh14pnY2FAWvg 写作时间 2015-07-23正文Inside君发现很少有人能够完成讲明白 MySQL 的 Join类型与算法,网上流传着的要提升Join性能,加大变量 join_buffer_size(me:这是个转载 2017-06-03 11:28:52 · 5595 阅读 · 1 评论 -
MySQL 错误 “could not be resolved: ..” 和引发的思考
早上的时候发现mysql从库有点异常,看完了从库的日志,也看看主库的error log吧,这一看不得了啊,什么乱七八糟的ip都出现在日志里面,是不是叫人 密码爆破了。。mysql版本5.6.132017-06-04 09:29:19 45300 [Warning] IP address '123.206.224.80' could not be resolved: Temporary failure in name原创 2017-06-04 16:42:14 · 17699 阅读 · 0 评论 -
MySQL 分区表以及操作
对现有表进行分表, 对过期数据进行归档等操作。分表的一般 参考(只是参考): 表体积大于2g,简单查询表数据超过1000w行,复杂查询表超过200w行。 两种分表的思路 * 横行分表 比较常见的是按时间切分 * 纵向分表 对于字段的冷热程度区分很明显的情况注意的点 * 分表之前要搞清楚数据库引擎,数据现有的量,多大磁盘空间,多少行 * 分表之前 需要备份数据 * 分区之后,索引和数原创 2017-07-24 15:23:55 · 1745 阅读 · 0 评论 -
MySQL 学习资源整理
MySQL也有了几年了,说不出来个所以然,认知比较肤浅。所以需要加深学习呀,这里是学习过程中收集的一些好的资源,希望大家共同进步了。不是很系统的整理,看到了就记录了下来。博客前辈们的博客就是他们成长的足迹。DimitriK’s (dim) 玄惭 阿里何登成 阿里叶金荣 知数堂姜成尧 网易杨奇龙 支付宝penglixun 阿里王朝阳 大师兄吴老师 知数堂黄杉 周振兴 一个原创 2017-01-23 16:16:38 · 21101 阅读 · 0 评论 -
[mysqldump]不停止MySQL服务的情况下增加从库
MySQL主从是数据库高可用的最简单做法之一,结合每天的定时冷备份,基本上能满足小公司的数据备份要求。添加从库是经常要做的的一个操作,下面是一种常见的不停止主库实现从库的方法(很多时候我们不能直接开启读锁,那样会对业务影响比较大),主要的工具是 mysqldump.逻辑原理很多情况下是给一个有数据,或者说运行了一段时间的数据库来添加从库,从逻辑上来说需要把主库在某个时间的 日志位置记录下来, 然后原创 2017-03-06 18:44:31 · 3124 阅读 · 0 评论 -
[MySQL] 怎样使用Mysqlcheck来检查和修复, 优化表
mysqlcheck 是 MySQL 自带的一个工具,作用就是保养 表,其实就是检查,分析,修复和优化了。下面来介绍 mysqlcheck 工具的简单使用,官方文档在这里以下的例子都是基于 MySQL 5.6 版本运行状态下(mysqlcheck是个在线工具), 不同的存储引擎对于这个命令的支持程度不同(指的是 check, repair, analyze, optimize),下面内容偏于操原创 2017-03-18 20:34:23 · 20205 阅读 · 2 评论 -
[Mysql]mysql windows下配置文件
环境是win7 mysql5.6版本测试下配置文件是否可用(之前没用过windows下的msyql配置)修改配置前查询下:mysql> show variables like '%max_connections%';+-----------------+-------+| Variable_name | Value |+-----------------+--原创 2014-12-02 18:16:06 · 2145 阅读 · 0 评论 -
[Mysql]由Data truncated for column联想到的sql_mode配置
系统日志中出现了ata truncated for column 'agent' at row 1mysql出现这个问题的原因,无非就是字符集设置 或者是 字段过长导致的。mysql在初始化的时候已经统一为utf-8了,所以可以忽略这个问题。字符串过长从而导入插入失败一种方式是修改字段长度,可是我这个字段没法知道到底多长存储合适,不太好原创 2014-12-06 20:52:21 · 4272 阅读 · 0 评论 -
[Mysql]Innodb 独立表空间和共享表空间
innodb有2中表空间方式: 共享表空间 和 独立表空间查询数据的设置:show variables like '%per_table';默认是共享表空间,独立表空间在配置文件中添加 innodb_file_per_table=1 就可以设置了。共享表空间数据增大以后可以使用innodb_data_file_path的配置规划多原创 2014-12-11 22:16:07 · 1737 阅读 · 0 评论 -
[mysql]创建数据库并指定编码
现在用orm比较多,很多mysql表啊都不用自己创建,但是数据库还是要自己创建,记录下sql, 备忘。CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;GRANT ALL ON `mydb`.* TO `username`@localhost IDENTIFIED BY 'password';FLUSH PRI原创 2015-03-31 22:02:06 · 18226 阅读 · 0 评论 -
[Mysql]备份同库中一张表的历史记录 insert into ..select
需求现在有个这么一个需求,mysql中有个表,数据增长的很快,但是呢这个数据有效期也就是1个月,一个月以前的记录不太重要了,但是又不能删除。为了保证这个表的查询速度,需要一个简单的备份表,把数据倒进去。代码于是我写了一个小脚本,用来做定时任务,把这个表某段时间的数据备份到备份表中,核心就是个简单的sql。#!/usr/bin/python2.7# -*- coding: utf-8 -*-#py原创 2015-06-26 15:44:33 · 3237 阅读 · 0 评论 -
[mysql5.6] 主从更换ip之后重新建立同步
情况时这样的: 主从系统 centos6.5 mysql5.6 由于机房迁移ip地址变了,导致原来的主动无法同步,于是需要重新建立主从关系。主 192.168.1.23从 192.168.1.22创建授权用户(主)创建用户,赋予权限用来给从库做主从同步。GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.22' IDENTIFIE原创 2015-06-17 10:50:07 · 6003 阅读 · 0 评论 -
[mysql]一次主从数据不一致的问题解决过程
情况时这样的 昨天晚上主动2个机器都迁移了,然后今天才把主动重新连接上,但是从库的偏移量是从今天当前时刻开始的,也就是说虽然现在主动看似正常,其实是少了昨天的部分数据,由于从库的数据丢失了,早晚还是要填坑的。问题要解决问题就是怎么对比不一致,然后在不影响业务的情况下,修复数据不一致的问题,把从库缺少的数据补上下面是能想到和找到的几个方案 1 从新从0开始同步,虽然对主库的使用没有影响,原创 2015-06-17 11:54:08 · 12252 阅读 · 2 评论 -
【shell脚本】mysql每日备份shell脚本
每天固定时间用mysqldump 备份mysql数据。#!/bin/bash#每天早上4点, mysql备份数据 orangleliu#chmod 700 backup.sh#crontab -e#0 4 * * * /home/erya/run/moniter/mysql_backup.shuser="radius"password=""host="localhost"db_nam原创 2015-06-26 18:08:32 · 2193 阅读 · 0 评论 -
【shell脚本】ftp自动上传mysql备份文件
上一篇中 [mysql]每日备份shell脚本 给出了使用mysqldump备份到本地的脚本,接着下面是利用ftp把备份文件传输到远程服务器的脚本。 当然也可以用scp,rsync等等方案。#!/bin/sh#############################orangleliu#ftp 上传指定的文件#centos 使用 (mac上日期的格式化并不是很好使)#注意ftp一定要切换原创 2015-07-20 15:18:39 · 2068 阅读 · 0 评论 -
mysqlbinlog 命令简单使用
此命令用来解析 查看mysql binlog的, 这里使说说怎么通过binlog查看执行的sql。环境: Centos 6.6, MySQL 5.6.x查看配置查看二进制日志是否打开,本地是关的(开启需要 配置my.conf并重启)mysql> SHOW VARIABLES LIKE 'log_bin';+---------------+-------+| Variable_name | Va原创 2017-01-20 14:48:15 · 8375 阅读 · 3 评论 -
[待解决]MySQL 优化-连接查询改嵌套查询一例
线上抓了一条慢查询日志,经过改写之后,速度从7s提升到0.1s以下,但是没有真正明白其中的原理,先记录之,以后再来解析。前置条件环境:MySQL5.6.14,Centos6.6表结构mysql> SHOW CREATE TABLE count_statusbyhour \G*************************** 1. row ************************原创 2017-01-21 09:26:51 · 846 阅读 · 0 评论 -
MySQL对数据表已有表进行分区表
对现有的一个表进行创建分区表,并把数据迁移到新表,可以按时间来分区,然后这表不是实时更新,每天有一次插入操作。 时间比较充裕,但是服务器上有其他应用,使用较小资源为主要方式。操作方式@1 可以使用ALTER TABLE来进行更改表为分区表,这个操作会创建一个分区表,然后自动进行数据copy然后删除原表, 猜测服务器资源消耗比较大。类似操作ALTER TABLE tbl_rtdata PAR原创 2017-02-25 18:41:16 · 30509 阅读 · 0 评论 -
MySQL终端显示格式化
默认的mysql cli客户端非常方面,但是有时候表字段太多就会显示交错行,看起来很费劲。测试环境macos 10mysql 5.6 +mysql 自带客户端 mysql 命令来看一个例子mysql> select *from radacct limit 2;+-----------+-----------------------------------+----------------原创 2017-09-19 11:53:41 · 22597 阅读 · 1 评论