MySQL的Windows版本已經將OpenSSL加入了。也面的命令是查看你的MySQL是否打開了SSL功能。
SHOW VARIABLES LIKE 'have_openssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | NO |
+---------------+-------+
1 row in set (0.00 sec)
如果返回的是NO,那么說明你需要將OpenSSL編譯進自己的MySQL
在有時你可能需要將用戶名和密碼進行加密傳輸。在這時可以使用下面GRANT命令:
GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%' IDENTIFIED BY "password!" REQUIRE SSL;
還可以通過 REQUIRE x509 選項進行SSL傳輸:
GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%' IDENTIFIED BY "password!" REQUIRE x509;
你還可以使用REQUIRE SUBJECT來指定一個特定的客戶端證書來訪問數據庫。
GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%'
IDENTIFIED BY "password!"
REQUIRE SUBJECT "/C=US/ST=New York/L=Albany/O=Widgets Inc./CN=client-ray.
example.com/emailAddress=raymond@example.com";
也許你并不關心使用的是什么客戶許可,而僅僅關心的是你的證書。那么你可以使用REQUIRE ISSUER來實現:
GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%' IDENTIFIED BY "password!"
REQUIRE ISSUER "/C=US/ST=New+20York/L=Albany/O=Widgets Inc./CN=cacert.example.
com/emailAddress=admin@example.com";
SSL還可以直接通過密碼進行加密。可以使用REQUIRE CIPHER設置密碼。
GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%' IDENTIFIED BY "password!"
REQUIRE CIPHER "EDH-RSA-DES-CBC3-SHA";
上面使用了GRANT命令對用戶權限進行設置。而這些信息都是保存在授權表中,這些表是安全系統的心臟。在這些表中保存了每一個用戶和客戶機所具有的權限。如果正確地操作這些表,將會對數據庫的安全起到積極的作用,而如果使用不慎,將是非常危險的。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com