1、常常不使用root用戶登陸。致使密碼忘記mysql
1、第一步 sql
kill 掉mysql 的進程,用命令查看mysql的活動的進程,kill -9 pid 無論用,用killall mysqld 就能夠了數據庫
>ps -ef|grep mysql服務器
看到以下信息:socket
mysql 28202 1 0 00:24 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql 28552 28202 2 00:24 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin- dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root 28579 27404 0 00:25 pts/18 00:00:00 grep --color=auto mysqlui
執行命令:加密
>killall mysqld 關閉mysql服務器進程.net
第二步、用不檢查權限的命令去啓動mysql服務器code
mysqld_safe
--skip-grant-tables &
server
第三步、執行命令mysql 或者 mysql -u root 總之不用輸入密碼驗證
>mysql
第四步、修改密碼
mysql>update
mysql.
user
set
password
=
PASSWORD
(
'新密碼'
)
where
user
=
'root'
;
mysql> flush
privileges
;
mysql>exit;
退出密碼修改爲功
mysql版本5.7用下面的sql語句修改
使用mysql鏈接server
更改密碼: update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
*特別提醒注意的一點是,新版的mysql數據庫下的user表中已經沒有Password字段了
而是將加密後的用戶密碼存儲於authentication_string字段
mysql> flush privileges;
mysql> quit;