溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

有哪些更改數(shù)據(jù)庫密碼的方式

發(fā)布時間:2021-10-22 10:54:37 來源:億速云 閱讀:157 作者:iii 欄目:數(shù)據(jù)庫

這篇文章主要講解了“有哪些更改數(shù)據(jù)庫密碼的方式”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“有哪些更改數(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ù)的認(rèn)證信息加密保存在 .mylogin.cnf 文件(默認(rèn)位于用戶主目錄)。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>

感謝各位的閱讀,以上就是“有哪些更改數(shù)據(jù)庫密碼的方式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對有哪些更改數(shù)據(jù)庫密碼的方式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI