pagetakaBlog

最近リフォームと鳥取県日南町の記事多め。写真、PC、ネット等の話題も

まとめ:Linux Mint で MariaDB 接続トラブル解消記(Rust対応)

暴走妄想痴呆老害の爺がUPしたLinux+Rust+MariaDB+TCP/IP接続のまとめ記事です。
Rust始め3カ月未満なのにRust記事をUPするなど、勘違いも甚だしいです。爺の備忘録ということでご寛容のほど。

5本の記事を読めば、きっとRust初心者のあなたも「外部接続」

UPした記事のリンクです。1から順を追って操作すれば、初心者でも「外部接続」できるかと思います(爺の記事ですので、担保はなく、自己責任で、よろ~)。

組み合わせがニッチだよな~

自分でやってみて結構ニッチな作業だったかもと思いました。

  • LinuxをOSとして使う:世間的には、Windowsに比べ圧倒的に少ないかも。でも、OS費用かからないので貧乏人の爺にはありがたい。その上。Windows11に対応してない古いPCでも、Linux_Mintは結構きびきび動いてくれる。
  • MariaDB:MySQLでなく、MariaDBなんですよね。Rustには専用ドライバがなく、mysqlドライバを使うという...。ほぼ互換だから爺的には問題なし。
  • Rust:爺、Python+MariaDBを趣味で使ってる程度。JPX株式相場表(PDF)を解析・RDB蓄積するのに時間短縮を妄想し、Rustに手を出した。

設定項目が多い Rust+MariaDB

使用するmain.rsのサンプル・プログラムは前回記事にUPしました。Pythonの多少の経験から、手順が長いというか、面倒というか…。

MariaDB側の設定
  • 外部接続を受け付けるよう設定
  • 操作対象RDB用のユーザ設定も必要
  • bind-addressの確認・修正
    • 対象ファイル:マイコンピュータ→ファイルシステム→/etc/mysql/mariadb.conf.d/50-server.cnf
    • 127.0.0.1→0.0.0.0 に変更  ※ 宅内LANなら 192.168.x.x が安全
    • 編集は nanoエディタ:普通のテキストエディタでは権限不足で、書き込めない
MariaDBのユーザ設定
  • root権限でコレコレこういったユーザ名等々と登録する
  • 登録内容は、DB 名・ユーザ名・パスワード・接続元 IP
  • Rustで使うのでメモ必須
Rust側の設定
  • Rust+MariaDBをつなぐドライバは「mysql crate」
    • Pythonの pip install xxx、 import xxx と同じ感覚
  • Cargo.tomlに依存関係を書くと公式サイトから自動取得
  • main.rs に use xxx を書いて使えるようになる。
接続の流れ
  • まずは、localhostで接続成功させる
  • そのあと、TCP/IPで外部接続を実現(プログラム部分修正)
  • ターミナルに読み込み結果が表示されたら目標達成

この先は「Tokio(非同期)+query_as!+構造体」だけど

今回の目標は、Linux_Mint+Rust+MariaDB+TCP/IPで「mysqlドライバ(同期)」を使って、でした。この先は、爺が現在とりくみ中。「Tokio(非同期)+query_as!+構造体」での接続、どなたか書いてくださるとウレピー。

Rust界隈は記事が少ない...らしい

Rust界隈は、「記事を書かない文化」があるとかないとか。

  • Rustをやる人は、自分で調べて書ける
  • 初心者が読んでもわからないことばかり
  • 記事を書く手間が大きく、ついつい面倒になってしまう

というのが今回分かりました。爺、初心者ですが、暴走妄想痴呆老害ということでご容赦ください。

まとめ:ニッチだけどLinux+Rust+MariaDB+TCP/IPの需要はあるのかと

記事のリンクをXにupしてます。アクセス見たら少しずつ増えてます。急激ではないけど、需要はあるのかと妄想中。
ニッチな構成でも、手順を踏めばRust初心者でもTCP/IP(外部接続)できるコトを、爺は「証明」したのかと...夢か? めでたし・めでたし

お気づきの点がありましたら、お教えください。

5/9追記:さらにそれ以前の準備、必要なスキルを関係図を付け加えて記事UP

pagetaka.hatenablog.jp
関係や設定が複雑なRust+MariaDBです。関係図を配置しましたのでご参考まで。