CentOS での MySQL ログイン 1045 問題を解決する

CentOS での MySQL ログイン 1045 問題を解決する

アプリケーション全体を CentOS にデプロイする必要があるため、当然ながらデータベース操作は不可欠です。しかし、ユーザーの作成は成功したもののログインできないなどの問題に遭遇する人も多いでしょう。

ログインできない理由は一般的に 2 つあります。まず、リモート アクセス ポートが開いていません。2 番目の理由は、パスワードが間違っていることです (非常に奇妙ですが、ログインに使用したパスワードは明らかに正しいのですが、それでもパスワードが間違っているというメッセージが表示されます。なぜそうなるのかはわかりませんが、エンコードか何かが原因かもしれません)

リモート アクセス ポートが開かれない問題は比較的簡単に解決できます。クラウド サーバーを使用している場合は、コンソールでセキュリティ グループを構成し、対応するポートを開くことができます。

ここで、より厄介な 2 番目の間違いについてお話ししましょう。

2 番目の状況では、多くの場合、次のエラー メッセージが表示されます: 1045 ユーザー 'root'@'%' のアクセスが拒否されました (パスワードの使用: YES)。

大まかに全体の流れを書いてみました。私のオペレーティング システムは Centos7.4 で、MySQL バージョンは 5.7 です。

まず、mysql にログインします。私のユーザーは root ユーザーです。ログインコマンドは

mysql -u root -p

ログインパスワードを入力すると、ウィンドウが以下のように変わります。

まず、システム内のユーザー、そのユーザーの特定の権限、特定のコマンドを確認しましょう。

ユーザーを表示:

SELECT DISTINCT CONCAT('ユーザー: '''、user、'''@'''、host、''';') AS query FROM mysql.user;

特定のユーザーの権限を表示します。

show grants for 'root'@'%';

ウィンドウは以下のように変わります。

次に、ユーザーがデータベースにリモートアクセスして操作できるようにユーザーを作成します。具体的なコマンドは以下のとおりです。

'zhangsan.CQU.2020.lisi' で識別されるユーザー zhangsan を作成します。
'zhangsan.CQU.2020.lisi' で識別される zhangsan@'%' に *.* のすべての権限を付与します。

または、1 つのコマンドだけ:

'zhangsan.CQU.2020.lisi' で識別される 'zhangsan'@'%' に、GRANT オプションを使用して *.* のすべての権限を付与します。

操作が完了したら、必ず更新してください。そうしないと、操作が有効にならない場合があります。コマンドは次のとおりです。

flush privileges;

この時点でユーザーを再度確認すると、先ほど作成したユーザーがもう 1 人いることがわかります。

「exit」と入力して MySQL を終了し、zhangsan アカウントでログインしてみます。

問題は解決しましたが、ログインできません。次はこの問題を解決しましょう。

まず、自分の MySQL my.cnf ファイルを見つけます。(私のファイルは etc フォルダーにありますが、人によってファイルは異なる場合があります。条件で検索するには Linux コマンドを使用します。)

ファイルを開いた後 (vi my.cnf)、編集モード (a) に入り、mysqld キーワードを見つけて、mysqld の下に skip-grant-tables を追加し、保存して終了します (最初に esc、次に :wq)、図に示すように:

コメントを削除するだけです。

次に、次のコマンドで mysql を再起動します。

service mysqld restart

次のステップは、再度ログインしてパスワードを変更することです。

パスワードの入力を求められた場合は、Enter キーを押すだけでパスワードの確認をスキップし、正常にログインできます。次に、mysql データベースに入り、パスワードを変更します。コマンドは次のとおりです。

use mysql

パスワードを変更するには:

ユーザーを更新します。set authentication_string=password("zhangsan.CQU.2020.lisi") where user="zhangsan";

図に示すように:

次に、mysql を終了し、変更したばかりの my.cnf ファイルを元に戻して、mysql を再起動します。

ログインが成功し、リモート接続も成功していることがわかりますので、デモは省略します。それでもリモートログインが成功しない場合は、ポート設定をチェックして、リモートアクセスが有効になっているかどうかを確認してください。

要約する

上記は、CentOS での MySQL ログイン 1045 問題を解決するための編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • MySQL パスワードは正しいが、ローカルにログインできない -1045
  • Ubuntu 16.04 に MySQL 5.7.17 をインストールした後、ログイン時に発生するエラー 1045 (28000): ユーザー ''root''@''localhost'' へのアクセスが拒否される問題を解決します。
  • MySQLをインストールした後、ログイン時にルートアカウントプロンプトが表示されます。mysql ERROR 1045 (28000): アクセスが拒否されました。解決策
  • MySQL ログイン エラー プロンプト: ERROR 1045 (28000) の解決方法
  • MySQLにログインする際のERROR 1045問題を解決する方法

<<:  Nginxサービス500:内部サーバーエラーの原因の1つ

>>:  Vue は検証コードのカウントダウンボタンを実装します

推薦する

製品を選択した後、右下隅に√記号を表示するための純粋なCSS

おすすめの記事: CSS 疑似クラスの右下隅をクリックすると、選択を示すチェックマークが表示されます...

HTML テーブル マークアップ チュートリアル (40): ヘッダーの暗い境界線の色属性 BORDERCOLORDARK

テーブルヘッダーでは、暗い境界線の色を個別に定義できます。基本的な構文<TH 境界線の色を暗く...

JavaScript ベースのシンプルなカルーセルの実装

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

SQL ステートメント実行の詳細な説明 (MySQL アーキテクチャの概要 -> クエリ実行プロセス -> SQL 解析順序)

序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

React Fiberの仕組みの詳細な説明

目次React Fiberとは何ですか?なぜReact Fiberなのか? React Fiberは...

DockerコンテナがJupyterにアクセスできない問題の解決策

このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...

Linux で見つけるためのフレンドリーな代替手段 (fd コマンド)

fd コマンドは、Linux ファイル システムを検索するためのシンプルで簡単な方法を提供します。...

MySQL がエラーを報告: ファイルが見つかりません: './mysql/plugin.frm' 解決策

問題を見つける最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことで...

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

パーソナライズされた検索エンジンを使用して、必要なパーソナライズされた情報を検索します

現在、多くの人がインターネット上で生活しており、インターネットで情報を検索することは日常的な作業とな...

HTMLポップアップ透明レイヤーインスタンスのサイズを設定でき、比例することができます

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

Docker で PostgreSQL を実行し、いくつかの接続ツールを推奨する

1 はじめに PostgreSQL は、非常に充実した機能を備えたフリーソフトウェアのオブジェクトリ...