MySQL 5 7中的更多改進,包括計算列

2021-09-17 07:25:23 字數 1282 閱讀 1523

讓我們繼續上一周的內容,討論mysql 5.7中的新特性,我們將把注意力集中於新的安全方面的特性。首先,新版本中取消了mysql_old_password這個認證外掛程式。其實這個外掛程式從版本4.x開始就已經被標註為過期了,但直到5.7.5版本中才被正式移除。從5.7.6開始,你必須顯式地在mysql.user表中宣告使用mysql_native_password方式進行認證。

\\ 新版本的mysql開始支援密碼過期策略了。如果系統管理員需要臨時關閉某個使用者或應用程式的訪問許可權,可以簡單地將其帳號鎖定即可。

\\ 和其它許多產品一樣,mysql的發展趨勢是提供「預設的安全性」。這就意味著如果你使用「mysqld –initialize」方式安裝mysql,安裝程式就會自動為管理員帳號建立乙個隨機的密碼。該密碼記錄在錯誤日誌中,並且在管理員首次登入時必須修改密碼。使用這種安裝選項不會生成任何匿名帳號,也不會建立測試資料庫。

\\ 使用grant語句自動建立使用者帳號的方式已經被標註為過期特性,同樣,使用grant語言修改帳號屬性,例如認證或ssl設定的方式也成為過期特性。

\\資料完整性

\\ mysql的事務型儲存引擎現在預設開啟嚴格模式。雖然仍然可以通過insert ignore或update ignore等語句覆蓋嚴格模式,但對於多數常見的訪問來說,這種預設配置應該能夠大大降低無記載資料損壞的發生次數。

\\ 此外,在alter table語句中不再支援ignore語法了。

\\ error_for_division_by_zero、no_zero_date和 no_zero_in_date等sql模式不再作為單獨的配置存在,它們的功能已經整合在嚴格模式中了。

\\效能

\\ 對於所有的儲存引擎來說,都可以對索引進行重新命名,而不會產生表複製操作。

\\ 包含group by子句的語句將不會隱式地根據該子句的內容對資料進行排序了,對於那些依賴於隱式排序特性的應用程式來說,這個變更可能會造成某些問題。

\\特性

\\ mysql現在支援計算列了,這一特性被稱為「生成列」。語法本身有一點古怪的地方,因為它無法從表示式中推斷出資料型別,不過它還是支援你所期待的各種特性,例如可以選擇將計算值儲存在表中,也可以選擇在讀取的時候進行計算。被儲存的計算列能夠新增索引。

\\ handler能夠允許客戶端對某張表或索引進行直接訪問,現在這一特性可以在分割槽表中使用了。

\\檢視英文原文:more enhancements for mysql 5.7 including computed columns

MySQL 5 7中的更多改進,包括計算列

讓我們繼續上一周的內容,討論mysql 5.7中的新特性,我們將把注意力集中於新的安全方面的特性。首先,新版本中取消了mysql old password這個認證外掛程式。其實這個外掛程式從版本4.x開始就已經被標註為過期了,但直到5.7.5版本中才被正式移除。從5.7.6開始,你必須顯式地在mys...

MySQL 5 7中的更多改進,包括計算列

讓我們繼續上一周的內容,討論mysql 5.7中的新特性,我們將把注意力集中於新的安全方面的特性。首先,新版本中取消了mysql old password這個認證外掛程式。其實這個外掛程式從版本4.x開始就已經被標註為過期了,但直到5.7.5版本中才被正式移除。從5.7.6開始,你必須顯式地在mys...

MySQL 5 7中的更多改進,包括計算列

讓我們繼續上一周的內容,討論mysql 5.7中的新特性,我們將把注意力集中於新的安全方面的特性。首先,新版本中取消了mysql old password這個認證外掛程式。其實這個外掛程式從版本4.x開始就已經被標註為過期了,但直到5.7.5版本中才被正式移除。從5.7.6開始,你必須顯式地在mys...