mysql創(chuàng)建用戶并授權root 如何為MySQL設置SSL證書?
如何為MySQL設置SSL證書?MySQL設置為的數據通道是不加密模式的,在一些安全性特別要求尤其高的場景下,我們是需要配置MySQL端口為SSL,使得數據通道加密模式處理,避免比較敏感信息泄漏和被篡
如何為MySQL設置SSL證書?
MySQL設置為的數據通道是不加密模式的,在一些安全性特別要求尤其高的場景下,我們是需要配置MySQL端口為SSL,使得數據通道加密模式處理,避免比較敏感信息泄漏和被篡改。
其實,啟用MySQLSSL之后,而每個數據包都必須加密和解密,這個對MySQL的性能是有不小影響的,讀者們在可以使用的時候,要依據實際中情況思慮。
MySQL客戶端登陸賬號服務器時候的密碼也不是明文傳輸,有加密策略處理。
筆者是在ubuntu12.04系統(tǒng)上不使用MySQL5.5版本測什么的,其他環(huán)境請讀者自行看操作。
配置MySQL服務器證書
編輯器文件
#
#
#
把上面三行系統(tǒng)默認證書配置注釋然后打開,建議使用自己的證書。筆者就可以使用前段時間在重新搭建自己的CA服務–OpenSSL CA實戰(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上,配置證書后如果不未生效,做個參考這里解決方法
再注意上面配置的web_key_文件,而MySQL不允許加密后的私鑰,但我們可以使用命令
opensslrsa-acrossweb_-passinsigh:-土爆web_key_
將私鑰解密。MySQL不意見私鑰加了密的原因是從安全性角度考慮,畢竟如果要用戶傳遞一個加密模式的私鑰,那就可以要用戶傳密碼,那就MySQL怎末讀取這個密碼呢?這就引下來了我們在密碼存儲和傳輸的安全見意里面提及的一系列問題了。
因此MySQL是為簡化后利用,就不支持什么私鑰加密。
指定客戶端連接
MySQL服務端在對客戶端被授權的時候,也可以按照選項重新指定客戶端再連接MySQL服務器的SSL級別,做個參考MySQL充分賦權的REQUIRE值:
ssl_option
SSL:不認證客戶端,客戶端不不需要提供給證書
X509:客戶端前提是正在發(fā)送一個快速有效的X509證書
issuer:客戶端的證書是否是是服務器所配置的CA頒發(fā)證書的(在我們場景下是ca_cert.cer頒發(fā)的證書的證書)
subject:認證證書的subject(關與證書的subject在之前的文章有介紹)
cipher:指定你加密算法
這些選項是可以疊加使用,如: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/同問its
affiliates.Other namesmaybetrademarksoftheirexisting
owners.
Typehelp同問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字符串中提高下面參數
useSSLtrueampverifyServerCertificatefalse
這么說就不必須客戶端配置證書了,配置就簡單啊大部分。畢竟mysql本身有賬號口令認證,但不是需要證書認證。
怎么創(chuàng)建company數據庫?
修改company數據庫方法:
1、簡單然后打開SQL server管理系統(tǒng)工具,接著可以使用數據庫賬號登錄到數據管理系統(tǒng)。
2、在里面以后,再點數據庫文件前面的+號,然后點開系統(tǒng)數據庫前面的+號。
3、再右鍵數據庫文件夾,選擇“新建項數據庫”。
4、接著在提示框的界面選擇,輸入輸入數據庫名稱,大小和路徑。
5、等待創(chuàng)建戰(zhàn)隊成功。
6、然后在數據庫左邊可以刷新一下,就可以看見巳經創(chuàng)建完成的數據文件。