mysql 5.6 中的新特性:
1.gtid複制:在一主多從的架構中,當主伺服器挂掉之後,需要從其他的從伺服器中選出一台作為新的主伺服器,
一台從伺服器成為新的主伺服器之後,其他的從伺服器需要連接配接新的主伺服器,從新的主伺服器中獲得資料。
在普通的複制架構中,從伺服器連接配接新主伺服器無法找到複制位置(mmm,mha架構除外),是以隻能重新做主從,
這個操作是相當痛苦的和耗時的。gtid複制可以很好的解決這個問題,從伺服器連結新的主伺服器的時候,
不需要人為指定複制位置,這個mysql自動完成。
詳情請見:http://dwchaoyue.blog.51cto.com/2826417/1559764
2.多線程複制:
MySQL 5.6之前的版本,同步複制是單線程的,隊列的,隻能一個一個執行,
在5.6裡,可以做到多個庫之間的多線程複制,例如資料庫裡,存放着使用者表,商品表,價格表,訂單表,那麼将每個業務表單獨放在一個庫裡,
這時就可以做到多線程複制,但一個庫裡的表,多線程複制是無效的。
注,每個資料庫僅能使用一個線程,複制涉及到多個資料庫時多線程複制才有意義。
mysql> show global variables like 'slave_pa%';
+------------------------+-------+
| Variable_name | Value |
| slave_parallel_workers | 2 |
這裡顯示的兩個sql線程,一般情況下,在複制架構中有幾個庫,就将slave_parallel_workers 設定為多少。
使每個庫各自對應一個庫。
3.緩存預熱:在機器剛開始開啟的一段時間内,記憶體基本上是空的,沒人任何的資料,
是以在啟動之後的一段時間内,機器顯得很慢。mysql 5.6 專門針對innodb設計了一種
緩存預熱機制。這個可以通過變量進行設定:
mysql> show global variables like 'innodb_buffer_pool_%at%';
+-------------------------------------+-------+
| Variable_name | Value |
| innodb_buffer_pool_dump_at_shutdown | OFF |
| innodb_buffer_pool_load_at_startup | OFF |
參數解釋:
innodb_buffer_pool_dump_at_shutdown:當機器正常關閉的時候講記憶體中的資料dump到磁盤上
并且預設生成一個緩存檔案 ib_buffer_pool
innodb_buffer_pool_load_at_startup:當機器啟動的時候将ib_buffer_pool 中的資料加載到記憶體中。
http://qdjalone.blog.51cto.com/1222376/1119804
4.mysql5.6之前的版本不支援now()作為預設值
例如:
version:5.1.34-log
mysql> use tempDB ;
Database changed
mysql> select version();
+------------+
| version() |
| 5.1.34-log |
1 row in set (0.00 sec)
mysql> drop table if exists tt ;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CREATE TABLE `tt` (
-> `db` char(64) NOT NULL,
-> dt datetime not null default now()
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1067 (42000): Invalid default value for 'dt'
versoon:5.6.20-log
mysql> use Test ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
CREATE TABLE `tt` (
`db` char(64) NOT NULL,
dt datetime not null default now()
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected, 1 warning (0.05 sec)
Query OK, 0 rows affected (0.16 sec)
mysql>
| 5.6.20-log |
1 row in set (0.03 sec)
mysql5.6 的相關介紹:
http://blog.csdn.net/zuiaituantuan/article/details/8608533