私も最近同じ問題を抱えています。次のようにして動作させました:
MySQL構成の編集
デフォルトでは、MySQLはリモート接続を受け入れるように構成されていません。構成ファイルを変更することにより、リモート接続を有効にできます。
sudo nano /etc/mysql/my.cnf
[mysqld]
を見つけます セクション。変更する必要のある行はbind-address
です 、デフォルト値の127.0.0.1
に設定する必要があります 。この行を編集して、代わりにネットワーク上のRPiのIPを表示します(例からは192.168.1.102のように見えます)。変更を書き込みます。
MySQLサービスを再起動します
sudo service mysql restart
MySQL権限の設定
ルートとしてMySQLインスタンスに接続します:
mysql -p -u root
ユーザーを作成する:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- 構文のアポストロフィ(')が必要です
- IPアドレスは、接続しようとしているネットワーク上のデバイスのIPアドレスです
関連するデータベースとテーブルに権限を付与します:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- パラメータは、前の手順でユーザーを作成するために使用したものです
- *は、指定されたデータベース内のすべてのテーブルへのアクセスを許可します。または、特定のテーブルを指定することもできます
- 関連する特権を付与するだけでセキュリティを強化したいと思うかもしれませんが、それが機能することをテストするには十分なはずです
うまくいけばそれができるはずです!