1.首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。
因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的
狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對
外的埠封閉,並且停止apache以及所有的使用者程序的方法實現伺服器的準安全
狀態。最安全的狀態是到伺服器的console上面操作,並且拔掉網線。
2.修改mysql的登入設定:
# vim /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
儲存並且退出vi。
3.重新啟動mysqld
# service mysqld restart
stopping mysql: [ ok ]
starting mysql: [ ok ]
4.登入並修改mysql的root密碼
# mysql
welcome to the mysql monitor. commands end with ; or \g.
your mysql connection id is 3 to server version: 3.23.56
type 'help;' or '\h' for help. type '\c' to clear the buffer.
mysql> use mysql ;
database changed
mysql> update user set password = password ( 'new-password' ) where user = 'root' ;
query ok, 0 rows affected (0.00 sec)
rows matched: 2 changed: 0 warnings: 0
mysql> flush privileges ;
query ok, 0 rows affected (0.01 sec)
mysql> quit
5.將mysql的登入設定修改回來
# vim /etc/my.cnf
將剛才在[mysqld]的段中加上的skip-grant-tables刪除
儲存並且退出vim
6.重新啟動mysqld
# service mysqld restart
stopping mysql: [ ok ]
starting mysql: [ ok ]
謹慎操作 5.6以上版本可能會有問題
一.windows下
1.以系統管理員身份執行cmd.
2.檢視mysql是否已經啟動,如果已經啟動,就停止:net stop mysql.
3.切換到mysql安裝路徑下:d:\wamp\mysql-5.6.36\bin;如果已經配了環境變數,可以不用切換了。
4.在命令列輸入:mysqld -nt --skip-grant-tables
5.以管理員身份重新啟動乙個cmd命令視窗,輸入:mysql -uroot -p,enter進入資料庫。
6.如果不想改密碼,只是想看原來的密碼的話,可以在命令列執行這個語句
select
host,
user
,
password
from
mysql.
user
;//即可檢視到使用者和密碼
7.如果要修改密碼的話,在命令列下依次執行下面的語句
use mysql
update
user
set
password
=
password
(
"new_pass"
)
where
user
=
"root"
;//
'new_pass'
這裡改為你要設定的密碼
flush
privileges
;
exit
8.重新啟動mysql,輸入密碼登入即可
mysql忘記root密碼的解決
一.mysql密碼的恢復方法之一 如果忘記了mysql的root密碼,可以用以下方法重新設定 1.kill掉系統裡的mysql程序 killall term mysqld 2.用以下命令啟動mysql,以不檢查許可權的方式啟動 safe mysqld skip grant tables 3.然後用空...
解決 MySQL忘記root密碼 windows
在windows中 1 以系統管理員身份執行cmd 2 停止mysql net stop mysql.3 切換到mysql安裝路徑下 d wamp mysql 5.6.36 bin 如果已經配了環境變數,可以不用切換了。4 在命令列輸入 mysqld nt skip grant tables這裡可能...
mysql忘記root密碼的解決
引用 一.mysql密碼的恢復方法之一 如果忘記了mysql的root密碼,可以用以下方法重新設定 1.kill掉系統裡的mysql程序 killall term mysqld 2.用以下命令啟動mysql,以不檢查許可權的方式啟動 safe mysqld skip grant tables 3.然...