表示 进入内容 11022
下一步 10 较早的记录 »
Displaying posts with tag: mysql5.6 (reset)
centos7 install mysql5.6

检查是否存在/etc/my.cnf 和mysql用户

yum install perl libaio net-tools perl-Module-Install.noarch 

rpm -Uvh *.

【mysql】  【yum】  【配置】  【rpm】  【mysql5.6】  【centos7】  【perl】  【install】   …

[获取更多]
细看InnoDB数据落盘

1.  概述

前面很多大侠都分享过MySQL的InnoDB存储引擎将数据刷新的各种情况。我们这篇文章从InnoDB往下,看看数据从InnoDB的内存到真正写到存储设备的介质上到底有哪些缓冲在起作用。

我们通过下图看一下相关的缓冲:

图 1 innodb all buffers

 

从上图中,我们可以看到,数据InnoDB到磁盘需要经过

  1. InnoDB buffer pool, Redo log buffer。这个是InnoDB应用系统本身的缓冲。
  2. page cache /Buffer cache(可通过o_direct绕过)。这个是vfs层的缓冲。
  3. Inode cache/directory buffer。这个也是vfs层的缓冲。需要通过O_SYNC或者fsync()来刷新。
  4. Write-Back buffer。(可设置存储控制器参数绕过)
  5. Disk on-borad …
[获取更多]
mysql 5.6 更高精度的时间

mysql 5.6 更高精度的时间

mysql从5.6开始,时间有了更高的精度:秒支持到小数点后6位。

      [DB152](root@localhost) [test]> SELECT now(6), sysdate(6), CURRENT_TIMESTAMP(6);
+----------------------------+----------------------------+----------------------------+
| now(6)                     | sysdate(6)                 | CURRENT_TIMESTAMP(6)       |
+----------------------------+----------------------------+----------------------------+
| 2014-01-22 13:58:48.141652 | 2014-01-22 13:58:48.141652 | 2014-01-22 13:58:48.141652 |
+----------------------------+----------------------------+----------------------------+

不加参数的话,不显示小数点后面的部分,这样就可以和旧版本的mysql兼容,另外也可以自己指定精确到小数点后几位:

      [DB152](root@localhost) [test]> SELECT now(3), …
[获取更多]
MySQL5.6 OnlineDDL对二级索引变更的影响

导读:本文是测试online DDL对表的二级索引的增删的影响。测试目的有以下几点:

(1):online DDL和旧机制的DDL 在二级索引变更方面的效率如何

(2):onlineDDL是否支持DML,查询并发

阅读全文——共12741字

MySQL5.6 Online DDL对全文索引变更

导读:

本文是onlineDDL 对Innodb全文索引的变更测试的。MySQL5.6手册中有这样的解释: (除非用户提供FTS_DOC_ID列,否则创建第一个全文索引的过程包含表的复制。

阅读全文——共7353字

MySQL5.6 OnLine DDL 对外键变更测试

导读:

本文是MySQL5.6 OnLine DDL 对外键变更操作的测试,测试目的: foreign_key_checks系统变量开启对增删外键约束的影响。

mysql> show variables like ‘%foreign_key_check%’;

阅读全文——共1652字

MySQL5.6 对列的变更Online DDL测试

导读:MySQL5.6 OnLine DDL 对列变更操作的测试,测试目的:对于列不同操作,Online DDL是否需要拷贝表以及允许DML,SELECT 并发。

下面测试使用测试案例 test_column,big_table,表定义是一致,结果集大小不同。

mysql> show create table test_column \G

阅读全文——共7479字

mysql5.6 ignore-db-dir

mysql5.6 ignore-db-dir

通常我们都建议不要把mysql的datadir设置为文件系统的根目录,否则,
show database的时候,会发现一个 奇怪的db: #mysql50#lost+found

mysql [localhost] {msandbox} (test) > SHOW DATABASES;
+---------------------+
| DATABASE            |
+---------------------+
| information_schema  |
| #mysql50#lost+found |
| mysql               |
| performance_schema  |
| test                |
+---------------------+
5 ROWS IN SET (0.00 sec)
 
mysql [localhost] {msandbox} (test) > USE \#mysql50\#lost+found
DATABASE changed
mysql [localhost] {msandbox} (#mysql50#lost+found) > 
mysql [localhost] {msandbox} (#mysql50#lost+found) > SHOW TABLES;
Empty SET (0.00 sec)
mysql [localhost] {msandbox} (#mysql50#lost+found) > DROP DATABASE \#mysql50\#lost+found; 
ERROR 1064 (42000): You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version …
[获取更多]
mysql5.6主从复制第五部分[如何在从服务器中跳过一条语句/事务]

mysql5.6主从复制第五部分[如何在从服务器中跳过一条语句/事务]

写这篇笔记的时候,mysql已经从5.6.10发展到了5.6.12

SQL_SLAVE_SKIP_COUNTER 对于GTID没用 。

准备测试环境,按照 http://www.zhaokunyao.com/archives/4131 配置主从。
master port 5612
slave port 5613

然后把slave设置成落后于master 600秒, 便于测试:

      mysql [localhost] {msandbox} (test) > CHANGE master TO MASTER_DELAY=600;
ERROR 1198 (HY000): This operation cannot be performed WITH a running slave; run STOP SLAVE FIRST
mysql [localhost] {msandbox} (test) > 
mysql [localhost] {msandbox} (test) > stop slave;
Query OK, 0 ROWS affected (0.05 sec)
 
mysql [localhost] {msandbox} (test) > CHANGE master TO MASTER_DELAY=600;
Query OK, 0 ROWS affected (0.27 sec)
 
mysql [localhost] {msandbox} (test) > START slave;
Query OK, 0 ROWS affected, 1 warning …
[获取更多]
Mysql5.6 innodb如何 统计table statistics

Mysql innodb如何 统计table statistics

Table statistics 包含两个方面:
1) table stat 比如表内一共有多少条记录(n_rows)。
此类信息保存在mysql.innodb_table_stats表中。
2) index stat 比如index中包含多少个page, 多少个leaf page,共有多少条完全不同的索引
此信息保存在mysql.innodb_index_stats表中。

在innodb中,一切都是基于index的,table stat 中n_rows的计算也是基于index的。
下面就分析一下innodb是如何对index进行统计的。

哎,还是先简单介绍一下index的结构—B+ tree
B+tree的结构如下图:

这张图是从 Wikipedia copy过来的,不必太执着于它。

Index在硬盘文件中的最基本保存单位是page(默认16K一页),这些page在一起组成了B+ tree。 表中的每一个index,对应一个B+tree。

[获取更多]
表示 进入内容 11022
下一步 10 较早的记录 »