Mysql---之Mysqladmin修改账号密码方式
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
Mysql
DDL--數(shù)據(jù)定義語言(create、alter、drop、declare)
DML--數(shù)據(jù)操作語言(select、delete、update、insert)
DCL--數(shù)據(jù)控制語言(grant、revoke、commit、rollback)
添加:INSERT INTO [表名] VALUES('','',......順序排列的數(shù)據(jù));
查詢: SELECT * FROM [表名] WHERE ([條件]);?
建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]); ??
刪除:DELETE FROM [表名] WHERE ([條件]); ??
修改:UPDATE [表名] SET [修改內(nèi)容如name = 'Mary'] WHERE [條件]; ?
mysqladmin ?----修改密碼
????? ? 首先用戶登陸mysql有兩種方式,一種是本地登陸localhost,另一種是異地登陸。
首次按 在數(shù)據(jù)庫中新增三個用戶wjl、jjl和wang 都只有select權(quán)限。10.68.4.58--Mysql主機,10.68.4.201--Test機器
mysql>?grant?select?on?*.*?to?jjl@'10.68.4.201'?identified?by?'jjl';? mysql>?grant?select?on?*.*?to?wjl@localhost?identified?by?'wjl';? mysql>?grant?select?on?*.*?to?wang@'%'?identified?by?'wang';? mysql>?flush?privileges;? 每個賬戶賦權(quán)情況如下圖:
?
下面實驗mysqladmin修改賬號密碼:
????Mysqladmin是Mysql程序包里的命令,如果你要使用該命令,必須確保服務(wù)器上安裝了Mysql程序。首先我在10.68.4.58上測試。
[root@localhost?data]#?mysqladmin?-u?wjl?-h?localhost?-p?password?'public' Enter?password:?***=wjl [root@localhost?data]#?mysqladmin?-u?wang?-h?10.68.4.58?-p?password?public Enter?password:?***=wang [root@localhost?data]#可以看出,wjl和wang都只有select權(quán)限,但是都可以正常修改賬號密碼。接下來我們再去4.201上去測試。
[root@localhost?bw_mysql_install]#?mysqladmin?-u?jjl?-h?10.68.4.58?-p?password?public Enter?password:? mysqladmin:?Can't?turn?off?logging;?error:?'Access?denied;?you?need?(at?least?one?of)?the? SUPER?privilege(s)?for?this?operation' [root@localhost?bw_mysql_install]#?mysqladmin?-u?wang?-h?10.68.4.58?-p?password?wang? Enter?password:? mysqladmin:?Can't?turn?off?logging;?error:?'Access?denied;?you?need?(at?least?one?of)?the? SUPER?privilege(s)?for?this?operation' [root@localhost?bw_mysql_install]#這里,jjl和wang 都報相同的錯誤,權(quán)限拒絕。都缺少super權(quán)限。一般的只有數(shù)據(jù)庫的超級管理員才有這個權(quán)限,此時,若想jjl和wang能夠修改賬號密碼,那么只需要給他們添加super權(quán)限即可。
mysql>?grant?super,select?on?*.*?to?jjl@'10.68.4.201'?; mysql>?grant?super,select?on?*.*?to?wang@'%';再到10.68.4.201上去執(zhí)行上面的修改密碼語句,就不會報錯了。
這里面 ?wang 賬號比較有意思,我也在找為啥Mysql賬戶遠程登陸,就需要super權(quán)限,本地登陸就不需要。如果有大神知道這點,麻煩留言交流下,不勝感謝。
其他修改Mysql密碼的方法,未完待續(xù)。。。
如果Mysql賬號沒有All 權(quán)限,那么該賬號,set只能修改自己賬號的密碼Mysql。
超級管理員則可以修改其他人的密碼
mysql>?set?password?for?'wang'@'%'?=?password?('public'); ERROR?1044?(42000):?Access?denied?for?user?'long'@'%'?to?database?'mysql' 切換到root用戶給?wjl用戶賦值 mysql>?grant?all?on?*.*?to?'wang'@'%'?;?--root用戶登陸賦值 mysql>?set?password?for?'jiulong'@'%'?=?password?('public');--可以執(zhí)行成功。如果是grant給用戶賬號修改密碼。同樣set一樣,普通用戶只可以修改自己的密碼,只有擁有ALL權(quán)限,才可以修改其他用戶。
mysql>?grant?all?on?*.*?to?'jiulong'@'%'?identified??by??'wang'?;? 執(zhí)行成功。 mysql>?revoke?all?on?*.*?from?'jiulong'@'%'?; exit #mysql?-ujiulong??-h?10.68.4.58??-p?wang; mysql>?grant?usage?on?*.*?to?'wang'@'%'?identified??by??'wang'; ERROR?1044?(42000):?Access?denied?for?user?'long'@'%'?to?database?'mysql'這里需要注意下,grant和revoke ?賬號權(quán)限后,用戶需要重新連接Mysql數(shù)據(jù)庫,權(quán)限才能生效。
? ??
轉(zhuǎn)載于:https://my.oschina.net/u/2322690/blog/469755
總結(jié)
以上是生活随笔為你收集整理的Mysql---之Mysqladmin修改账号密码方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Alpha版会议总结
- 下一篇: iOS开发-编译出错 duplicate