ホームページ  >  記事  >  データベース  >  mysqlでホストを変更する方法

mysqlでホストを変更する方法

藏色散人
藏色散人オリジナル
2023-02-15 10:17:374580ブラウズ

Mysql でホストを変更する方法: 1. 「sudo service mysql stop」で mysql サービスを停止します; 2. mysql をセーフ モードで起動し、root パスワードをリセットします; 3. 「update user set Host=」を渡します。 ' %' where User='hive';" ステートメントを使用してホストを変更できます。

mysqlでホストを変更する方法

このチュートリアルの動作環境: Windows 10 システム、MySQL バージョン 5.7、Dell G3 コンピューター。

mysql ホストを変更するにはどうすればよいですか?

MySQL ユーザーのホスト属性をすばやく変更します:

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

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

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

update user set host = '%' where user = 'root';

補足: mysql は root パスワードを変更し、ホストにログインするアカウントを変更します

1. 忘れました root パスワードが設定されています

リモート サーバーには、hive アカウントが含まれる mysql サービスがあります。リモート サーバーから、コマンド ラインを使用して、mysql を使用してログインできます-hlocalhost -uxxx -pxxx ですが、navicat クライアントを使用してログインするにはどうすればよいですか? ログインできず、navicat には依然として自分のマシンの IP アドレスが表示されます。

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

重要なのは、mysql が私によって作成されたものではないということです。また、テスト環境では、誰にパスワードを尋ねればよいかわかりません。次に、究極の武器を使用します。root パスワードを変更します。

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

最初に注意すべきこと: mysql の root アカウントとサーバーの root アカウントは同じ概念ではないため、混同しないでください。

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

sudo service mysql stop

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

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

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

これにより、パスワードなしで root で直接ログインできるようになります:

mysql -u root

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

次に、root パスワードをリセットできます:

mysql> use mysql; 
mysql> update user set password=PASSWORD("mynewpassword") where User='root'; 
mysql> flush privileges;

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

sudo service mysql restart

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

mysql -u root -pmynewpassword

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

root アカウントで mysql にログインした後、アカウント A の関連情報を見てください:

mysql> use mysql;
Database changed
mysql> select User, Host from user where User='hive';
+------+--------------+
| User | Host     |
+------+--------------+
| hive | 127.0.0.1  |
+------+--------------+

これで理解できるでしょう。 navicat クライアントがログインできないのも不思議ではありません。 hive アカウントのホストは 127.0.0.1 のみなので、当然、このマシンにのみログインできます。

mysql> update user set Host='%' where User='hive';

すべてのマシンがログインできるようにハイブ アカウントを設定し、権限を更新します:

mysql> flush privileges;

もう一度確認してください:

mysql> select User, Host from user where User='hive';
+------+------+
| User | Host |
+------+------+
| hive | %  |
+------+------+

ここまでで完了です。

上記は個人的な経験ですので、皆様の参考になれば幸いです。間違いや不完全な考察がございましたら、お気軽にご指摘ください。

推奨学習: 「MySQL ビデオ チュートリアル

以上がmysqlでホストを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。