
mysql
文章平均质量分 81
wluckdog
这个作者很懒,什么都没留下…
展开
-
mysql update 更新列使用and 导致更新逻辑错误
今天在群里看到一个比较有意思的问题,我也在测试库测试了一下,发现SQL 语法错误导致,下面我们来看看问题:mysql> create table t2(id varchar(10),name varchar(10));Query OK, 0 rows affected (0.08 sec)mysql> insert into t2 values('1','test1');Q...原创 2019-12-06 11:45:09 · 557 阅读 · 0 评论 -
MySQL InnoDB配置统计信息
MySQL InnoDB配置统计信息 1. 配置持久化(Persistent)统计信息参数 1.1 配置自动触发更新统计信息参数 1.2 配置每张表的统计参数 1.3 配置InnoDB优化器统计信息的采样页数参数 1.4 包含Delete-marked的记录参数 1.5 InnoDB持久化统计表 1.6 InnoDB持久化统计表示例 1.7 使用innodb_in...转载 2018-12-08 14:53:45 · 1219 阅读 · 0 评论 -
MySQL 加锁处理分析
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的...转载 2018-11-30 15:58:01 · 594 阅读 · 2 评论 -
keepalive+haproxy +mysql 实现读负载均衡
Keepalive 安装[root@plvskygis01 tmp]# tar zxf keepalived-2.0.6.tar.gz[root@plvskygis01 tmp]# cd keepalived-2.0.6[root@plvskygis01 keepalived-2.0.8]# pwd/tmp/keepalived-2.0.6[root@plvskygis01 k...原创 2018-11-21 15:26:20 · 1962 阅读 · 0 评论 -
explain执行计划详解
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。explain执行计划包含的信息其中最重要的字段为:id、type、key、rows、Extra各字段详解idselect查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 三种情况: 1、id相同:执行...转载 2018-11-21 14:42:24 · 793 阅读 · 0 评论 -
mysql+haproxy+keepalive实现读在salve的负载均衡
Keepalive 安装下载地址:http://www.keepalived.org/download.html(1)解压缩软件[root@plvskygis01 tmp]# tar zxf keepalived-2.0.6.tar.gz[root@plvskygis01 tmp]# cd keepalived-2.0.6[root@plvskygis01 keepali...原创 2018-11-02 11:31:52 · 381 阅读 · 0 评论 -
mysql 时间函数
(root@33306) [(none)]> select sysdate();+---------------------+| sysdate() |+---------------------+| 2018-09-28 16:27:50 |+---------------------+1 row in set (0.00 sec)(root@3330...原创 2018-09-28 16:47:04 · 107 阅读 · 0 评论 -
mysql 5.7 note 信息
今天搭建mysql 主从队列,延迟时间比较长 Seconds_Behind_Master: 47776Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 ...原创 2018-09-13 11:16:53 · 921 阅读 · 0 评论 -
XtraBackup 搭建主从关系
主库 192.168.100.4 3307从库 192.168.100.4 3308 需要搭建的从库备份数据文件innobackupex --defaults-file=/mnt/mysql5641/etc/my_3307.cnf --user=root --password=qwe123 --parallel=4 /backup/[root@anedbtest01 b...原创 2018-09-06 13:44:00 · 450 阅读 · 0 评论 -
mycat 表分片
分表分库虽然能解决大表对数据库系统的压力,但它并不是万能的,也有一些不利之处,因此首要问题是,分不分库,分哪些库,什么规则分,分多少分片。原则一:能不分就不分,1000 万以内的表,不建议分片,通过合适的索引,读写分离等方式,可以很好的解决性能问题。原则二:分片数量尽量少,分片尽量均匀分布在多个DataHost 上,因为一个查询SQL 跨分片越多,则总体性能越差,虽然要好于所有数据在一个分...原创 2018-09-05 19:36:34 · 396 阅读 · 0 评论 -
mycat 读写分离测试
测试读写分离:[root@anedbtest01 conf]# cat schema.xml <?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema na原创 2018-09-05 17:30:16 · 2041 阅读 · 0 评论 -
MyCat配置详解
server.xml Mycat的配置文件,设置账号、参数等schema.xml Mycat对应的物理数据库和数据库表的配置rule.xml Mycat分片(分库分表)规则一 :wrapper.conf--配置jdkwrapper.java.command=D:/Program Files/Java/jdk1.8.0_131/bin/java.exe二:server.xml1、...转载 2018-09-04 18:57:21 · 770 阅读 · 0 评论 -
初学mycat ,非分片表使用mycat
数据库层面配置非分片表mysql> use db1Database changedmysql> CREATE TABLE `travelrecord` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET latin1 DEFAULT NULL, ...原创 2018-09-04 18:49:28 · 1911 阅读 · 0 评论 -
key_len 计算
key_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。在计算key_len时,下面是一些需要考虑的点: 索引字段的附加信息:可以分为变长和定长数据类型讨论,当索引字段为定长数据类型时,如char,int,datetime,需要有是否为空的标记,这个标记占用1个字节(对于not null的字段来说,则不需要这1字节...转载 2018-12-11 17:59:29 · 733 阅读 · 0 评论 -
MYSQL索引最佳实践
你做了一个明智的选择 理解索引对开发和dba来说都是极其重要 差劲的索引对产品问题负相当大的一部分责任 索引不是多么高深的问题 MySQL 索引一览表 理解索引 为你的应用创建最佳索引 拥抱MySQL的限制 简述索引索引有什么用 为从数据库读取数据加速 强制约束 (唯一索引 UNIQUE, 外键 FOREIGN KEY...转载 2018-12-11 19:14:57 · 239 阅读 · 0 评论 -
mysql 应该知道的知识
1、什么是锁锁是数据库系统区别于文件系统的一个关键特性。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。例如:操作缓冲池中的 LRU 列表,删除、添加、移动 LUR 列表中的元素。对于任何一种数据库来说都需要有相应的锁定机制,所以 MySQL 自然也不能例外。MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特...转载 2019-07-08 10:41:07 · 359 阅读 · 0 评论 -
MYSQL 循环提交的优化测试
今天看了别人的一篇文件,说的是循环提交,性能提高很多,我就用文章的存储过程测试了一下,果然用时很少create table t1 (a int ,b char(100));创建load1delimiter //create procedure load1 (count INT UNSIGNED)begindeclare s int unsigned default 1;decla...转载 2019-07-08 10:18:13 · 256 阅读 · 0 评论 -
MySQL 8.0窗口函数
MySQL 8.0窗口函数一、窗口函数的使用场景作为IT人士,日常工作中经常会遇到类似这样的需求:医院看病,怎样知道上次就医距现在的时间?环比如何计算?怎么样得到各部门工资排名前N名员工列表?查找各部门每人工资占部门总工资的百分比?对于这样的需求,使用传统的SQL实现起来比较困难。这类需求都有一个共同的特点,需要在单表中满足某些条件的记录集内部做一些函数操作...转载 2019-05-23 16:00:15 · 996 阅读 · 1 评论 -
十问 TiDB :关于架构设计的一些思考
作者:黄东旭“我希望能够把 TiDB 的设计的一些理念能够更好的传达给大家,相信大家理解了背后原因后,就能够把 TiDB 用的更好。”做 TiDB 的缘起是从思考一个问题开始的:为什么在数据库领域有这么多永远也躲不开的坑?从 2015 年我们写下第一行代码,3 年以来我们迎面遇到无数个问题,一边思考一边做,尽量用最小的代价来快速奔跑。作为一个开源项目,TiDB 是我们基础架构工程师...转载 2019-05-18 11:04:21 · 228 阅读 · 0 评论 -
mysql 8.0 设置 持久的全局变量
mysql> show variables like '%max_connections%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| max_connections | 8000 || mysqlx_...原创 2019-05-17 13:36:08 · 3063 阅读 · 0 评论 -
jq json格式化工具
今天在看mysql 8.0特性的 set persist时候,看到一个博客对mysqld-auto.cnf 的json格式化,用的工具是jq,当时以为是自己写的小工具,就去网上查了一下,还真发现有人写了这么一个小工具,还是挺好用的,就把文章转载过来,以后还能用。[root@anedbtest01 ~]# cat /u01/data/ane20000/mysqld-auto.cnf|/tm...转载 2019-05-17 10:19:33 · 1478 阅读 · 0 评论 -
MySQL主从复制模型
MySQL 8.0可以说是MySQL发展历史上里程碑式的一个版本,包括了多个重大更新,目前Generally Available版本已经已经发布,在此将介绍8.0版本中引入的一个重要的新特性——基于WriteSet的并行复制方案,此方案号称是彻底解决困扰MySQL运维人员多年的复制延迟问题。说到并行复制,这里简单的回顾一下各个版本的MySQL复制的演进,以帮助理解8.0版本中对并行复制MTS的...转载 2019-05-10 09:34:22 · 546 阅读 · 0 评论 -
mysql 导出权限
今天同事问我,mysql用户加什么权限,可以导出数据,我说我也不知道,然后去查了资料后,应该加file权限查看了权限mysql> show grants for zabbix@'72.7.99.133';| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'72.7.99.133' |那为什么还导出不来呢,去测试了一把...原创 2019-04-19 12:31:14 · 5227 阅读 · 0 评论 -
mysql 表级锁
(1) 表锁表锁的语法是 lock tables … read/write 可以用 unlock tables 主动释放锁 ,可以是客户端断开时候自动释放。需要注意的是,lock tables 语法除了会限制别的线程读写外,也下定了本线程接下来的操作lock tables t1 read, t2 write 这个语句则其他线程写t1表,读t2表都会被阻塞。同时A在执行unlock tab...原创 2019-01-08 10:17:58 · 565 阅读 · 0 评论 -
验证分区表对于NULL值的存放位置
1、Handling of NULL with RANGE partitioning CREATE TABLE t1 ( c1 INT, c2 VARCHAR(20) ) PARTITION BY RANGE(c1) ( PARTITION p0 VALUES LESS THAN (0), ...原创 2019-01-02 18:06:52 · 722 阅读 · 0 评论 -
mysql NULL的影响
空值” 和 “NULL” 的概念1、空值''是不占用空间的,mysql中的NULL其实是占用空间的2、NULL 其实并不是空值,而是要占用空间,所以mysql在进行比较的时候,,所以对效率有一部分影响,而且B树索引时不会存储NULL值的, 所以如果索引的字段可以为NULL,索引的效率会下降很多。3、空值(null)是不能参与任何计算,因为空值参与任何计算都为空4、在统计过程中,这个...原创 2018-12-18 11:26:41 · 4808 阅读 · 1 评论 -
mysql 不使用not null 理由
Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而...转载 2018-08-13 17:29:27 · 9383 阅读 · 0 评论 -
mysql与 oracle group by操作的不同
mysql 下group by 操作mysql> select *from t;+------+------+| id | name |+------+------+| 1 | aaa || 2 | bbb || 3 | ccc || 1 | aaa || 1 | aaa || 1 | bbb |原创 2017-09-01 16:42:50 · 594 阅读 · 0 评论 -
MySQL5.6 选项和变量整理
MySQL5.6 选项和变量整理 --allow-suspicious-udfs这个选项控制是否用户定义函数只有一个xxx符号用于主函数加载。默认,该选项是关闭并且只具有至少一个辅助符号的UDFs才可以加载。这可以防止尝试从共享对象文件而没有包含合法的 UDFs加载函数。看到 Sec tion 22.3.2.6, “User-Defined Function Secu转载 2017-04-23 21:02:11 · 898 阅读 · 0 评论 -
如何设置mysql innodb 表的压缩
一、 如何设置mysql innodb 表的压缩设置innodb 表的 压缩第一,mysql的版本需要大于5.5第二,设置innodb_file_format=barracuda第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;(默认的key_block_size=16)根据经验,一般原创 2017-02-04 09:40:09 · 9236 阅读 · 1 评论 -
mysqldmp 参数之--skip-opt 与--opt
1、首先我们通过mysqldump 的help 帮助我们了解一下两个参数的定义是什么 --opt Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-k原创 2017-01-06 11:01:56 · 11202 阅读 · 1 评论 -
mysql 的max_connections和max_user_connections 的区别
mysql 的max_connections和max_user_connections 的区别----查看max_user_connections 默认值 mysql> show variables like 'max_user_connections';+----------------------+-------+| Variable_name |原创 2016-07-21 11:50:02 · 6864 阅读 · 0 评论 -
MySQL 加锁处理分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加转载 2016-04-27 14:57:15 · 814 阅读 · 0 评论 -
mysql因为掉电,导致不同步的恢复
有mysql-mm数据库一套,36 和37 ,由于掉电,导致其中一台数据库down机,然后查看数据库日志发现如果目前以36为主,37为slave查看37服务器2015-06-19 10:23:09 3109 [ERROR] Slave I/O: error connecting to master 'repl_user@ip' - retry-time: 60 retries原创 2015-06-30 14:43:46 · 1808 阅读 · 0 评论 -
mysql 执行计划解读
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id转载 2015-04-09 21:58:09 · 508 阅读 · 0 评论 -
mysql 常用函数
整理来自网络进制转换函数:ASCII(str) :返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('abc'); +--------------+| ASCII('abc') |+--------------+| 97 |+--------------+1 row in se原创 2015-04-09 14:57:52 · 646 阅读 · 0 评论 -
mysql AUTO_INCREMENT 设置主键自增
主键自增:CREATE TABLE test(id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,username VARCHAR(15) NOT NULL)AUTO_INCREMENT = 100;可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。alter table tbname原创 2015-04-16 11:12:58 · 92083 阅读 · 3 评论 -
mysql 常用dml 语句
最近在准备给公司的研发培训一点mysql 知识,其实我也懂的不是太多,只能自己先学点,然后在去给他们讲,下面是自己整理的一些东西3.1 建表存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)在Oracle 和SQL Server等数据原创 2015-04-09 15:02:24 · 2600 阅读 · 0 评论 -
MYSQL 的数据类型
1.1整数类型TINYINT:1字节 -128--127SMALLINT: 2字节 -32768--32767MEDIUMINT:3字节 -8388608--8388607INT:4字节-21473648--21473647BIGINT:8字节-9223372036854775808—9223372036854775807mysql> create table t1(a原创 2015-04-08 10:13:30 · 477 阅读 · 0 评论 -
mysql 锁详解
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL转载 2015-04-13 11:08:15 · 527 阅读 · 0 评论