次のコマンドでmysql-serverをインストールしました
$ Sudo apt install mysql-server mysql-client mysql-common
次に、コマンドを呼び出すとmysql_secure_installation
MySQLはrootパスワードの入力を求めます:
Mysql-serverのパスワードを設定しておらず、パスワードを要求しています。
適切なパスワードを設定するにはどうすればよいですか?デフォルトのパスワードはありますか?
私は解決策を見つけました。 superuser
として実行する必要があります
$ Sudo mysql_secure_installation
を実行する必要がありました
また、端末のmysql
にログインする場合は、Sudo
する必要があります。
元の投稿者はこの問題の解決策を見つけたと主張していますが この回答では 、それは私には意味がありませんでした。しかし今、私はいくつかのDebian/Ubuntuディストリビューションがソケットベースの認証方法を使用していることを理解しています。デフォルトで有効になっているこの認証方法では、当然、MySQLにアクセスするにはSudo
を使用する必要があります。
ただし、一般的に、Sudo
を介してmysql_secure_installation
を実行する理由はありません。 MySQLはこのようなクライアントトランザクションにSudo
を必要としないため、ほとんどの場合、これは意味がありません…ソケットベースの認証が機能していない限り。また、mysql_secure_installation
は、MySQL関連のセキュリティ項目の更新を可能にする便利なパッケージでコマンドの山を実行する単なるBashスクリプトです。 ソースコード を見て、私が何を意味するかを確認してください。
したがって、がソケットベースの認証を使用しないシステムを使用していて、同様の問題に直面している場合、解決策はパスワードが空白であるかのいずれかです。古いバージョンのMySQLの場合。したがって、これを実行してMySQLにアクセスします。
mysql -uroot -p
または、mysql_secure_installation
の場合は、 Return または Enter パスワードの入力を求められたとき。
または、MySQLの最新バージョン(MySQL 5.7以降だと思います)の場合は、エラーログで次のようなメッセージを確認する必要があります。
「2016-05-16T07:09:49.796912Z1 [注] root @ localhostの一時パスワードが生成されます:8)13ftQG5OYl」
これは このトピックに関するPersonaブログエントリ から抜粋した例です。このMySQLログエントリがどこにあるかについては、CentOS/RedHatサーバーの/var/log/mysqld.log
にあるか、Ubuntu/Debianシステムのパッケージインストールからの出力として表示されます。
ただし、エラーログで「temporarypassword」というテキストを確認するだけで、MySQLが最初にインストールされたときに設定した初期のroot
パスワードが提供されます。