資料內(nèi)容:
送或接收的數(shù)據(jù)。
當您必須以安全的方式在網(wǎng)絡上移動信息時,未經(jīng)加密的連接是不可接受的。若要使任何類型的數(shù)據(jù)不可讀,請使用
加密。加密算法必須包括安全元素,以抵抗多種已知的攻擊,例如更改加密消息的順序或重復兩次數(shù)據(jù)。
MySQL使用TLS(傳輸層安全)協(xié)議支持客戶端和服務器之間的加密連接。TLS有時被稱為SSL(安全套接字層),但
MySQL實際上并不使用SSL協(xié)議進行加密連接,因為它的加密很弱(請參閱第6.4.6節(jié),
“加密連接協(xié)議和密碼”).
TLS使用加密算法來確保通過公共網(wǎng)絡接收的數(shù)據(jù)可以被信任。它具有檢測數(shù)據(jù)更改、丟失或重播的機制。TLS還結
合了使用X.509標準提供身份驗證的算法。
X.509使在互聯(lián)網(wǎng)上識別某人成為可能。從基本意義上講,應該有一個名為“證書管理機構”(或CA)將電子證書分配給任
何需要的人。證書依賴于具有兩個加密密鑰(公鑰和秘密密鑰)的非對稱加密算法。證書所有者可以向另一方出示證書
作為身份證明。證書由所有者的公鑰組成。使用此公鑰加密的任何數(shù)據(jù)只能使用證書所有者持有的相應密鑰解密。
MySQL可以使用OpenSSL或yaSSL進行加密連接支持。有關這兩個包的比較,請參見第6.4.4節(jié),“OpenSSL對
yaSSL”有關每個包支持的加密協(xié)議和密碼的信息,請參見第6.4.6節(jié),
“加密連接協(xié)議和密碼”.
默認情況下,如果服務器支持加密連接,MySQL程序?qū)L試使用加密進行連接,如果無法建立加密連接,則返回到未
加密連接。有關影響使用加密連接的選項的信息,請參閱第6.4.1節(jié),
“將MySQL配置為使用加密連接”和第6.4.2
節(jié),
“加密連接的命令選項”.
MySQL在每個連接的基礎上執(zhí)行加密,對給定用戶使用加密可以是可選的,也可以是強制的。這使您能夠根據(jù)各個應
用程序的要求選擇加密或未加密的連接。有關如何要求用戶使用加密連接的信息,請參閱REQUIRE的條款CREATE
USER聲明第13.7.1.2節(jié),
“創(chuàng)建用戶語法”..還請參閱require_secure_transport系統(tǒng)變量第5.1.7節(jié),
“服務器系統(tǒng)變
量”
可以在主復制服務器和從復制服務器之間使用加密連接。見第16.3.8節(jié),
“設置復制以使用加密連接”.
有關從MySQL C API使用加密連接的信息,請參閱第27.8.15節(jié),“C API加密連接支持”.
還可以使用加密從SSH連接到MySQL服務器主機。有關示例,請參見第6.4.7節(jié),
“用SSH從Windows遠程連接
MySQL”.
對MySQL 5.7中的加密連接支持做了一些改進。以下時間線概述了這些變化: