?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
MySQL數(shù)據(jù)庫(kù)用戶安全策略介紹
安裝mysql數(shù)據(jù)庫(kù)后,默認(rèn)的管理員root密碼是空,這很不安全,因此需要設(shè)置一個(gè)密碼
為root設(shè)置密碼
刪除無(wú)用的MySQL庫(kù)內(nèi)的用戶帳戶
刪除默認(rèn)存在的test數(shù)據(jù)庫(kù)
刪除所有MySQL中的用戶,包括root超級(jí)用戶
root@rose 03:55:27>delete from mysql.user; Query OK, 1 row affected (0.01 sec)
增加admin并提升為超級(jí)管理員,即和root等價(jià)的用戶,只是名字不同(with grant option參數(shù)的使用)
root@rose 04:20:34>grant all privileges on *.* to 'admin'@'localhost' identified by 'aaaaaa' with grant option; Query OK, 0 rows affected (0.00 sec) root@rose 04:23:00>flush privileges; Query OK, 0 rows affected (0.00 sec)
為管理員root設(shè)置密碼的方法(初始化好數(shù)據(jù)庫(kù)時(shí)做)
#以下命令適合linux命令行,不是mysql客戶端命令行 mysqladmin -uroot password 'newpassword' #沒有密碼的用戶設(shè)置密碼命令 mysqladmin -uroot -p'oldpassword' password 'newpasswrod' -S /usr/local/mysql/data/3306/mysql.sock # 指定sock適合多實(shí)例方式
修改管理員root密碼方法二:
update mysql.user set password=password('newpass') where user='root' and host='localhost'; # 此方法適合 --skip-grant-tables 方式登錄修改密碼 root@rose 04:23:00>flush privileges; Query OK, 0 rows affected (0.00 sec)
修改管理員root密碼方法三:
set password=password('newpass'); # 此方法不適合 --skip-grant-tables 方式修改當(dāng)前用戶的密碼 root@rose 04:23:00>flush privileges; Query OK, 0 rows affected (0.00 sec)