mysql - MySQL 5.7 的默认 root 密码是什么

全新安装后无法像其他旧 MySQL 版本那样使用 root ID 和空/无密码登录到 MySQL 数据库

最佳答案

那里有很多答案说要重新安装mysql或使用一些组合

mysqld_safe --skip-grant-tables

和/或

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

和/或别的什么...

...这些都不适合我


这是对我有用的,在 Ubuntu 18.04 上,从顶部开始

特别感谢 this answer为了让我摆脱对此的挫败感......

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

注意以下内容:

user     = debian-sys-maint
password = blahblahblah

然后:

$ 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

要么:

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

或者:

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

然后:

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!

https://stackoverflow.com/questions/33991228/

相关文章:

python - 如何在python中将小时添加到当前时间

python - 如何创建键或将元素附加到键?

mysql - 如何重启在 Ubuntu linux 上运行的远程 MySQL 服务器?

linux - 使用 sed 删除 Linux 中文本文件任意行的前五个字符

python - 使用 Python 遍历目录

python - 等到页面用 Selenium WebDriver for Python 加载

python - 在 Python 中找到 "home directory"?

python - 如何使用 conda 升级到 Python 3.6?

linux - rm : cannot remove: Permission denied

c++ - 您使用什么工具在 Linux 上开发 C++ 应用程序?