我安装了 mysql-server,它没有要求输入 root 密码,现在我无法以 root 身份登录 MySQL。此外,我注意到命令“mysql_secure_installation”想要保护 MariaDB 数据库 root 帐户,而不是 MySQL 帐户。我已经尝试了好几天,但没有人能帮助我。解决方案是什么?(Debian 9)
答案1
初始安装后,您应该运行mysql_secure_installation
以设置 root 帐户的密码。https://mariadb.com/kb/en/mariadb/mysql_secure_installation/
MariaDB Server 是 Debian 9 中 MySQL 的默认分支。
https://mariadb.com/resources/blog/mariadb-server-default-debian-9
在 Debian 9 “Stretch” 中,该
mysql-server
软件包依赖于一个名为 的新软件包default-mysql-server
。而该软件包又依赖于mariadb-server-10.1
。[...] 当您
mysql-server
在 Stretch 上安装该软件包时,您将获得 MariaDB 10.1 而不是 MySQL,就像您使用以前的 Debian 版本一样。请注意,这mysql-server
只是一个空的过渡元包,鼓励用户使用实际包安装 MariaDBmariadb-server
。
来源:https://mariadb.com/kb/en/library/moving-from-mysql-to-mariadb-in-debian-9/
答案2
如果你发现某些 MySQL/MariaDB 命令运行时没有任何密码提示,想看看它在后台使用的密码,Debian 将生成的密码存储在/etc/mysql/debian.cnf
/etc/mysql# cat debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = <random string>
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = <random string>
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
答案3
我遇到了同样的问题,导致我无法访问 mysql,mysql_secure_installation
运行后使用的所有答案sudo apt install mysql-server
都不起作用。以下是有效的方法
- 去官方mysql安装指南并逐行跟踪
- 您需要从以下位置下载 .deb 文件这里配置要安装哪个版本的mysql以及其他配置
- 所有配置完成后,运行
sudo apt-get update && sudo apt-get install mysql-server
这次会要求您输入密码。
希望对您有帮助。干杯!