MySQL 基本保安設定
1-剛安裝時,root帳戶的預設密碼為空,必須即時更改。
a.更改時,由於 root 有兩賬戶,一個帳戶主機名應指定為localhost。
另一個帳戶為實際的主機名或IP號,故必須兩個都改。
在Unix中使用PASSWORD的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');
b.要想使用mysqladmin為root帳戶指定密碼,執行下麵的命令:
shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"
c.嫌下兩條指令麻煩,可以使用 UPDATE
shell> mysql -u root
mysql> UPDATE user SET Password = PASSWORD('新密碼 ') WHERE User = 'root';
d.要留意的是: mysql 內置了很多的表 (grant table),採兩層權限管理
第一層權限管理:
uer 記錄可連入 MySQL 的使用者及其權限
第二層權限管理:
db 記錄使用者可使用的資料庫
host 記錄准許連線的主機名稱( localhost , host_name , IP )
tables_priv 記錄使用者可使用的資料表
columns_priv 記錄使用者可使用資料表的那些欄位
procs_priv 記錄使用者可使用那些預存程序
2- 將 ROOT 改名。好處是增加壞人猜測的困難,亦可與 Linux 的 root 有所區別。
mysql> UPDATE user SET user = ‘SQladmin’ WHERE user = 'root';
3-刪除匿名帳戶,操作方法是:
shell> mysql -u root
mysql> DELETE FROM user WHERE User = '';
mysql> FLUSH PRIVILEGES;
在user表中直接使用UPDATE更新密碼後,必須讓伺服器用FLUSH PRIVILEGES重新讀授權表,否則不會有任何更改。
沒有留言:
張貼留言