105

このコードを使用して、1 つの IP へのアクセスを簡単に許可できます。

$ mysql -u root -p
Enter password:    
mysql> use mysql    
mysql> GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password';     
mysql> FLUSH PRIVILEGES;

しかし、サブネット全体 192.168.1.* がデータベースにリモートでアクセスできるようにする必要があります。

どうやってやるの?

4

8 に答える 8

137

netmask も使用できるようです。

GRANT ... TO 'user'@'192.168.0.0/255.255.255.0' IDENTIFIED BY ...
于 2016-07-15T07:05:35.717 に答える
110

編集:このページでMalvineousの回答を見て、支持することを検討してください。ネットマスクは、はるかに洗練されたソリューションです。


IP アドレスのワイルドカードとしてパーセント記号を使用するだけです。

http://dev.mysql.com/doc/refman/5.1/en/grant.htmlから

ホスト名にはワイルドカードを指定できます。たとえば、ドメイン内の任意のホストにuser_name@'%.example.com'適用され、クラス C サブネット内の任意のホストに適用されます。user_nameexample.comuser_name@'192.168.1.%'user_name192.168.1

于 2012-07-31T15:01:20.187 に答える
32

次のようにワイルドカードとして「%」を使用します。

GRANT ALL ON *.* to root@'192.168.1.%' IDENTIFIED BY 'your-root-password';
于 2012-07-31T15:01:29.050 に答える
17
mysql> GRANT ALL ON *.* to root@'192.168.1.%' IDENTIFIED BY 'your-root-password';  

ワイルドカード文字は「*」ではなく「%」です

于 2012-07-31T15:01:35.690 に答える
2

@Malvineausの回答に動機付けられて、自分で試してみましたが、うまくいかないことに気付きました。

「192.168.1.%」または「192.168.1.0/255.255.255.0」でサブネット マスクを指定できますが、サブネットは常に完全なオクテットである必要があります。https://mariadb.com/kb/en/create-user/#host-name-componentを参照してください。結果として、一方の指定方法と他方の指定方法の間の機能は同じです。

たとえば、「192.168.1.0/255.255.255.128」は、完全なオクテット境界上にないため機能しません。

于 2020-09-15T10:31:58.347 に答える
2

サーバーに接続した後、ホストに接続したい場合は、以下の手順を実行する必要があります。

  1. mysql を記述してmysqlを開きます
  2. 書く;GRANT ALL ON . to root@'write_your_ip_addres' IDENTIFIED BY 'write_password_to_connect'
  3. Control キーと X キーを押して mysql を終了します
  4. 書きますnano /etc/mysql/my.cnf
  5. my.cnf フォルダーの bind-address = 127.0.0.1 の前に # を書き込む
  6. #バインド アドレス = 127.0.0.1
  7. コントロール+ Xでmy.cnfフォルダーを保存します
  8. 書きますservice mysql restart
  9. ホストで navicat 経由で接続できます
于 2020-01-09T11:54:18.883 に答える
1

MySQL 8.0.23 以降では、CIDR 表記もサポートされるようになりました。

だから基本的に:

-- CIDR Notation
GRANT ... TO 'user'@'192.168.1.0/24' IDENTIFIED BY ...

-- Netmask Notation
GRANT ... TO 'user'@'192.168.1.0/255.255.255.0' IDENTIFIED BY ...
于 2021-02-18T07:22:51.727 に答える