問題だらけ。。。

色々な覚書(まとまっていないもの多数)

RaspberryPiから別のRaspberryPiのDBへ値を書き込む

以下のサイトを参照

https://blog.websandbag.com/entry/2018/06/03/223431

 

mariaDBのconfigファイルのありか

/etc/mysql/mariadb.conf.d/50-server.cnf

 

 

Q. iptablesって何だ?

A.Unix系のパケットフィルタ(ファイヤーウォールみたいなやつ)

https://qiita.com/dtanimoto00/items/1d0a9b02867add646ea5

 

RaspberryPiでiptablesを使うには

 https://www.downtown.jp/~soukaku/archives/2019/0728_185332.html

 

1. MariaDBのポート確認

これは"3306"から変えてないから問題なし

 

2. ファイアーウォールにMariaDBポート用の設定を追加する

ここでいきなりつまづく。iptablesコマンドが使えない!

以下のサイトでiptablesを使えるようにした。

 

また、サイトの通りの記述だと走らなかったのと、全IP許可はセキュリティが心配なので以下のようにした。

×: iptables -I INPUT 2 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

〇:iptables -A INPUT -s [IPアドレス] -m state --state NEW -p tcp --dport 3306 -j ACCEPT

 

さらに上記の変更を保存するのに

service iptables save

を打ったが、そんなコマンドはないといわれる。

 

以下のサイトで、iptables-persistentを使った保存方法を実施。

https://qiita.com/yas-nyan/items/e5500cf67236d11cce72

 

やっと保存できた。

 

3.外部からの接続確認

telnetを使った確認だったので、RaspberryPiでなくwindows10上のUbuntoで確認。(RaspberryPiにはtelnetデフォルトで入ってないから)

とりあえず、ポート開放は確認できた。

 

4.MariaDBの環境ファイル編集

 

bind-address = 0.0.0.0

を追加。

 

5.MariaDBに外部接続用のユーザー追加

ほかのユーザーが全部"localhost"なので、ホストが"%"(どこからでもアクセスできるような)のユーザーを作る。

GRANT ALL PRIVILEGES ON *.* TO "ユーザー名"@"%" IDENTIFIED BY 

"パスワード" WITH GRANT OPTION;

 

6.外部からMariaDBに接続

別のPCから以下を実行

$mysql -u [ユーザー名] -p -h [IPアドレス]

 

やっと繋げた。。。

 

以下、補足。

 

MariaDBRaspberry Piにインストール

http://fanblogs.jp/mi9999/archive/51/0

 

 

バインドアドレスが書かれたファイルを検索

$sudo grep bind-address /etc/ -r -n --color