最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 5.7.44開啟SSL加密傳輸?shù)耐暾麑?shí)戰(zhàn)教程

 更新時間:2026年07月15日 09:16:04   作者:瑤總迷弟  
MySQL 默認(rèn)采用明文傳輸數(shù)據(jù),數(shù)據(jù)庫賬號、密碼、執(zhí)行的SQL語句、查詢結(jié)果均可通過內(nèi)網(wǎng)抓包直接竊取,存在極大數(shù)據(jù)泄露風(fēng)險,因此本文手把手教你為MySQL 5.7.44開啟SSL加密傳輸,從生成SSL證書、修改配置文件到客戶端連接與用戶強(qiáng)制SSL,一步到位解決數(shù)據(jù)竊 聽風(fēng)險

一、前言

1. 為什么要開啟MySQL SSL加密

MySQL 默認(rèn)采用明文傳輸數(shù)據(jù),數(shù)據(jù)庫賬號、密碼、執(zhí)行的SQL語句、查詢結(jié)果均可通過內(nèi)網(wǎng)抓包直接竊取,存在極大數(shù)據(jù)泄露風(fēng)險。

在等保測評、政務(wù)、金融、企業(yè)生產(chǎn)環(huán)境中,數(shù)據(jù)庫傳輸加密是必過合規(guī)項(xiàng)。

SSL/TLS 核心價值:

  • 全程加密傳輸,中間人無法竊 聽、篡改數(shù)據(jù)
  • 校驗(yàn)服務(wù)端證書,防止中間人劫持攻擊
  • 支持強(qiáng)制SSL連接,徹底杜絕明文訪問

2. 環(huán)境適配說明

  • 數(shù)據(jù)庫版本:MySQL 5.7.44(兼容所有5.7.x版本)
  • 操作系統(tǒng):CentOS7/8、Rocky Linux(附帶Windows配置方案)
  • 依賴環(huán)境:openssl(系統(tǒng)默認(rèn)預(yù)裝)
  • 適用場景:內(nèi)網(wǎng)生產(chǎn)、公網(wǎng)數(shù)據(jù)庫、等保合規(guī)場景

3. SSL證書文件作用說明

本次部署生成5類核心 pem 證書文件,各司其職:

證書文件用途說明使用端
ca.pemCA根證書,用于校驗(yàn)服務(wù)端、客戶端證書合法性 服務(wù)端、客戶端通用
server-cert.pemMySQL服務(wù)端公鑰證書數(shù)據(jù)庫服務(wù)端
server-key.pemMySQL服務(wù)端私鑰(核心保密文件)數(shù)據(jù)庫服務(wù)端
client-cert.pem客戶端連接公鑰證書業(yè)務(wù)應(yīng)用、遠(yuǎn)程客戶端
client-key.pem客戶端連接私鑰業(yè)務(wù)應(yīng)用、遠(yuǎn)程客戶端

二、生成MySQL SSL證書(兩種方案)

方案一:官方工具一鍵生成(推薦、零報錯)

使用MySQL自帶 mysql_ssl_rsa_setup 工具,自動生成合規(guī)證書,無需手動配置參數(shù)。

1. 創(chuàng)建專屬證書目錄

獨(dú)立存放證書,不污染數(shù)據(jù)庫數(shù)據(jù)目錄,安全性更高:

# 創(chuàng)建證書目錄
mkdir -p /etc/mysql/ssl
# 授權(quán)mysql用戶歸屬
chown mysql:mysql /etc/mysql/ssl
# 收緊目錄權(quán)限
chmod 700 /etc/mysql/ssl

2. 一鍵生成全部證書

# yum/rpm 安裝MySQL 執(zhí)行此命令
mysql_ssl_rsa_setup --datadir=/etc/mysql/ssl --uid=mysql
# 二進(jìn)制編譯安裝MySQL 執(zhí)行此命令
# /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/etc/mysql/ssl --uid=mysql

3. 收緊證書文件權(quán)限(生產(chǎn)必須)

私鑰文件禁止其他用戶讀取,防止證書泄露:

# 證書僅mysql用戶可讀可寫
chmod 600 /etc/mysql/ssl/*.pem
chown mysql:mysql /etc/mysql/ssl/*.pem
# 查看生成文件
ls -l /etc/mysql/ssl/*.pem

方案二:OpenSSL手動生成證書(備用)

無官方工具時,可通過openssl手動生成,有效期10年:

cd /etc/mysql/ssl
# 1.生成CA根證書
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem
# 2.生成服務(wù)端證書
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
# 3.生成客戶端證書
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 02 -out client-cert.pem
# 統(tǒng)一權(quán)限
chmod 600 *.pem && chown mysql:mysql *.pem

三、修改MySQL配置文件開啟SSL

1. 定位配置文件

MySQL5.7 配置文件常見路徑:/etc/my.cnf、/etc/mysql/my.cnf

2. 寫入SSL核心配置

在配置文件 [mysqld] 段落中添加以下內(nèi)容:

[mysqld]
# SSL證書絕對路徑
ssl_ca = /etc/mysql/ssl/ca.pem
ssl_cert = /etc/mysql/ssl/server-cert.pem
ssl_key = /etc/mysql/ssl/server-key.pem
# 全局強(qiáng)制加密傳輸(生產(chǎn)環(huán)境必開,禁止明文連接)
require_secure_transport = ON

3. 重啟MySQL生效

# systemd 系統(tǒng)
systemctl restart mysqld
systemctl status mysqld
# 老舊系統(tǒng)
service mysqld restart

排錯提示:啟動失敗90%為證書權(quán)限、文件路徑錯誤,重新執(zhí)行權(quán)限授權(quán)命令即可。

四、驗(yàn)證MySQL SSL開啟狀態(tài)

登錄MySQL數(shù)據(jù)庫,執(zhí)行以下SQL校驗(yàn)配置是否生效。

1. 查看SSL全局狀態(tài)

show variables like '%ssl%';

正常結(jié)果

  • have_ssl = YES (核心標(biāo)識,代表SSL已開啟)
  • have_openssl = YES
  • 三個證書路徑正常顯示

若為 DISABLED,說明配置未生效,需檢查配置文件段落、證書權(quán)限。

2. 查看當(dāng)前連接加密狀態(tài)

# 方式1:簡潔查看
show status like 'Ssl_cipher';
# 方式2:詳細(xì)信息
\s

加密連接會顯示加密算法(如 AES256-SHA),明文連接為空值。

五、客戶端SSL連接方式

1. 命令行SSL連接

mysql -h 數(shù)據(jù)庫IP -P3306 -u 用戶名 -p \
--ssl-mode=REQUIRED \
--ssl-ca=/etc/mysql/ssl/ca.pem \
--ssl-cert=/etc/mysql/ssl/client-cert.pem \
--ssl-key=/etc/mysql/ssl/client-key.pem

ssl-mode 權(quán)限說明

  • DISABLED:禁用SSL,明文連接
  • PREFERRED:優(yōu)先SSL,失敗降級明文(默認(rèn))
  • REQUIRED:強(qiáng)制SSL,失敗拒絕連接(生產(chǎn)推薦)
  • VERIFY_CA:校驗(yàn)CA證書合法性
  • VERIFY_IDENTITY:校驗(yàn)證書+主機(jī)名(最高安全)

2. SpringBoot/JAVA 項(xiàng)目連接配置

URL 開啟SSL校驗(yàn),杜絕明文傳輸與中間人劫持:

jdbc:mysql://192.168.1.100:3306/testdb?useSSL=true&verifyServerCertificate=true&serverSslCert=/opt/mysql/ssl/ca.pem

六、數(shù)據(jù)庫用戶強(qiáng)制SSL登錄(高危防護(hù))

單獨(dú)配置用戶權(quán)限,指定用戶只能通過SSL連接,徹底杜絕明文登錄。

1. 新建強(qiáng)制SSL用戶

-- 普通加密連接(推薦業(yè)務(wù)用戶使用)
CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPass123!' REQUIRE SSL;
GRANT ALL ON testdb.* TO 'app_user'@'%';

-- 雙向證書校驗(yàn)(高安全場景、管理員賬號)
CREATE USER 'admin'@'%' IDENTIFIED BY 'Admin@123' REQUIRE X509;

FLUSH PRIVILEGES;

2. 存量用戶修改為強(qiáng)制SSL

# 開啟強(qiáng)制SSL
ALTER USER 'root'@'%' REQUIRE SSL;

# 取消SSL強(qiáng)制
ALTER USER 'root'@'%' REQUIRE NONE;

FLUSH PRIVILEGES;

3. 查詢用戶SSL權(quán)限

SELECT user,host,ssl_type FROM mysql.user;

ssl_type 為 ANY 代表強(qiáng)制SSL登錄。

七、Windows 環(huán)境補(bǔ)充配置

Windows 版 MySQL5.7.44 配置方式基本一致,僅路徑格式不同:

1. 生成證書

CMD 進(jìn)入MySQL bin目錄執(zhí)行:

mysql_ssl_rsa_setup.exe --datadir=D:\mysql57\ssl

2. my.ini 配置

[mysqld]
ssl_ca = D:\\mysql57\\ssl\\ca.pem
ssl_cert = D:\\mysql57\\ssl\\server-cert.pem
ssl_key = D:\\mysql57\\ssl\\server-key.pem
require_secure_transport = ON

八、常見報錯與解決方案

1. MySQL啟動失敗:Can’t load server-key.pem

原因:證書權(quán)限過大、歸屬用戶錯誤
解決:重新執(zhí)行權(quán)限收緊命令

2. have_ssl=DISABLED

原因:配置寫在 [client] 段落、證書路徑錯誤、未安裝openssl
解決:配置必須在 [mysqld] 段落,檢查路徑與依賴

3. SSL handshake failed

原因:證書不匹配、證書過期、客戶端ssl校驗(yàn)等級過高
解決:統(tǒng)一服務(wù)端與客戶端CA證書,降低ssl-mode等級

九、生產(chǎn)環(huán)境最佳實(shí)踐

  1. 證書目錄獨(dú)立存放,權(quán)限嚴(yán)格設(shè)置為 700,私鑰文件權(quán)限600
  2. 全局開啟 require_secure_transport=ON,禁止所有明文傳輸
  3. 業(yè)務(wù)用戶配置 REQUIRE SSL,核心管理員用戶使用REQUIRE X509 雙向認(rèn)證
  4. 應(yīng)用連接開啟證書校驗(yàn),防止中間人劫持
  5. 定期輪換SSL證書,避免長期使用同一證書

十、總結(jié)

MySQL5.7.44 開啟SSL加密核心流程:安裝依賴→生成SSL證書→收緊權(quán)限→配置my.cnf→重啟服務(wù)驗(yàn)證→客戶端適配→用戶強(qiáng)制SSL授權(quán)。

開啟SSL后,可徹底解決數(shù)據(jù)庫明文傳輸風(fēng)險,完美適配等保測評、企業(yè)生產(chǎn)安全規(guī)范,是MySQL生產(chǎn)環(huán)境必備的安全加固操作。

以上就是MySQL 5.7.44開啟SSL加密傳輸?shù)耐暾麑?shí)戰(zhàn)教程的詳細(xì)內(nèi)容,更多關(guān)于MySQL 5.7.44開啟SSL加密傳輸?shù)馁Y料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

泸定县| 原平市| 兰考县| 固阳县| 库伦旗| 临高县| 镇沅| 北流市| 永新县| 顺平县| 岳阳市| 营山县| 阳高县| 崇阳县| 乐都县| 小金县| 洪湖市| 黑河市| 滦平县| 贵南县| 顺平县| 新郑市| 荔波县| 临西县| 唐海县| 富民县| 买车| 繁峙县| 伊春市| 桂平市| 凤台县| 牙克石市| 石门县| 鞍山市| 星座| 炎陵县| 华安县| 策勒县| 平顶山市| 类乌齐县| 哈密市|