1、空使用者連線必須刪除,否則會帶來很多麻煩
2、在unix上,localhost連線不使用tcp協議,使用的是unix socket協議,在這種情況下,你就算關閉3306埠,也不會影響程式訪問資料庫。例如你在php中訪問資料庫就是這種情況。但是unix socket連線吞吐量沒有tcp連線大,建議用tcp連線。
例如本論壇原來就是使用unix socket,現在已經被我改為tcp了。
3、jdbc連線是基於tcp協議的,就算你寫localhost,也肯定使用tcp協議,這需要你開啟相應的訪問許可權。php只所以可以使用unix socket,是因為php是呼叫底層的mysql c api訪問資料庫,不必通過網路埠呼叫。
4、安裝mysql之後第一件事情:
#mysql
connect mysql;
delete from user where user='';
grant all mysql.* to root@"localhost" identified by "password" with grant option;
grant all mysql.* to root@"%" identified by "password" with grant option;
quit
這樣就不必擔心連線問題了。以後新增新的使用者,照此辦理。
另外在linux上推薦使用iptables封掉3306埠,這樣安全了,只允許本機程式訪問,不允許外部訪問。
mysql 安全許可權 二 MySQL許可權與安全
使用者許可權 1.新建普通使用者 create user jeffrey localhost identified by mypass 2.使用grant 語句建立新使用者 grant select,update on to testuser localhyost identified by tes...
mysql與安全 mysql許可權與安全
一 mysql許可權系統通過兩個階段進行認證 a 對使用者進行身份認證,ip位址和使用者名稱聯合,b 對合法使用者賦予相應許可權,許可權表在資料庫啟動的時候載入記憶體中。二 在許可權的訪問過程中,會用到 mysql 資料庫中的user host和db這3個許可權表。兩階段驗證過程 a user表中 ...
mysql許可權與安全
一 mysql許可權系統通過兩個階段進行認證 a 對使用者進行身份認證,ip位址和使用者名稱聯合,b 對合法使用者賦予相應許可權,許可權表在資料庫啟動的時候載入記憶體中。二 在許可權的訪問過程中,會用到 mysql 資料庫中的user host和db這3個許可權表。兩階段驗證過程 a user表中 ...