MySQL 修改使用者密碼及重設root密碼

來源:互聯網
上載者:User

MySQL 修改使用者密碼及重設root密碼

為資料庫使用者修改密碼是DBA比較常見的工作之一。對於MySQL使用者賬戶的密碼修改,有幾種不同的方式,推薦的方式使用加密函數來修改密碼。本文主要描述了通過幾種不同的方式來修改使用者密碼以及mysql root賬戶密碼丟失(重設root密碼)的處理方法。

1、密碼修改的幾種方法

a、可以在建立使用者的時候指定密碼,以及直接使用grant建立使用者的時候指定密碼。
  對於已經存在的使用者直接使用grant方式也可以修改密碼
如下:

--示範版本
root@localhost[(none)]> show variables like 'version%'; 
+-------------------------+------------------------------+ 
| Variable_name          | Value                        | 
+-------------------------+------------------------------+ 
| version                | 5.5.37                      | 
| version_comment        | MySQL Community Server (GPL) | 
| version_compile_machine | x86_64                      | 
| version_compile_os      | Linux                        | 
+-------------------------+------------------------------+ 

--下面我們使用grant方式建立一個新帳戶fred,並設定密碼
root@localhost[(none)]> grant usage on *.* to 'fred'@'localhost' identified by 'fred';
Query OK, 0 rows affected (0.00 sec)

--查看剛剛建立的賬戶
root@localhost[(none)]> select host,user,password from mysql.user where user='fred';
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | fred | *6C69D17939B2C1D04E17A96F9B29B284832979B7 |
+-----------+------+-------------------------------------------+

--下面可以成功登陸mysql
SZDB:~ # mysql -ufred -pfred

fred@localhost[(none)]>

b、使用set password方式來修改賬戶密碼
--下面我們使用set password方式來設定密碼
root@localhost[(none)]> set password for 'fred'@'localhost'=password('passwd');
Query OK, 0 rows affected (0.00 sec)

root@localhost[(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

--再次登陸時,之前的密碼已經失效,無法登陸
SZDB:~ # mysql -ufred -pfred
ERROR 1045 (28000): Access denied for user 'fred'@'localhost' (using password: YES)

--下面使用新密碼登陸成功
SZDB:~ # mysql -ufred -ppasswd

fred@localhost[(none)]>

--檢索資料庫是否存在bkjia使用者,如下密碼為null
root@localhost[(none)]> select host,user,password from mysql.user where user='bkjia';
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| localhost | bkjia |          |
+-----------+------+----------+

c、加密方式更新系統資料表user的password列
--我們嘗試直接更新密碼列(不使用加密函數方式)
root@localhost[(none)]> update mysql.user set password='bkjia' where user='bkjia';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

--由於直接使用明文,因此系統資料表user列password顯示為明文
root@localhost[(none)]> select host,user,password from mysql.user where user='bkjia';
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| localhost | bkjia | jack    |
+-----------+------+----------+

--Author : Leshami
--Blog  :

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二進位安裝

--------------------------------------分割線 --------------------------------------

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.