2013-10-24 36 views
0

從這個question我知道我可以啓用每用戶基礎SSL連接SSL。要求對所有MySQL表

GRANT USAGE ON *.* TO '%'@'%' REQUIRE SSL; 

如何在每個表的基礎上要求SSL連接?可能嗎?

// BAD SQL 
CREATE TABLE some_table REQUIRE SSL; 
+1

嗯,我認爲這是SSL連接時使用。並且你與用戶連接。所以我認爲在桌面上要求SSL是沒有意義的。正如那裏所記錄的,似乎我是正確的:http://dev.mysql.com/doc/refman/5.6/en/ssl-connections.html - 「MySQL支持以每個連接爲基礎進行加密」 – kmas

+1

考慮製作你的'GRANT'語句更加細化,並在那裏做。 –

回答

0

每上述@kmas:

你不知道。您需要在連接上使用SSL,而不是在桌面上。因此,要求SSL的正確方法是授予用戶權限。

GRANT USAGE ON *.* TO '%'@'%' REQUIRE SSL; 

並且爲了簡單起見,包含通配符。爲了安全起見,最好指定確切的值或至少是範圍。

GRANT USAGE ON this_db.this_tbl TO 'joe'@'%.mydomain.com' REQUIRE SSL; 

允許所有子域名訪問或

GRANT USAGE ON this_db.this_tbl TO 'joe'@'xx.xx.xx.%' REQUIRE SSL; 

允許從一系列訪問的IP地址