MySQL下建立新用户、新数据库、设定访问权限控制都须要用到root密码。万一把root密码忘了,该怎么办?mysql
幸运地是,重设密码很容易。sql
注意:MySQL的root用户和服务器操做系统的root用户是两个不一样的用户,不要搞混了。数据库
基本的思路是,以安全模式启动mysql,这样不须要密码能够直接以root身份登陆,而后重设密码。安全
首先,咱们停掉MySQL服务:服务器
sudo service mysql stop
以上命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。ui
以安全模式启动MySQL:spa
sudo mysqld_safe --skip-grant-tables --skip-networking &
注意咱们加了--skip-networking
,避免远程无密码登陆 MySQL。操作系统
这样咱们就能够直接用root登陆,无需密码:rest
mysql -u root
接着重设密码:code
mysql> use mysql; mysql> update user set password=PASSWORD("mynewpassword") where User='root'; mysql> flush privileges;
注意,命令后须要加分号。
重设完毕后,咱们退出,而后启动 MySQL 服务:
mysql > quit
quit不须要分号。
重启服务:
sudo service mysql restart
一样,以上命令适用于Ubuntu和Debian,Centos、Fedora和RHEL须要用mysqld
替换mysql
。
如今能够尝试用新密码登陆了:
mysql -u root -pmynewpassword
注意,
-p
和密码间不能有空格。