Debian mysql-server 在安装前不要求输入 root 密码

Debian mysql-server 在安装前不要求输入 root 密码

我安装了 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://www.debian.org/releases/stretch/amd64/release-notes/ch-whats-new.en.html#mariadb-replaces-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只是一个空的过渡元包,鼓励用户使用实际包安装 MariaDB mariadb-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都不起作用。以下是有效的方法

  1. 官方mysql安装指南并逐行跟踪
  2. 您需要从以下位置下载 .deb 文件这里配置要安装哪个版本的mysql以及其他配置
  3. 所有配置完成后,运行sudo apt-get update && sudo apt-get install mysql-server这次会要求您输入密码。

希望对您有帮助。干杯!

相关内容