随笔分类 - MySQL
摘要:在删除数据库的时候报标题所示错误 问题原因: test目录下存在着MySQL数据库不知道的文件,即MySQL数据库中没有该文件的数据字典信息。 如下所示, 解决方法: 手动删除test目录下的该文件 登录数据库,重新执行drop database操作
阅读全文
摘要:如图所示,区别有以下两点: 1. B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。 2. B+树中所有叶子节点都是通过指针连接在一起,而B树不会。 B+树的优点: 1. 非叶子节点不会带上ROWID,这样,一个块中可以容纳
阅读全文
摘要:MySQL的升级相对来说还是比较简单的。 它支持两种方式的升级: 原地升级(In-place Upgrade) 关闭数据库,替换旧的二进制文件,重启数据库,执行mysql_upgrade 逻辑升级(Logical Upgrade) 用mysqldump导出数据,安装新的数据库版本,将数据导入到新的数
阅读全文
摘要:今天碰到一个很奇怪的问题,关于exists的, 第一个语句如下: 产生的结果是:89584 第二个语句如下: 产生的结果是:432382 确实相当奇怪,对于exist子句来说,其判断的是子查询的值是否存在,也就是说,列名,和对列名求最大值没什么区别啊。 包括MySQL官方文档中也提到 大意就是MyS
阅读全文
摘要:TokuDB是Tokutek公司开发的基于ft-index(Fractal Tree Index)键值对的存储引擎。 它使用索引加快查询速度,具有高扩展性,并支持hot scheme modification,具有以下特点: 1. 插入性能快20~80倍; 2. 压缩数据减少存储空间; 3. 数据量
阅读全文
摘要:MySQL线程池只在Percona,MariaDB,Oracle MySQL企业版中提供。Oracle MySQL社区版并不提供。 在传统方式下,MySQL线程调度方式有两种:每个连接一个线程(one-thread-per-connection)和所有连接一个线程(no-threads)。在实际生产
阅读全文
摘要:在初始化MySQL的过程中经常会碰到各种问题,如 出现这些问题的原因无非是两种, 1> 没有传递合适的参数。 譬如: [root@localhost ~]# /usr/test/mariadb-10.1.16-linux-x86_64/scripts/mysql_install_db --datad
阅读全文
摘要:1. Upgrading to MySQL 5.7, focusing on temporal types 在MySQL 5.6.4中,对TIME, TIMESTAMP and DATETIME三种时间类型进行了扩充,支持了微秒,并且DATETIME的存储由之前的8个字节缩小到5个字节。 如果从My
阅读全文
摘要:如果哪天你忘记了线上MySQL数据库的root密码,怎么办? 大家往往会想到skip-grant-tables参数,具体步骤如下: 1. 关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过kill pid关闭程序。 在这里,科普一下kill 和kill -9的
阅读全文
摘要:CHAR char (M) M字符,长度是M*字符编码长度,M最大255。 验证如下: VARCHAR VARCHAR(M),M同样是字符,长度是M*字符编码长度。它的限制比较特别,行的总长度不能超过65535字节。 注意,以上表的默认字符集是latin1,字符长度是1个字节,所以对于varchar
阅读全文
摘要:修改ibdata1大小的验证 ibdata是共享表空间,在MySQL初始化的时候就生成了。 但很多童鞋会看到网上各种大神的调优建议,在MySQL已经初始化的情况下,修改配置文件中innodb_data_file_path=ibdata1:12M:autoextend。导致MySQL启动的时候报错。
阅读全文
摘要:MySQL有三个版本:二进制,源码包,RPM。 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这里选择的是mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz 解压后
阅读全文
摘要:作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve。这个参数是禁止域名解析的(当然,也包括主机名)。很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适。 基于以下原因,MySQL服务端会在内存中维护着一份host信息, 包括三部分:IP,主机名和错误信息。
阅读全文
摘要:经常会遇到这种情况,在一个不能上网的环境通过MySQL客户端登录数据库,想执行一个操作,却忘了操作的具体语法,各种不方便。 其实,MySQL数据库内置了帮助文档,通过help contents即可查看。 如下所示: 可见,该文档涵盖了数据库操作的大部分主题。 文档分为以上几大类,每个大类又包括更小粒
阅读全文
摘要:1. 关于Doublewrite Buffe的总结 Doublewrite Buffer:Doublewrite Buffer出现的初衷是防止buffer pool中的脏页刷新到磁盘中,出现部分写的问题,innodb页大小一般为16k,而Linux操作系统的block size一般为4k。这样在刷新
阅读全文
摘要:1. TokuFT file system space is really low and access is restricted 解决方法:修改tokudb_fs_reserve_percent参数,不过该参数是静止参数,需重启实例 具体可参考:http://www.cnblogs.com/zu
阅读全文
摘要:索引下推整个思路如下: To see how this optimization works, consider first how an index scan proceeds when Index Condition Pushdown is not used: Get the next row,
阅读全文
摘要:8.2.1.3 Range Optimization MYSQL的Range Optimization的目的还是尽可能的使用索引 8.2.1.3 Range Optimization MYSQL的Range Optimization的目的还是尽可能的使用索引 The range access met
阅读全文
摘要:1.sql_safe_updates官方解释如下:If set to 1, MySQL aborts UPDATE or DELETE statements that do not use a key in the WHERE clause or a LIMIT clause. (Specifica...
阅读全文
摘要:今天,启动MySQL服务器失败,如下所示:[root@spark01 ~]# /etc/init.d/mysqld startStarting mysqld (via systemctl): Job for mysqld.service failed because the control pro...
阅读全文

浙公网安备 33010602011771号