自家醸造活動の温度データを保存するRaspberry Piがあります。コンピューターでSpring MVCアプリケーションを作成していますが、データをタップしたいです。 Piとコンピューターの両方がローカルネットワーク上にあります。 RPiに完全にSSHとFTPで接続できます。
mysql --192.168.1.102 --u root -p db
「 '192.168.1.102'のMySQLサーバーに接続できません」を引き起こします。
私のJavaアプリケーションも接続していないのは明らかです。
SHOW VARIABLES WHERE VARIABLE_NAME = 'port' ;
デフォルトのポート3306を返します。
MySQLへのリモート接続を許可するために有効にする必要がある設定はありますか?
私は最近自分で同じ問題を抱えています。私は次のことをしてそれを機能させました:
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>';
関連するデータベースとテーブルにアクセス許可を付与します。
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
うまくいけばうまくいくはずです!
this instructableで見つかったコメントのおかげで、次のように機能しました。
GRANT ALL ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY 'your_password_here';
(ネットワーク上の任意のコンピューターが接続できるように、192.168.1。%を使用しました)Sudo nano /etc/mysql/my.cnf
)ファイルを作成し、「バインドアドレス」を探してコメントアウトします(行の先頭に#を入力します)service mysql reload
)service mysql restart
)問題がRaspberry Pi上のMySQLにリモートで接続できない場合は、以下の手順を試してください。私は同じ問題を抱えていて、以下のコマンドを実行することで解決しました。
1)Sudo nano /etc/mysql/my.cnf
2)# bind-address = 127.0.0.1
//この行をコメントアウト
bind-address = 0.0.0.0 //add this line just below above line
3)Sudo /etc/init.d/mysql restart
// mysqlを再起動します
4)Sudo mysql -u root -p
//ユーザー「root」としてmysql cliにログイン
5)GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'beta' WITH GRANT OPTION;
ここで、「root」はmysqlユーザー、「beta」はパスワード、ここでは「root」の権限が設定されています。それに応じて変更し、mysql cliで上記のクエリを実行します。
幸運を !!!