mysql在线快速修改密码_MySQL修改密码的几种方式
這篇文章主要介紹了MySQL修改密碼的幾種方式,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
前言:
在日常使用數(shù)據(jù)庫的過程中,難免會遇到需要修改賬號密碼的情景,比如密碼太簡單需要修改、密碼過期需要修改、忘記密碼需要修改等。本篇文章將會介紹需要修改密碼的場景及修改密碼的幾種方式。
1.忘記 root 密碼
忘記 root 密碼的場景還是比較常見的,特別是自己搭的測試環(huán)境經(jīng)過好久沒用過時,很容易記不得當(dāng)時設(shè)置的密碼。這個時候一般常用的方法是跳過權(quán)限驗證,然后更改 root 密碼,之后再啟用權(quán)限驗證。以 MySQL 5.7 版本為例簡單講下主要過程:
首先修改配置文件,在[mysqld]部分加上一句:skip-grant-tables ,加上此參數(shù)的目的是跳過權(quán)限驗證。然后重啟數(shù)據(jù)庫,數(shù)據(jù)庫再次啟動后,我們就可以不用密碼直接登錄數(shù)據(jù)庫修改密碼了。
#?skip-grant-tables?模式下修改root密碼
[root@host?~]#?mysql
Welcome?to?the?MySQL?monitor.??Commands?end?with?;?or?\g.
Your?MySQL?connection?id?is?16
Server?version:?5.7.23-log?MySQL?Community?Server?(GPL)
Copyright?(c)?2000,?2018,?Oracle?and/or?its?affiliates.?All?rights?reserved.
Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its
affiliates.?Other?names?may?be?trademarks?of?their?respective
owners.
Type?'help;'?or?'\h'?for?help.?Type?'\c'?to?clear?the?current?input?statement.
mysql>?update?mysql.user?set?authentication_string?=?password?('xxxxxx')?where?user?=?'root'?and?host?=?'localhost';
Query?OK,?0?rows?affected,?1?warning?(0.00?sec)
Rows?matched:?1??Changed:?0??Warnings:?1
mysql>?flush?privileges;
Query?OK,?0?rows?affected?(0.01?sec)
修改完 root 密碼后,再次去除 skip-grant-tables 參數(shù),然后重啟下數(shù)據(jù)庫即可。
2.幾種修改密碼的方法
除去忘記密碼,可能還有其他情景需要修改密碼,這時候就可以采取普通方式修改密碼了。還是以 MySQL 5.7 版本為例,介紹幾種常用的修改密碼的方法。
使用 alter user 修改
比如如果想更改 testuser 賬號的密碼,我們可以使用 root 賬號登錄,然后執(zhí)行 alter user 命令更改 testuser 賬號的密碼。
mysql>?alter?user?'testuser'@'%'?identified?by?'Password1';
Query?OK,?0?rows?affected?(0.01?sec)
mysql>?flush?privileges;
Query?OK,?0?rows?affected?(0.00?sec)
使用 SET PASSWORD 命令
使用 SET PASSWORD 修改密碼命令格式為 SET PASSWORD FOR 'username'@'host' = PASSWORD('newpass'); 同樣是使用 root 賬號可修改其他賬號的密碼。
mysql>?SET?PASSWORD?FOR?'testuser'@'%'?=?PASSWORD('Password2');
Query?OK,?0?rows?affected,?1?warning?(0.00?sec)
mysql>?flush?privileges;
Query?OK,?0?rows?affected?(0.00?sec)
使用 mysqladmin 修改密碼
使用 mysqladmin 命令修改賬號密碼格式為 mysqladmin -u用戶名 -p舊密碼 password 新密碼
[root@host?~]#?mysqladmin?-utestuser?-pPassword2?password?Password3
mysqladmin:?[Warning]?Using?a?password?on?the?command?line?interface?can?be?insecure.
Warning:?Since?password?will?be?sent?to?server?in?plain?text,?use?ssl?connection?to?ensure?password?safety.
[root@host?~]#?mysql?-utestuser?-pPassword3
mysql:?[Warning]?Using?a?password?on?the?command?line?interface?can?be?insecure.
Welcome?to?the?MySQL?monitor.??Commands?end?with?;?or?\g.
Your?MySQL?connection?id?is?2388
Server?version:?5.7.23-log?MySQL?Community?Server?(GPL)
Copyright?(c)?2000,?2018,?Oracle?and/or?its?affiliates.?All?rights?reserved.
Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its
affiliates.?Other?names?may?be?trademarks?of?their?respective
owners.
Type?'help;'?or?'\h'?for?help.?Type?'\c'?to?clear?the?current?input?statement.
mysql>
直接 update user 表
其實 MySQL 所以的賬號信息都存儲在 mysql.user 表里面,我們也可以直接通過 update user 表來修改密碼。
#?5.7及之后版本
mysql>?update?mysql.user?set?authentication_string?=?password?('Password4')?where?user?=?'testuser'?and?host?=?'%';
Query?OK,?1?row?affected,?1?warning?(0.06?sec)
Rows?matched:?1??Changed:?1??Warnings:?1
mysql>?flush?privileges;
Query?OK,?0?rows?affected?(0.01?sec)
#?5.6及之前版本
update?mysql.user?set?password=password('新密碼')?where?user='用戶名'?and?host='host';
3.設(shè)置 login-path 本地快捷登陸
為了防止密碼暴露及忘記密碼,我們還可以設(shè)置 login-path 來實現(xiàn)在本地不輸密碼快捷登錄。
login-path 是 MySQL 5.6 開始支持的新特性。通過借助 mysql_config_editor 工具將登陸 MySQL 服務(wù)的認證信息加密保存在 .mylogin.cnf 文件(默認位于用戶主目錄)。MySQL 客戶端工具可通過讀取該加密文件連接 MySQL ,實現(xiàn)快捷登錄。
假設(shè)我們想配置 root 賬號在本地快捷登錄,可以這么做:
#?執(zhí)行回車后需要輸入一次root密碼
[root@host?~]#?mysql_config_editor?set?--login-path=root?-uroot??-hlocalhost?-p?-P3306
Enter?password:
#?配置完成后可以使用login-path登錄
[root@host?~]#?mysql?--login-path=root
Welcome?to?the?MySQL?monitor.??Commands?end?with?;?or?\g.
Your?MySQL?connection?id?is?2919
Server?version:?5.7.23-log?MySQL?Community?Server?(GPL)
Copyright?(c)?2000,?2018,?Oracle?and/or?its?affiliates.?All?rights?reserved.
Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its
affiliates.?Other?names?may?be?trademarks?of?their?respective
owners.
Type?'help;'?or?'\h'?for?help.?Type?'\c'?to?clear?the?current?input?statement.
mysql>
總結(jié):
本篇文章主要介紹了修改數(shù)據(jù)庫賬號密碼的幾種方法,基本涵蓋了所有的場景。這里也提醒下各位,數(shù)據(jù)庫賬號最好限制ip段登錄,密碼盡量復(fù)雜些,最好能夠定期修改,特別是重要的環(huán)境不能有半點馬虎。年底了,安全才是王道。
以上就是MySQL修改密碼的幾種方式的詳細內(nèi)容,更多關(guān)于MySQL修改密碼的資料請關(guān)注腳本之家其它相關(guān)文章!
來源:腳本之家
鏈接:https://www.jb51.net/article/202370.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!
總結(jié)
以上是生活随笔為你收集整理的mysql在线快速修改密码_MySQL修改密码的几种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学界力挺 16家中国大学鸿蒙项目立项 产
- 下一篇: 社会生存策略游戏《战地医院》明年 1 月