MySQL8開啟SSL加密方式
1 概述
MySQL從5.7開始默認(rèn)開啟SSL加密功能,進(jìn)入MySQL控制臺后輸入status可以查看SSL的狀態(tài),出現(xiàn)下圖表示在使用SSL:

另外,加密連接需要密鑰與證書,可以使用OpenSSL手動生成或使用mysql_ssl_rsa_setup自動生成,這里使用了mysql_ssl_rsa_setup。
下面從安裝開始。
2 安裝(可選)
系統(tǒng)CentOS,直接使用yum安裝(編譯安裝參考此處),先用list查看一下:

這里的版本是8.0.17,直接install:
yum install mysql yum install mysql-server
好了之后啟動服務(wù):
systemctl start mysqld
然后獲取臨時密碼后修改root密碼:
grep password /var/log/mysql/mysqld.log

這里顯示密碼為空,直接root登錄修改密碼:
mysql -u root -p alter user root@localhost identified by 'xxxxx

3 生成證書與密鑰
首先查看有沒有開啟SSL,MySQL控制臺輸入
show variables like '%ssl%';

這里have_ssl顯示yes,表示已經(jīng)開啟了,表示本地的使用了SSL連接,如果顯示為no,使用MySQL自帶的工具即可開啟SSL:
mysqld_ssl_rsa_setup
然后默認(rèn)在/var/lib/mysql下會有幾個pem文件,說明如下:

接著重啟服務(wù):
systemctl restart mysqld
4 測試
進(jìn)入服務(wù)器的MySQL控制臺,新建兩個測試用戶,一個使用SSL,一個不使用SSL:

然后在本機(jī)上測試,首先測試不需要SSL的用戶,輸入密碼123456后可以直接登錄:

然后測試需要SSL的用戶:

輸入密碼123456后登錄不了,使用scp從服務(wù)器復(fù)制CA證書與客戶端證書與私鑰:
scp username@xxx.xxx.xxx.xxx:/var/lib/mysql/\{ca.pem,client-key.pem,client-cert.pem} .
然后在登錄時加上
--ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem

登錄成功。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL?數(shù)據(jù)類型及最優(yōu)選取規(guī)則
這篇文章主要介紹了MySQL?數(shù)據(jù)類型及最優(yōu)選取規(guī)則,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-08-08
MySQL 搭建雙主復(fù)制服務(wù)并通過 HAProxy 負(fù)載均衡的過程詳解
在數(shù)據(jù)庫管理中,數(shù)據(jù)的備份和同步是至關(guān)重要的環(huán)節(jié),而雙主復(fù)制(Dual Master Replication)作為一種高可用性和數(shù)據(jù)同步的解決方案,本文將介紹MySQL雙主復(fù)制的配置過程并通過 HAProxy 負(fù)載均衡,感興趣的朋友一起看看吧2024-03-03
全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決
這篇文章主要介紹了全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

