sql >> Databasteknik >  >> RDS >> Mysql

Vad är standardrotlösenordet för MySQL 5.7

Det finns så många svar där ute som säger att man ska installera om mysql eller använda någon kombination av

mysqld_safe --skip-grant-tables

och / eller

UPDATE mysql.user SET Password=PASSWORD('password')

och/eller något annat ...

... Inget av det fungerade för mig

Här är vad som fungerade för mig, på Ubuntu 18.04, från toppen

Med särskild kredit till detta svara för att du grävde mig ur frustrationen över detta ...

$ sudo apt install mysql-server
$ sudo cat /etc/mysql/debian.cnf

Notera raderna som lyder:

user     = debian-sys-maint
password = blahblahblah

Sedan:

$ mysql -u debian-sys-maint -p
Enter password: // type 'blahblahblah', ie. password from debian.cnf

mysql> USE mysql
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| root             | localhost | auth_socket           |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| debian-sys-maint | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> COMMIT;  // When you don't have auto-commit switched on

Antingen:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Eller:

// For MySQL 5.7+
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') where user='root';

Sedan:

mysql> FLUSH PRIVILEGES;
mysql> COMMIT;  // When you don't have auto-commit switched on
mysql> EXIT

$ sudo service mysql restart
$ mysql -u root -p
Enter password: // Yay! 'new_password' now works!


  1. 4 sätt att få en vys definition med Transact-SQL

  2. Gräns ​​för tillståndet WHERE col IN (...).

  3. Sqlalchemy-bulkuppdatering i MySQL fungerar väldigt långsamt

  4. "lösenordsautentisering misslyckades för användare postgres"