如果你是沒有忘記密碼修改mysql密碼的方法有多,如下面的
UPDATE user 語句(回目錄)
這種方式必須是先用root帳戶登入mysql,然後執行:
1.如果您沒有忘記密碼的情況下,可以通過UPDATE直接編輯user表來修改密碼:進入數據庫
代碼如下 復制代碼mysql -u rootmysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
忘記了密碼
在使用skip-grant-tables參數的同時,還要加上skip-networking參數:
代碼如下 復制代碼shell> mysqld_safe --skip-grant-tables --skip-networking &
接著使用SQL重置密碼後,記得去掉skip-networking,以正常方式重啟MySQL服務:
代碼如下 復制代碼shell> /etc/init.d/mysqld restart
上面的方法需要重啟兩次服務,實際上還能更優雅一點,重啟一次即可:
首先需要把用到的SQL語句保存到一個文本文件裡(/path/to/init/file):
代碼如下 復制代碼UPDATE `mysql`.`user` SET `Password`=PASSWORD('yourpassword') WHERE `User`='root' AND `Host`= '127.0.0.1'; FLUSH PRIVILEGES;
接著使用init-file參數啟動MySQL服務,
代碼如下 復制代碼shell> /etc/init.d/mysql stop shell> mysqld_safe --init-file=/path/to/init/file &
此時,密碼就已經重置了,最後別忘了刪除文件內容,免得洩露密碼。
如果上面辦法你無法找回密碼可參考下面辦法
如果您已經忘記密碼:
代碼如下 復制代碼# /etc/init.d/mysql stop 1、結束當前正在運行的mysql進程。
# /usr/bin/mysqld_safe --skip-grant-tables 2、用mysql安全模式運行並跳過權限驗證。
# mysql -u root 3、重開一個終端以root身份登錄mysql。
mysql> use mysql;
4、修改root用戶口令。
代碼如下 復制代碼Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set Password = PASSWORD('root') where User ='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> exit
# /etc/init.d/mysql restart 5、結束mysql安全模式,用正常模式運行mysql。
mysql> update mysql.user set password=PASSWORD('新密碼') where User='root';
6、試試你新修改的口令
代碼如下 復制代碼 mysql> flush privileges;