Debian mysql-server はインストール前にルートパスワードを要求しません

Debian mysql-server はインストール前にルートパスワードを要求しません

mysql-server をインストールしましたが、ルート パスワードを要求されませんでした。そのため、MySQL にルートとしてログインできません。また、コマンド「mysql_secure_installation」は、MySQL ではなく MariaDB データベースのルート アカウントを保護しようとしていることに気付きました。何日も試していますが、誰も助けてくれません。解決策は何でしょうか? (Debian 9)

答え1

初期インストール後、mysql_secure_installationルート アカウントのパスワードを設定するために実行する必要があります。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-serverStretch にパッケージをインストールすると、以前のバージョンの Debian と同様に、MySQL ではなく MariaDB 10.1 が取得されます。これはmysql-server単なる空の移行メタパッケージであり、ユーザーは実際のパッケージを使用して MariaDB をインストールすることをお勧めしますmariadb-server

ソース:https://mariadb.com/kb/en/library/mysql から mariadb へ移動する

答え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_secure_installation私も同じ問題を抱えており、実行後に使用できるすべての回答が機能sudo apt install mysql-serverせず、mysqlにアクセスできませんでした。機能したのは次のとおりです。

  1. へ移動公式 MySQL インストール ガイドそして一行ずつ追っていく
  2. .debファイルをダウンロードする必要がありますここインストールするMySQLのバージョンやその他の設定を設定します
  3. 設定がすべて完了したら、sudo apt-get update && sudo apt-get install mysql-server今度はパスワードの入力を求められます。

お役に立てれば幸いです。乾杯!

関連情報