MySQL ユーザーのホスト属性を素早く変更する方法

MySQL ユーザーのホスト属性を素早く変更する方法

MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。

アカウントのデフォルトのホスト属性は localhost です。つまり、このアカウントはローカルでのみ使用できます。アカウントを使用してリモートでログインする場合は、アカウントのホスト属性値を % に変更する必要があります。

実行された SQL ステートメントは次のとおりです。

ユーザーを更新します。ホストを '%' に設定し、ユーザーを 'root' に設定します。

補足: mysql ルートパスワードの変更 アカウントのログインホストの変更

1. ルートパスワードを忘れた

リモート サーバーは、Hive アカウントを使用して mysql サービスを開始しました。mysql -hlocalhost -uxxx -pxxx を使用してコマンド ラインからリモート サーバーにログインできますが、navicat クライアントを使用してログインすることはできず、navicat は依然として自分のマシンの IP アドレスを表示します。

最初の疑いは、MySQL のアカウント A のパスワードが正しく設定されていないことです。したがって、hive アカウントをリセットするには、root アカウントを使用する必要があります。

困ったことに、MySQL をインストールしていませんでした。また、テスト環境では、パスワードを誰に尋ねればよいかわかりません。次に、最終兵器であるルート パスワードを変更します。

2. mysql のルートパスワードをリセットします。

まず、MySQL のルート アカウントとサーバーのルート アカウントは同じ概念ではないため、混同しないように注意してください。

まず、mysql サービスを停止します。

sudo サービス mysql を停止

サーバーに root アカウントがある場合は、sudo は必要ありません。以降のすべての操作にも同じことが当てはまります。上記のコマンドはUbuntuとDebianで動作します。 CentOS、Fedora、RHEL では、mysql の代わりに mysqld を使用します。以降の操作についても同様です。

次に、mysql をセーフ モードで起動します。

sudo mysqld_safe --skip-grant-tables --skip-networking &

この方法では、パスワードなしで root として直接ログインできます。

mysql -u ルート

このようにして、root アカウントで mysql にログインしました。

その後、ルート パスワードをリセットできます。

mysql> mysql を使用します。 
mysql> ユーザーを更新し、パスワードを PASSWORD("mynewpassword") に設定します。ここで、User は 'root' です。 
mysql> 権限をフラッシュします。

リセットが完了したら、mysql を終了します。次に、mysql サービスを開始します。

sudo サービス mysql を再起動

次に、root アカウントでログインします。

mysql -u ルート -pmy新しいパスワード

3. アカウントAの関連する権限を変更する

ルートアカウントでmysqlにログインした後、アカウントAの関連情報を見てみましょう。

mysql> mysql を使用します。
データベースが変更されました
mysql> user から User、Host を選択します (User='hive' の場合)。
+------+--------------+
| ユーザー | ホスト |
+------+--------------+
| ハイブ | 127.0.0.1 |
+------+--------------+

今分かりました。ああ、Navicat クライアントにログインできないのも当然だ。 hive アカウントのホストは 127.0.0.1 のみなので、ローカルでのみログインできます。

mysql> ユーザーを更新し、Host='%' を設定し、User='hive' にします。

すべてのマシンからアクセスできるように hive アカウントを設定し、権限を更新します。

mysql> 権限をフラッシュします。

もう一度見てみましょう:

mysql> user から User、Host を選択します (User='hive' の場合)。
+------+------+
| ユーザー | ホスト |
+------+------+
| ハイブ | % |
+------+------+

ここまでで完了です!

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • 新しく作成された MySQL ユーザーの % には localhost が含まれていますか?
  • すべてのホストがmysqlにアクセスできるようにする方法
  • MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策
  • MySQLがlocalhostを使用して接続できるがIPを使用して接続できない問題の解決策
  • Mysqlがデータベースに接続するときのホストとユーザーのマッチングルールについての簡単な説明

<<:  HTML テーブル マークアップ チュートリアル (28): セルの境界線の色属性 BORDERCOLOR

>>:  docker に openjdk をインストールして jar パッケージを実行する方法

推薦する

el-tree での不完全なテキスト表示の解決策

目次方法1: 水平スクロールバーを設定する最も簡単な方法方法2(新規):ドラッグバーを追加して外側の...

mysql8.0 パスワードを忘れた場合の修正とネットコマンドのサービス名が無効になる問題

cmdにnet start mysqlと入力すると、プロンプトが表示されます: サービス名が無効です...

mysql5.7 以降で my.ini を設定するための詳細な手順

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリ、my-...

MySQL インデックスが失敗するいくつかの状況の概要

1. インデックスはnull値を保存しないより正確に言うと、単一列インデックスには null 値は格...

Nginxの書き換えモジュールの詳細な説明

書き換えモジュールは ngx_http_rewrite_module モジュールです。その主な機能は...

JavaScriptとTypeScriptの関係

目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...

MySQLデータの同時更新を処理する方法

UPDATE はロックしますか?以下のような場合、SQL文はロックされますか? テーブル1を更新しま...

HTML の 2 つのタブ ナビゲーション間の競合の解決方法

まず問題の説明から始めましょう:同じページで、1 つのタブに float:left が必要で、もう ...

HTMLの基本概念の詳細な説明

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 •HTML...

Windows サーバー ファイルをローカルにバックアップする方法、Windows サーバー データ バックアップ ソリューション

重要なデータはバックアップする必要があり、リアルタイムでバックアップする必要があります。そうしないと...

MySQLでSQL文がどのように実行されるかの詳細な説明

概要最近MySQL関連の知識を勉強し始めました。学んだ知識ポイントと自分の理解を元に整理して共有しま...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

MacにHomebrewをインストールする際の注意点

最近、Xiao Ming は新しい Mac を購入し、独自のブログ Web サイトを構築したいと考え...

HTML 初心者のためのベストプラクティス 15 選

HTML 初心者向けのベストプラクティスを 30 個紹介します。 1. タグを閉じたままにする過去に...

画像比較を実現するjQueryプラグイン

この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...