對我有效的唯一方法是在這裡描述的方法(我正在運行ubuntu 14.04)。為了清晰起見,這是我遵循的步驟:
sudo vim /etc/mysql/my.cnf
在最後加上以下行:
[mysqld] skip-grant-tables
sudo service mysql restart
mysql -u root
#use mysql
#select * from mysql.user where user = 'root'; - 查看頂部以決定密碼列是稱為password還是authentication_string
#select * from mysql.user where user = 'root';
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - 使用上面正確的密碼列
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
FLUSH PRIVILEGES;
exit
如果要保持安全標準,請刪除步驟2中新增的行。
參考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
在Ubuntu Linux上設定/更改/重置MySQL的root密碼。在終端機中輸入以下命令。
sudo /etc/init.d/mysql stop
/var/run/mysqld
sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
mysqld
sudo mysqld --skip-grant-tables &
mysql -u root mysql
YOURNEWPASSWORD
對於MySQL < 8.0
UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES;
如果您的MySQL使用新的驗證插件,則需要在刷新權限之前使用:update user set plugin="mysql_native_password" where User='root';。
update user set plugin="mysql_native_password" where User='root';
注意:這種方法不被視為最安全的重設密碼方式,但是它有效。
對於MySQL >= 8.0
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD'; FLUSH PRIVILEGES;
如@lambart的評論中所述,您可能需要殺掉您啟動的臨時無密碼mysql進程,即sudo killall -9 mysqld,然後啟動正常的守護進程:sudo service mysql start
sudo killall -9 mysqld
sudo service mysql start
參考資料:
對我有效的唯一方法是在這裡描述的方法(我正在運行ubuntu 14.04)。為了清晰起見,這是我遵循的步驟:
sudo vim /etc/mysql/my.cnf
在最後加上以下行:
sudo service mysql restart
mysql -u root
#use mysql
#select * from mysql.user where user = 'root';
- 查看頂部以決定密碼列是稱為password還是authentication_stringUPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';
- 使用上面正確的密碼列FLUSH PRIVILEGES;
exit
sudo vim /etc/mysql/my.cnf
如果要保持安全標準,請刪除步驟2中新增的行。
sudo service mysql restart
參考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
在Ubuntu Linux上設定/更改/重置MySQL的root密碼。在終端機中輸入以下命令。
sudo /etc/init.d/mysql stop
/var/run/mysqld
不存在,您需要先建立它:sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
mysqld
設定:sudo mysqld --skip-grant-tables &
mysql -u root mysql
YOURNEWPASSWORD
:對於MySQL < 8.0
#如果您的MySQL使用新的驗證插件,則需要在刷新權限之前使用:
update user set plugin="mysql_native_password" where User='root';
。注意:這種方法不被視為最安全的重設密碼方式,但是它有效。
對於MySQL >= 8.0
#最後一步:
如@lambart的評論中所述,您可能需要殺掉您啟動的臨時無密碼mysql進程,即
sudo killall -9 mysqld
,然後啟動正常的守護進程:sudo service mysql start
參考資料: