mysqlはリモートアクセスを許可します

黄舟
リリース: 2017-02-15 10:53:24
オリジナル
1286 人が閲覧しました


mysql はデフォルトではリモートからアクセスできません。

なんと!なんと!みんなが絶賛した Dongdong ですが、実はデフォルトではスタンドアロン版になっています。

実際には、これは新しくインストールされた mysql のみに適用されます。新しくインストールされた mysql には、管理者 root というアカウントが 1 つだけあり、ローカルでのみアクセスできるようです (ただし、注意が必要です)。

それでは、同じ LAN 内の他のマシンがそのデータベースにアクセスできるようにするなど、リモート アクセスを有効にするにはどうすればよいでしょうか?

新しくインストールされた MYSQL の初期アカウント状況が次のとおりであると仮定します。

+------+-----------+| user | host      |
+------+-----------+| root | 127.0.0.1 |
| root | ::1       || root | localhost |
+------+-----------+3 rows in set (0.14 sec)
ログイン後にコピー
ログイン後にコピー

オンラインで検索したところ、一部の専門家は、ホストを '%' に変更すると、すべてのマシンからアクセスできるようになると言いました。

しかし、現在私が直面している状況は、サードパーティによって開発されたシステムがあり、そのデータベースからデータを読み取る必要があるということです。デフォルトでは、そのアカウントは上記のようになっており、ローカルでのみアクセスできます。アカウントを変更する必要がありますか?変化は非常に小さいのでリスクはないはずですが、それでも違和感を感じます。

しかし、インターネット上のすべてのチュートリアルは、基本的にホストを '%' に変更するという議論に基づいています。世の中にはたくさんの記事があります。

アイデアは次のようになると思います:

1. ユーザーを作成します
2. このユーザーにリモート アクセスを許可します

テスト後、成功しました。手順は次のとおりです。
1. ユーザーを作成します

create user 'test' identified by '123456'
ログイン後にコピー
ログイン後にコピー

この方法で作成されたユーザーのホストは '%' です

特定の IP へのアクセスを制限したい場合は、Jiangzi:

create user 'test'@'192.168.0.164' identified by '123456'
ログイン後にコピー
ログイン後にコピー

さて、それではユーザーが作成され、リモート アクセスが許可されます。すべて完了

2ですが、権限を付与する必要があります

grant all on db1.* to test@'%';
ログイン後にコピー
ログイン後にコピー

ここでは、テストのためにデータベース db1 のすべての権限が与えられています。

このようにして、test を使用して mysql データベースにアクセスできます。

3. パスワードをクリアします
そのサードパーティ システムの場合、mysql アカウントは root であり、パスワードは空です。接続文字列にどのように記述するのでしょうか?書き方は 3 つあることがわかりました:

server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1
ログイン後にコピー
ログイン後にコピー

上記はすべて機能します。コマンドラインからログインする場合は、次のように実行できます:
mysql -u test (Enter)
ログインできます。

では、パスワードをクリアするにはどうすればよいでしょうか? Can Jiang Zi:

set password for test@'%'=password('');
ログイン後にコピー
ログイン後にコピー

は mysql の素晴らしさにため息をつきます。そのアカウントは実際にはアカウント名 + ホストによって決定されるようで、これは複合主キーに相当します。このアイデアは非常に斬新です。とても実用的でもあります。

mysql はデフォルトではリモートからアクセスできません。

なんと!なんと!みんなが絶賛した Dongdong ですが、実はデフォルトではスタンドアロン版になっています。

実際には、これは新しくインストールされた mysql のみに適用されます。新しくインストールされた mysql には、管理者 root のアカウントが 1 つだけあり、ローカルでのみアクセスできるようです (ただし、注意が必要です)。

それでは、同じ LAN 内の他のマシンがそのデータベースにアクセスできるようにするなど、リモート アクセスを有効にするにはどうすればよいでしょうか?

新しくインストールされた MYSQL の初期アカウント状況が次のとおりであると仮定します。

+------+-----------+| user | host      |
+------+-----------+| root | 127.0.0.1 |
| root | ::1       || root | localhost |
+------+-----------+3 rows in set (0.14 sec)
ログイン後にコピー
ログイン後にコピー

オンラインで検索したところ、一部の専門家は、ホストを '%' に変更すると、すべてのマシンからアクセスできるようになると言いました。

しかし、現在私が直面している状況は、サードパーティによって開発されたシステムがあり、そのデータベースからデータを読み取る必要があるということです。そのアカウントのデフォルトは上記であり、ローカルでのみアクセスできます。アカウントを変更する必要がありますか?変化は非常に小さいのでリスクはないはずですが、それでも違和感を感じます。

しかし、インターネット上のすべてのチュートリアルは、基本的にホストを '%' に変更するという議論に基づいています。世の中にはたくさんの記事があります。

アイデアは次のようになると思います:

1. ユーザーを作成します
2. このユーザーにリモート アクセスを許可します

テスト後、成功しました。手順は次のとおりです。
1. ユーザーを作成します

create user 'test' identified by '123456'
ログイン後にコピー
ログイン後にコピー

この方法で作成されたユーザーのホストは '%' です

特定の IP へのアクセスを制限したい場合は、Jiangzi:

create user 'test'@'192.168.0.164' identified by '123456'
ログイン後にコピー
ログイン後にコピー

さて、それではユーザーが作成され、リモート アクセスが許可されます。すべて完了

2ですが、権限を付与する必要があります

grant all on db1.* to test@'%';
ログイン後にコピー
ログイン後にコピー

ここでは、テストのためにデータベース db1 のすべての権限が与えられています。

このようにして、test を使用して mysql データベースにアクセスできます。

3. パスワードをクリアします
そのサードパーティ システムの場合、mysql アカウントは root であり、パスワードは空です。接続文字列にどのように記述するのでしょうか?書き方は 3 つあることがわかりました:

server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1
ログイン後にコピー
ログイン後にコピー

上記はすべて機能します。コマンドラインからログインする場合は、次のように実行できます:
mysql -u test (Enter)
ログインできます。

では、パスワードをクリアするにはどうすればよいでしょうか? Can Jiang Zi:

set password for test@'%'=password('');
ログイン後にコピー
ログイン後にコピー

は mysql の素晴らしさにため息をつきます。そのアカウントは実際にはアカウント名 + ホストによって決定されるようで、これは複合主キーに相当します。このアイデアは非常に斬新です。とても実用的でもあります。

上記は、mysql でリモート アクセスを可能にするものです。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!