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 パッケージを実行する方法

推薦する

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

CocosCreator 学習モジュールスクリプト

Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...

メタタグのビューポートはデバイス画面のCSSを制御します

コードをコピーコードは次のとおりです。 <meta name="viewport&q...

Zabbix動的実行監視収集スクリプトの実装原理

Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。サ...

Vue3における非親子コンポーネント通信の詳細な説明

目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...

ホバー生成の境界線によって生じる要素の移動を解決する方法

序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...

Angularコンポーネント投影の詳細な説明

目次概要1. 簡単な例1.サブコンポーネントの<ng-content>ディレクティブを使...

mycat を使用して MySQL データベースの読み取りと書き込みの分離を実装する例

MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

Vue で Axios 非同期リクエスト API を使用する方法

目次基本的なHTTPリクエストの設定async/await を使用した Axios Axios によ...

HTML ページ スタイルの !-- -- の機能は何ですか?

主に低バージョンのブラウザ向け<!-- --> は HTML コメント タグです。上位バ...

MySQL 5.7.21 のインストールと設定方法のグラフィックチュートリアル (ウィンドウ)

ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...

WeChat アプレットの日付と時刻のコンポーネント (年、月、日、時間、分)

この記事の例では、WeChatアプレットの日付と時刻コンポーネントの具体的なコードを参考までに共有し...

Web2.0製品と機能の簡単な紹介

<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...

JavaScriptがDOMツリーの構築にどのように影響するかについて詳しく説明します。

目次ドキュメント オブジェクト モデル (DOM) DOM と JavaScript DOMツリーの...