Debian mysql-server 在安裝前不要求輸入 root 密碼

Debian mysql-server 在安裝前不要求輸入 root 密碼

我安裝了 mysql-server 並且它沒有要求 root 密碼,現在我無法以 root 身分登入 MySQL。另外,我注意到,該指令「mysql_secure_installation」想要保護 MariaDB 資料庫根帳戶,而不是 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這次,系統會要求您輸入密碼。

希望能幫助你。乾杯!

相關內容