Mysql でホストを変更する方法: 1. 「sudo service mysql stop」で mysql サービスを停止します; 2. mysql をセーフ モードで起動し、root パスワードをリセットします; 3. 「update user set Host=」を渡します。 ' %' where User='hive';" ステートメントを使用してホストを変更できます。
このチュートリアルの動作環境: Windows 10 システム、MySQL バージョン 5.7、Dell G3 コンピューター。
mysql ホストを変更するにはどうすればよいですか?
MySQL ユーザーのホスト属性をすばやく変更します:
MySQL にリモートでログインする場合、使用するアカウントには特別な要件が必要です。
アカウントのデフォルトのホスト属性は localhost です。つまり、このアカウントはローカルでのみ使用できます。アカウントを使用してリモートでログインする場合は、アカウントのホスト属性値を次のように変更する必要があります。 %。
実行される SQL ステートメントは次のとおりです:
update user set host = '%' where user = 'root';
補足: mysql は root パスワードを変更し、ホストにログインするアカウントを変更します
リモート サーバーには、hive アカウントが含まれる mysql サービスがあります。リモート サーバーから、コマンド ラインを使用して、mysql を使用してログインできます-hlocalhost -uxxx -pxxx ですが、navicat クライアントを使用してログインするにはどうすればよいですか? ログインできず、navicat には依然として自分のマシンの IP アドレスが表示されます。
最初に疑われるのは、mysql のアカウント A のパスワードが正しく設定されていないことです。したがって、root アカウントを使用して Hive アカウントをリセットする必要があります。
重要なのは、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
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 サイトの他の関連記事を参照してください。