パッケージmysql-serverをdebian(実際にはRaspbian、Raspberry PiのDebianバージョン)にインストールしています。私は次のコマンドでインストールしています
Sudo apt-get install mysql-server
インストール中にルートパスワードの入力を求められません。そして、次のコマンドでmysqlに接続しようとすると:
mysql -u root
または
mysql -u root -p
システムのルートパスワードを使用すると、次のエラーが発生しました:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
明らかにインストール中にrootパスワードを提供するように求められるべきですなので、かなり混乱しています。
私は何をすべきか ?
よろしく。
これを試して:
インストール後、MySql Secure Installationを実行します。
pi@raspberrypi:~ $ Sudo mysql_secure_installation
ルートパスワードの設定など、セキュリティ関連の設定に関する一連の質問が表示されます。
Rootパスワードを設定したら、rootとしてログインする(またはSudo
を使用する)必要があります。これは、MySqlが process uid に基づいて資格情報を使用する方法の結果です
ここに行きます:
新しいmy-sqlでは、インストール中にパスワードを空のままにすると、auth_socket
プラグイン。
正しい方法は、Sudo
特権でmy-sqlにログインすることです。
$ Sudo mysql -u root -p
そして、次を使用してパスワードを更新します。
$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
これが完了したらstop and start
mysqlサーバー。
$ Sudo service mysql stop
$ Sudo service mysql start
詳細については、 このリンク を参照してください。
疑問がある場合はコメントしてください。
Ubuntu 18.04にMYSQLをインストールする際にこの問題に直面した場合
Ubuntu 18.04は、パスワードではなく認証にソケットを使用します!!
私にとってログインは次のように簡単でした:
Sudo mysql -u root
Sudo
を忘れないでください
Ubuntuがmysqlを実行しようとしたときにパスワードを使用しなくなったことを示すメッセージがあったはずです。これは機能の大幅な変更でした。
mysql_secure_installation
を実行した後、Sudo apt install mysql-server
を使用するためのすべての回答にmysqlにアクセスできなかった同じ問題がありました。これがうまくいったものです
Sudo apt-get update && Sudo apt-get install mysql-server
を実行します。今回はパスワードの入力を求められます。それが役に立てば幸い。乾杯!
私の場合、ここで述べたように何も機能しませんでした。ここでも説明されているように: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
スーパーユーザーアカウント 'root' @ 'localhostが作成されます。スーパーユーザーのパスワードが設定され、エラーログファイルに保存されます。それを明らかにするには、次のコマンドを使用します。
Shell> Sudo grep 'temporary password' /var/log/mysqld.log
Mysql公式サイトからaptリポジトリをダウンロード https://dev.mysql.com/downloads/repo/apt/
バージョンを選択して「次へ」をクリックし、「OK」を選択して「次へ」をクリックします。
今
Sudo apt-get update
Sudo apt-get install mysql-server
インストール中にパスワードを要求されます。
この質問と回答 に興味があるかもしれません。
デフォルトのパスワードは空の文字列ではありませんか?