4 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
必須使用flush privileges的兩種情況
1、改密碼。
2、授權(quán)超用戶。
flush privileges 命令本質(zhì)上的作用是將當(dāng)前user和privilige表中的用戶信息/權(quán)限設(shè)置從mysql庫(kù)(MySQL數(shù)據(jù)庫(kù)的內(nèi)置庫(kù))中提取到內(nèi)存里。
MySQL用戶數(shù)據(jù)和權(quán)限有修改后,希望在"不重啟MySQL服務(wù)"的情況下直接生效,那么就需要執(zhí)行這個(gè)命令。
通常是在修改ROOT帳號(hào)的設(shè)置后,怕重啟后無(wú)法再登錄進(jìn)來(lái),那么直接flush之后就可以看權(quán)限設(shè)置是否生效。而不必冒太大風(fēng)險(xiǎn)。
擴(kuò)展資料:
mysql 修改密碼后,注意flush privileges。
mysql 新設(shè)置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權(quán)限相關(guān)表,否則會(huì)出現(xiàn)拒絕訪問(wèn),還有一種方法,就是重新啟動(dòng)mysql服務(wù)器,來(lái)使新設(shè)置生效。
具體例子:
1、用戶root用戶進(jìn)入mysql再打開(kāi)mysql數(shù)據(jù)庫(kù)(use mysql)后。
create user stu identified by ‘stu’; ##創(chuàng)建一用戶stu并添加密碼為stu。
exit; ##退出測(cè)試。
2、用新用戶重新進(jìn)入mysql。
mysql -ustu -pstu ##進(jìn)入成功。
3、重新使用root用戶進(jìn)入mysql并打開(kāi)mysql數(shù)據(jù)庫(kù)。
update user set password=password (‘123456’) where user='stu'; ##更改stu用戶密碼為123456。
exit; ##再次退出測(cè)試。
4、直接以用戶stu身份進(jìn)入,用新密碼進(jìn)入看是否成功。
mysql -ustu -p123456; ##報(bào)錯(cuò),密碼不正確。
5、重新以root 用戶登陸并進(jìn)入mysql數(shù)據(jù)庫(kù),重新修改用戶密碼。
update user set password=password (‘123456’) where user='123456'; ##更改stu用戶密碼為123456
flush privileges; ##刷新MySQL的系統(tǒng)權(quán)限相關(guān)表。
exit;
6.再次退出,并以stu用戶123456密碼進(jìn)入,測(cè)試成功。

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
flush privileges 命令本質(zhì)上的作用是將當(dāng)前user和privilige表中的用戶信息/權(quán)限設(shè)置從mysql庫(kù)(MySQL數(shù)據(jù)庫(kù)的內(nèi)置庫(kù))中提取到內(nèi)存里。MySQL用戶數(shù)據(jù)和權(quán)限有修改后,希望在"不重啟MySQL服務(wù)"的情況下直接生效,那么就需要執(zhí)行這個(gè)命令。通常是在修改ROOT帳號(hào)的設(shè)置后,怕重啟后無(wú)法再登錄進(jìn)來(lái),那么直接flush之后就可以看權(quán)限設(shè)置是否生效。而不必冒太大風(fēng)險(xiǎn)。

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
1.用戶root用戶進(jìn)入mysql再打開(kāi)mysql數(shù)據(jù)庫(kù)(use mysql)后-
create user xh identified by ‘xh’; //創(chuàng)建一用戶xh并添加密碼為xh-
exit; //退出測(cè)試-
2.返回C目錄下用新用戶重新進(jìn)入mysql-
mysql -uxh -pxh //進(jìn)入成功-
3.重新使用root用戶進(jìn)入mysql并打開(kāi)mysql數(shù)據(jù)庫(kù)-
update user set password=password (‘monkey’) where user=’xh’; //更改xh用戶密碼為monkey-
exit; //再次退出測(cè)試-
4.直接以用戶XH身份進(jìn)入,用新密碼進(jìn)入看是否成功-
mysql -uxh -pmonkey; //報(bào)錯(cuò),密碼不正確-
5. 重新以ROOT 用戶登陸并進(jìn)入mysql數(shù)據(jù)庫(kù),重新修改用戶密碼-
update user set password=password (‘monkey’) where user=’xh’; //更改xh用戶密碼為monkey-
flush privileges; //刷新MySQL的系統(tǒng)權(quán)限相關(guān)表-
exit;-
6.再次退出,并以xh用戶monkey密碼進(jìn)入,測(cè)試成功!-

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
0 reload 是 administrative 級(jí)的權(quán)限,即 server administration;這類權(quán)限包括:
CREATE USER, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, SUPER
1 這類權(quán)限的授權(quán)不是針對(duì)某個(gè)數(shù)據(jù)庫(kù)的,因此須使用on *.* 來(lái)進(jìn)行:
grant reload on *.* to 'test'@'localhost';
添加回答
舉報(bào)