この記事では主に、ubuntu 16.04 に mysql5.7.17 をインストールした後にログインするときに発生するエラー 1045 (28000): Access Deny for user 'root'@'localhost' の問題の解決方法を紹介します。必要な友達は参考にしてください。
1. 問題の説明今日、筆者はSQLの練習をするために、ubuntu16.04にMySQLをインストールしました。著者はインターネットで ubuntu16.04 に mysql をインストールする手順を検索し、その手順を段階的に実行しましたが、理解できなかったのは、mysql のインストールプロセス中にパスワードを入力するためのウィンドウが表示されるということでした。しかし、インストールプロセス中に、「いいえ」ウィンドウが表示され、エラーは報告されません。
著者が mysql にログインしているときに、図に示すような問題が発生しました。
図に示すように、著者は複数の入力方法を試しましたが、すべて同じ悲しい結果、エラー 1045 ( 28000 ): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード: YES を使用)
この問題を理解するために、著者はインターネット上で広範囲に検索し、MySQL ERROR 1045 (28000) を見つけました。 : ユーザーのアクセスが拒否されました 'root'@'localhost' の本当の理由 (パスワード: NO を使用)
このリンクで問題の原因がわかりましたが、作者の知識がまだ浅く、私にはわかりません。それはよくわかりましたが、それでも問題を解決したいので、著者はパスワードを知らなかったので、検索対象として「rootパスワードを忘れた」を使用して検索したところ、MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
的真正原因
这条链接找到了问题产生的原因,然而笔者学识尚浅,看得不是很懂,但笔者还是要解决问题的呀,于是就换个话题搜索,既然笔者不知道密码,那么我就以“忘记root密码”为搜索对象,于是找到了
ubuntu 16.04 下重置 MySQL 5.7 的密码(忘记密码)
然而,到了这里,笔者还是不能解决问题,因为
笔者的配置文件/etc/mysql/my.cnf
下没有[mysqld]这一段啊哭
后来,笔者又在网上折腾了许久,终于在/etc/mysql/mysql.conf.d/mysqld.cnf
を見つけました。 ubuntu 16.04 で MySQL 5.7 のパスワードをリセットします (パスワードを忘れた場合)
ただし、この時点では、作成者はまだ問題を解決できません。 201703171704538.png"/>
作者の設定ファイル/etc /mysql/my.cnf
の下に [mysqld] セクションがありません。泣いてしまいましたその後、作者はインターネットで長い時間が経ち、ようやく /etc/mysql/mysql.conf.d/mysqld.cnf
で見つけました。このファイルの [mysqld] 段落を見つけて、とても感動しました
この点で、作者は、mysql5.7.17 が my.cnf の本来の意味を mysqld.cnf に変更し、パス mysql.conf.d/ の下の /etc/mysql/ に配置したと考えています。 この時点で、私が直面していた問題がついに解決されました。とても嬉しいです。 以下の著者は、彼自身の mysql インストールプロセスと具体的な問題解決プロセスを紹介しています。
2. Mysql のインストールプロセスubuntu ターミナルにコマンドを入力します:
$ sudo apt update $ sudo apt-get install mysql-server mysql-client
3. 問題解決プロセス
1. /etc/mysql/mysql.conf.d/mysqld を開きます。 .cnf ファイルのコマンドは次のとおりです$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf2. 以下に示すように、[mysqld] セクションを見つけて「skip-grant-tables」という行を追加します。
3. mysql サービスを再起動し、次のように入力します。空のパスワードを使用して mysql 管理コマンド ラインを開き、mysql ライブラリに切り替えます。操作コマンドは次のとおりです。
$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> update user set plugin="mysql_native_password"; Query OK, 0 rows affected (0.00 sec) Rows matched: 3 Changed: 0 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit; Bye
4. sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf に戻り、コメントするか削除します。 「skip-grant-tables」行に Lose を追加しました。 5. sudo service mysql restart で mysql サービスを再度再起動し、新しいパスワードでログインすると、変更は成功します。
$ mysql -u root -p new_pass Welcome to the MySQL monitor. Commands end with ; or \g. mysql>ubuntu 16にphp5.6がインストールできない問題についてUbuntuでphpデバッグモードを開いてエラーメッセージを表示🎜🎜🎜🎜PHPをインストールするためのmongodb拡張操作コマンドUbuntu🎜🎜
以上がubuntu16.04にmysql5.7.17をインストールする際にログイン時にエラー1045(28000)が発生する問題を解決しました(写真)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。