MySQL 5 7新特性之一

2021-09-22 19:04:04 字數 2493 閱讀 6238

寫在前面

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

blog和

文件

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

一 安全性

mysql 5.7 的目標是成為發布以來最安全的 mysql 伺服器,其在 ssl/tls 和全面安全開發方面有一些重要的改變。

1.1

5

.

7

表mysql.user要求plugin欄位非空,且預設值是mysql_native_password,並且不再支援

mysql_old_password。

1.2 增加密碼過期

功能,dba可以設定任何使用者的密碼過期時間,具體詳見官方文件《

密碼過期策略》

設定 使用者的過期時間為 90天

alter user yangyi@'127.0.0.1' password expire interval 90 day;

設定 使用者密碼永遠不過期

alter user yangyi@'127.0.0.1' password expire never;

可能大家都有如果業務系統的賬號某一天突然過期了,業務受到影響 怎麼辦? 別擔心那麼可以設定密碼永不過期。

default_password_lifetime=0

1.3 dba可以通過對使用者加鎖/ 解鎖進一步控制其訪問db 。例子

mysql> alter user yang@'%' account lock

;query ok, 0 rows affected (0.00 sec)

root@rac4:

/srv/my3306/data# >mysql -uyang -h127.0.0.1 -p

enter password:

error 3118 (hy000)

: access denied for user 'yang'

@'localhost'

. account is locked.

mysql> alter user yang@'%' account unlock;

query ok, 0 rows affected (0.00 sec)

1.4 ssl 特性mysql 5.7版本提供了更為簡單ssl安全訪問配置,並且預設連線就採用ssl的加密方式。細心的朋友在看官方文件的時候  會注意到 安裝步驟中多了一安裝ssl的步驟,

具體關於ssl是什麼,請參考

《**ssl和加密》

shell> bin/mysql_ssl_rsa_setup # mysql 5.7.6 and up

推薦兩篇延伸閱讀,關於ssl 特性我相信絕大多數資料庫都沒有開啟,姜承堯文章中的測試案例顯示弱開啟ssl 效能開銷在25% 左右。大家在嘗試新的特性的時候 ,根據自己的業務做評估。

《mysql的ssl加密連線與效能開銷

》 《ssl/tls in mysql 5.7

1.5 使用更安全的初始化方式

逐步廢棄mysql_install_db的安裝方式使用 initialize代替(mysql_install_db <5.7.6<= mysqld  —initialize) ,使用  initialize 引數初始化資料庫有如下特性 

a 只建立乙個 root賬號,並且生成乙個臨時的標記為過期密碼

b 不建立其他賬號

c 不建立test 資料庫

特別強調與

—initialize 不同 ,初始化的時候 使用引數

shell>bin/mysqld --initialize-insecure --user=mysql
則會生成乙個無密碼的root 賬號。

更詳細的請移步 

官方文件

參考文件

1  mysql 5.7 新特性詳解-英文版 

2  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新特性之二

本系列基於5.7.12 版本來講述mysql的新特性,從安裝,檔案結構,sql 優化 運維層面 複製,等幾個方面展開介紹5.7 的新特性和功能,同時也建議大家跟蹤官方 blog和 文件 以盡快知悉其新的變化。1 sql mode的變化 官方文件上表述,5.7 版本預設的sql mode only f...