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;