MySQL 5 7新特性之二

2021-09-22 19:04:04 字數 1870 閱讀 7674

本系列基於5.7.12 版本來講述mysql的新特性,從安裝,檔案結構,sql  ,優化 ,運維層面 複製,等幾個方面展開介紹5.7 的新特性和功能,同時也建議大家跟蹤官方

blog和

文件

,以盡快知悉其新的變化。

1 sql_mode的變化

官方文件上表述, 5.7 版本預設的sql_mode="only_full_group_by, strict_trans_tables, no_zero_in_date, no_zero_date, error_for_division_by_zero, no_auto_create_user, and no_engine_substitution" 。而實際上我自己的測試環境中預設新增了 

strict_trans_tables 屬性。

mysql> select @@sql_mode;+-

----

----

----

----

----

----

----

----

----

----

---+

| @@sql_mode |+-

----

----

----

----

----

----

----

----

----

----

---+

| strict_trans_tables,no_engine_substitution |+-

----

----

----

----

----

----

----

----

----

----

---+

1 row in set (0.00 sec)

strict_trans_tables 意思是說要儲存的字段的長度大於字段定義的大小,直接報錯而非像5.6版本以及之前,截斷資料進行儲存,同時丟擲乙個warning。注意同乙個會話調整 sql_mode 必須退出之後在進入sql_mode才會生效。詳細了解sql_mode 請移步《

sql_mode官方文件

》 注意5.7 對於null,'00000000 00:00:00' 這類default值的影響.

2 online ddl支援 rename index name.個人感覺這個功能比較雞肋,通常改變索引名稱的時候 本身索引的結構需要增刪字段,新建的索引名稱也要修改合適的名稱。

mysql> alter table yy rename index idx_name to idx_nm;

query ok, 0 rows affected (0.01 sec)

records: 0 duplicates: 0 warnings: 0

3 新增內建的full text 外掛程式,支援中文 ,韓文,日文全文索引。

之前的版本 只能依賴單詞之間空格進行分詞,對於依賴於語義分詞而非空格分詞的其他語言種類,5.7 版本的引入支援解析中文,韓文,日文的全文索引--ngram full-text parser解決了該問題。具體請移步

《ngram full-text parser 》

參考文章

《what is new in mysql 5.7》

mysql7 1新特性 Mysql5 7新特性六

一 動態生成的列 generated columns mysql現在支援在建立和修改列的時候使用generated columns。他的值由對應的表示式計算得出。它可以有兩種儲存方式,預設值是virtual 虛擬化 virtual 的 讀取列時計算的 儲存到資料庫 stored 的,會實際占用空間 ...

mysql 5 7 使用者管理新特性

背景 當前公司線上使用的版本mysql 5.7版本不斷增加,簡單記錄下5.7使用者管理方面新特性 安全認證 mysql安全認證的改變主要涉及都mysql.user表。與5.5相比,增加password expired password last changed password lifetime a...

MySQL 5 7新特性之一

寫在前面 mysql 5.7版本於2015年10月份左右 ga,至今已經半年多了,但自己一直沒有時間來follow mysql 5.7 新的特性,作為mysql dba 實在汗顏,以後會花時間來研究5.7 版本的特性並針對部分優化功能做出壓力測試。本系列基於5.7.12 版本來講述mysql的新特性...