@lgh-dev
2017-12-21T03:53:25.000000Z
字数 837
阅读 1281
MySQL
MySQL创建新用户、新数据库、设定访问权限控制都需要用到root密码。万一把root密码忘了,该怎么办?
幸运的是重置密码很简单
基本的思路是,以安全模式启动mysql,这样不需要密码可以直接以root身份登录,然后重设密码。
首先我们要停掉mysql服务
sudo service mysql stop
以上命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。
以安全模式启动MySQL
sudo mysqld_safe --skip-grant-tables --skip-networking &
注意我们加了--skip-networking
,避免远程无密码登录 MySQL。
这样我们就可以直接用root账户登录,唔需要密码
mysql -u root
接着重新设置密码
操作库
mysql> use mysql;
mysql> update user set password=PASSWORD("mynewpassword") where User='root';
or
mysql>alter user 'root'@'localhost' identified by 'mynewpassword';
or
mysql>set password for 'root'@'localhost'=password('mynewpassword');
mysql> flush privileges;
但是5.7的密码字段有所不同,是authentication_string
注意,命令后需要加分号。
重设完毕后,我们退出,然后启动 MySQL 服务:
mysql>quit
重启服务器
sudo service mysql start
同样,以上命令适用于Ubuntu和Debian,Centos、Fedora和RHEL需要用mysqld替换mysql。
现在可以尝试用新密码登录了:
mysql -u root -pnewpassword
注意,-p
和密码间不能有空格。