MySQL數(shù)據(jù)庫(kù)安全配置介紹第2/2頁(yè)
3、外部網(wǎng)絡(luò)安全
MySQL數(shù)據(jù)庫(kù)安裝好以后,Unix平臺(tái)的user表是這樣的:
mysql> use mysql;
Database changed
mysql> select Host,User,Password,Select_priv,Grant_priv from user;
4 rows in set (0.00 sec)
Windows平臺(tái)的user表是這樣的:
mysql> use mysql;
Database changed
mysql> select Host,User,Password,Select_priv,Grant_priv from user;
4 rows in set (0.00 sec)
我們先來(lái)看Unix平臺(tái)的user表。其中redhat只是我試驗(yàn)機(jī)的機(jī)器名,所以實(shí)際上Unix平臺(tái)的MySQL默認(rèn)只允許本機(jī)才能連接數(shù)據(jù)庫(kù)。但是缺省root用戶口令是空,所以當(dāng)務(wù)之急是給root用戶加上口令。給數(shù)據(jù)庫(kù)用戶加口令有三種方法:
1)在shell提示符下用mysqladmin命令來(lái)改root用戶口令:
shell>mysqladmin -uroot password test
這樣,MySQL數(shù)據(jù)庫(kù)root用戶的口令就被改成test了。(test只是舉例,我們實(shí)際使用的口令一定不能使用這種易猜的弱口令)
2)用set password修改口令:
mysql> set password for root@localhost=password('test');
這時(shí)root用戶的口令就被改成test了。
3)直接修改user表的root用戶口令:
mysql> use mysql;
mysql> update user set password=password('test') where user='root';
mysql> flush privileges;
這樣,MySQL數(shù)據(jù)庫(kù)root用戶的口令也被改成test了。其中最后一句命令flush privileges的意思是強(qiáng)制刷新內(nèi)存授權(quán)表,否則用的還是緩沖中的口令,這時(shí)非法用戶還可以用root用戶及空口令登陸,直到重啟MySQL服務(wù)器。
我們還看到user為空的匿名用戶,雖然它在Unix平臺(tái)下沒(méi)什么權(quán)限,但為了安全起見(jiàn)我們應(yīng)該刪除它:
mysql> delete from user where user='';
Windows版本MySQL的user表有很大不同,我們看到Host字段除了localhost還有是%。這里%的意思是允許任意的主機(jī)連接MySQL服務(wù)器,這是非常不安全的,給攻擊者造成可乘之機(jī),我們必須刪除Host字段為%的記錄:
4、一些小竅門
1)如果不慎忘記了MySQL的root密碼,我們可以在啟動(dòng)MySQL服務(wù)器時(shí)加上參數(shù)--skip-grant-tables來(lái)跳過(guò)授權(quán)表的驗(yàn)證 (./safe_mysqld --skip-grant-tables &),這樣我們就可以直接登陸MySQL服務(wù)器,然后再修改root用戶的口令,重啟MySQL就可以用新口令登陸了。
2)啟動(dòng)MySQL服務(wù)器時(shí)加--skip-show-database使一般數(shù)據(jù)庫(kù)用戶不能瀏覽其它數(shù)據(jù)庫(kù)。
3)啟動(dòng)MySQL服務(wù)器時(shí)加上--chroot=path參數(shù),讓mysqld守護(hù)進(jìn)程運(yùn)行在chroot環(huán)境中。這樣SQL語(yǔ)句LOAD DATA INFILE和SELECT ... INTO OUTFILE就限定在chroot_path下讀寫文件了。這里有一點(diǎn)要注意,MySQL啟動(dòng)后會(huì)建立一個(gè)mysql.sock文件,默認(rèn)是在/tmp目錄下。使用了chroot后,MySQL會(huì)在chroot_path/tmp去建立mysql.sock文件,如果沒(méi)有chroot_path/tmp目錄或啟動(dòng)MySQL的用戶沒(méi)有這個(gè)目錄寫權(quán)限就不能建立mysql.sock文件,MySQL會(huì)啟動(dòng)失敗。比如我們加了--chroot=/usr/local/mysql/啟動(dòng)參數(shù),那么最好建立一個(gè)啟動(dòng)MySQL的用戶能寫的/usr/local/mysql/tmp目錄,當(dāng)然我們也可以用--socket=path來(lái)指定mysql.sock文件的路徑,但這個(gè)path一定要在chroot_path里面。
4)啟動(dòng)MySQL服務(wù)器時(shí)加上--log-slow-queries=file參數(shù),這樣mysqld會(huì)把SQL命令執(zhí)行時(shí)間超過(guò)long_query_time的寫入file文件。如果沒(méi)有指定=file,mysqld默認(rèn)會(huì)寫到數(shù)據(jù)目錄下的hostname-slow.log。如果只指定了filename,沒(méi)有指定路徑,那么mysqld也會(huì)把filename寫到數(shù)據(jù)目錄下。我們通過(guò)這個(gè)日志文件可以找出執(zhí)行時(shí)間超長(zhǎng)的查詢語(yǔ)句,然后盡可能的優(yōu)化它減輕MySQL服務(wù)器的負(fù)擔(dān)。
5)如果我們只需本機(jī)使用MySQL服務(wù),那么我們還可以加上--skip-networking啟動(dòng)參數(shù)使MySQL不監(jiān)聽(tīng)任何TCP/IP連接,增加安全性。(非常推薦)
6)MySQL的更多mysqld啟動(dòng)選項(xiàng)請(qǐng)見(jiàn)MySQL手冊(cè)4.16.4 mysqld Command-line Options
References
MySQL Manual(http://www.mysql.com/documentation/index.html)
晏子的MySQL管理員指南(http://clyan.hongnet.com/index.html)
Access Granted(http://www.devshed.com/Server_Side/MySQL/Access)
- 新安裝的MySQL數(shù)據(jù)庫(kù)需要注意的安全知識(shí)
- MySQL安全設(shè)置圖文教程
- Win2003服務(wù)器安裝及設(shè)置教程 MySQL安全設(shè)置圖文教程
- MySQL的安全問(wèn)題從安裝開(kāi)始說(shuō)起
- MySQL數(shù)據(jù)庫(kù)安全設(shè)置與注意事項(xiàng)小結(jié)
- MySQL數(shù)據(jù)庫(kù)安全之防止撰改的方法
- MySQL數(shù)據(jù)庫(kù)中的安全設(shè)置方案
- 淺析MySQL的注入安全問(wèn)題
- Ubuntu上安裝MySQL+問(wèn)題處理+安全優(yōu)化
- 關(guān)于加強(qiáng)MYSQL安全的幾點(diǎn)建議
- MySQL安全策略(MySQL安全注意事項(xiàng))
相關(guān)文章
使用use index優(yōu)化sql查詢的詳細(xì)介紹
本篇文章是對(duì)使用use index優(yōu)化sql查詢進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06mysql觸發(fā)器實(shí)時(shí)檢測(cè)一條語(yǔ)句進(jìn)行備份刪除思路詳解
遇到過(guò)這樣一個(gè)需求,在一張表里會(huì)不時(shí)出現(xiàn) “違規(guī)” 字樣的字段,需要在出現(xiàn)這個(gè)字段的時(shí)候,把整行的數(shù)據(jù)刪掉,針對(duì)這個(gè)需求我們?cè)撊绾尾僮髂?,下面跟隨小編看下mysql觸發(fā)器實(shí)時(shí)檢測(cè)一條語(yǔ)句進(jìn)行備份刪除的解決思路,一起看看吧2021-09-09MySQL數(shù)據(jù)庫(kù)內(nèi)置函數(shù)使用說(shuō)明
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)內(nèi)置函數(shù)使用說(shuō)明的相關(guān)資料,MySQL提供了多種內(nèi)置函數(shù)來(lái)實(shí)現(xiàn)不同的功能,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié)
MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié),學(xué)習(xí)mysql的朋友可以參考下2012-03-03Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠(yuǎn)程訪問(wèn))
這篇文章主要介紹了Linux 安裝JDK Tomcat MySQL(使用Mac遠(yuǎn)程訪問(wèn)),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06