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
和密碼間不能有空格。