mysql創(chuàng)建用戶并授權(quán)root 如何為MySQL設(shè)置SSL證書?
如何為MySQL設(shè)置SSL證書?MySQL設(shè)置為的數(shù)據(jù)通道是不加密模式的,在一些安全性特別要求尤其高的場(chǎng)景下,我們是需要配置MySQL端口為SSL,使得數(shù)據(jù)通道加密模式處理,避免比較敏感信息泄漏和被篡
如何為MySQL設(shè)置SSL證書?
MySQL設(shè)置為的數(shù)據(jù)通道是不加密模式的,在一些安全性特別要求尤其高的場(chǎng)景下,我們是需要配置MySQL端口為SSL,使得數(shù)據(jù)通道加密模式處理,避免比較敏感信息泄漏和被篡改。
其實(shí),啟用MySQLSSL之后,而每個(gè)數(shù)據(jù)包都必須加密和解密,這個(gè)對(duì)MySQL的性能是有不小影響的,讀者們?cè)诳梢允褂玫臅r(shí)候,要依據(jù)實(shí)際中情況思慮。
MySQL客戶端登陸賬號(hào)服務(wù)器時(shí)候的密碼也不是明文傳輸,有加密策略處理。
筆者是在ubuntu12.04系統(tǒng)上不使用MySQL5.5版本測(cè)什么的,其他環(huán)境請(qǐng)讀者自行看操作。
配置MySQL服務(wù)器證書
編輯器文件
#
#
#
把上面三行系統(tǒng)默認(rèn)證書配置注釋然后打開,建議使用自己的證書。筆者就可以使用前段時(shí)間在重新搭建自己的CA服務(wù)–OpenSSL CA實(shí)戰(zhàn)文章中生成沉淀的證書
ssl-ca/home/yunweipai/user_certs/ca_cert.cer
ssl-cert/home/yunweipai/user_certs/web.cer
ssl-key/home/yunweipai/user_certs/web_key_
這里要注意,在ubuntu上,配置證書后如果不未生效,做個(gè)參考這里解決方法
再注意上面配置的web_key_文件,而MySQL不允許加密后的私鑰,但我們可以使用命令
opensslrsa-acrossweb_-passinsigh:-土爆web_key_
將私鑰解密。MySQL不意見私鑰加了密的原因是從安全性角度考慮,畢竟如果要用戶傳遞一個(gè)加密模式的私鑰,那就可以要用戶傳密碼,那就MySQL怎末讀取這個(gè)密碼呢?這就引下來(lái)了我們?cè)诿艽a存儲(chǔ)和傳輸?shù)陌踩娨饫锩嫣峒暗囊幌盗袉?wèn)題了。
因此MySQL是為簡(jiǎn)化后利用,就不支持什么私鑰加密。
指定客戶端連接
MySQL服務(wù)端在對(duì)客戶端被授權(quán)的時(shí)候,也可以按照選項(xiàng)重新指定客戶端再連接MySQL服務(wù)器的SSL級(jí)別,做個(gè)參考MySQL充分賦權(quán)的REQUIRE值:
ssl_option
SSL:不認(rèn)證客戶端,客戶端不不需要提供給證書
X509:客戶端前提是正在發(fā)送一個(gè)快速有效的X509證書
issuer:客戶端的證書是否是是服務(wù)器所配置的CA頒發(fā)證書的(在我們場(chǎng)景下是ca_cert.cer頒發(fā)的證書的證書)
subject:認(rèn)證證書的subject(關(guān)與證書的subject在之前的文章有介紹)
cipher:指定你加密算法
這些選項(xiàng)是可以疊加使用,如:X509|issuser
客戶端連接(SSL)
mysql客戶端連接
mysql-uroot-pChangeme_123-P3306--ssl-ca/home/yunweipai/user_certs/ca_cert.cer
YourMySQLconnectionidis36
Server version:5.5.43-0ubuntu0.12.04.1(Ubuntu)
Copyright(c)2000,2015,Oracle and/or its rights reserved.
Oracleisaregistered trademarkofOracle Corporationwell/同問(wèn)its
affiliates.Other namesmaybetrademarksoftheirexisting
owners.
Typehelp同問(wèn)hforhelp.Type ctocleartherolesinputstatement.
mysqlgts
--------------
mysqlVer14.14Distrib5.5.43,fordebian-linux-gnu(i686)usingreadline6.2
Connectionid:36
currentdatabase:
Current user:
SSL:CipherinuseisDHE-RSA-AES256-SHA
valuepager:stdout
Usingoutfile:
Usingdelimiter:
Server version:5.5.43-0ubuntu0.12.04.1(Ubuntu)
Protocol version:10
Connection:LocalhostviaUNIX socket
Servercharacterset:latin1
Dbcharacterset:latin1
Clientcharacterset:latin1
UNIXsocket:
Uptime:29sec
Threads:1Questions:109Slowqueries:0Opens:48Flushtables:1Opentables:41Queriespersecondavg:3.758
--------------
JDBC連接上
在jdbc字符串中提高下面參數(shù)
useSSLtrueampverifyServerCertificatefalse
這么說(shuō)就不必須客戶端配置證書了,配置就簡(jiǎn)單啊大部分。畢竟mysql本身有賬號(hào)口令認(rèn)證,但不是需要證書認(rèn)證。
怎么創(chuàng)建company數(shù)據(jù)庫(kù)?
修改company數(shù)據(jù)庫(kù)方法:
1、簡(jiǎn)單然后打開SQL server管理系統(tǒng)工具,接著可以使用數(shù)據(jù)庫(kù)賬號(hào)登錄到數(shù)據(jù)管理系統(tǒng)。
2、在里面以后,再點(diǎn)數(shù)據(jù)庫(kù)文件前面的+號(hào),然后點(diǎn)開系統(tǒng)數(shù)據(jù)庫(kù)前面的+號(hào)。
3、再右鍵數(shù)據(jù)庫(kù)文件夾,選擇“新建項(xiàng)數(shù)據(jù)庫(kù)”。
4、接著在提示框的界面選擇,輸入輸入數(shù)據(jù)庫(kù)名稱,大小和路徑。
5、等待創(chuàng)建戰(zhàn)隊(duì)成功。
6、然后在數(shù)據(jù)庫(kù)左邊可以刷新一下,就可以看見巳經(jīng)創(chuàng)建完成的數(shù)據(jù)文件。