PR

2台のPCを使ってMySQLの通信をしてみよう【初めてのMySQL】

 MySQLといえばデータをやり取りをするための便利ツールですよね。別名データベースとも呼びます。そんなMySQLですが、PCを2台用意すれば片方を仮サーバ、もう片方を子機のようにして通信テストすることができます。

 生産現場などの工場で、PCを複数台使用している場合には、各PCでデータのやり取りが必要なときどうしたらいいか悩むことがありますよね。

 例えば、AというPCとBというPCがあって、Aで製品を調整してデータが保存されていても、そのデータをBでは確認できない。という感じです。

 そんなときMySQLを使うと、サーバーをデータの格納先として指定することで、全PCが同じデータを共有することができます。

 便利なMySQLですが、イメージはついたとして実際にやってみようとすると意外とどうしたらいいかわからないものです。そこで今回は実際に手を動かして、2台のPCでMySQLの通信をしてみる方法について解説してみました。

 もし手元にPCが2台あるなら勉強のついでに遊んでみてはいかがでしょうか??また、当然ですが2台といわず複数のPCで接続が可能です。今回の記事の内容が理解出来たら応用編として複数のPCでMySQL通信にチャレンジしてみてください。

この記事を読むことでわかること

2台のPCを使ってMySQLの通信をする方法がわかる

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

  • 2台のPCを無線でつなげる
  • MySQLを導入したPCのデータに他のPCからアクセスできるようになる

という内容を紹介しています。

2台のPCを無線でつなげる

    手順はこちら
  • 2台のPCを用意する※Windows10 OSでお願いします
  • 無線接続できる環境を作る

2台のPCを用意する※Windows10 OSでお願いします

こちらはそのままの説明です。

2台PCを用意していただき、どちらを仮サーバとするか決めてください。

PCのスペックですが、ネットサーフィンが軽くできる程度であれば大丈夫です。

サーバーと聞いて非常に高スペックなPCをイメージされる方もいるかと思いますが、

検証でつないでみる程度であればそこまで必要はありません。

無線接続できる環境を作る

最近のノートパソコンは無線LAN子機が標準搭載されていることがほとんどですし、

ネットをつなぐときは無線LANルータを使用している方がほとんどではないでしょうか?

デスクトップPCは有線でケーブルを挿して使用されている方がほとんどかと思いますが、

実はUSBポートにさして無線で、無線LANに接続する方法があるんです。

こちらの商品を空いているUSBポートに挿すことにより、無線で通信が可能です。

通信速度は有線と無線では、一般的には有線のほうが安定して高速です。

ただし、工場では各装置からケーブルが伸びているとその配線処理も時間がかかってしまうので、

できればはじめから無線化してあげると喜ばれるかもしれません。

また、無線の中継地点となる無線LANルータですが、私はいつもこちらの商品を使用しています。

家では安い無線LANルーターを使用していますが、仕事での不安定な接続は不要なトラブルの元ですので、BUFFALO製の信頼性のあるものを使用しています。

ルーターが不安定でエラーとか一番嫌ですよね…


MySQLを導入したPCのデータに他のPCからアクセスできるようになる

    手順はこちら
    1. PCにそれぞれMySQLをインストールする
    2. テスト用のテーブルを作成しておく
    3. 仮サーバ側で、外部からログインできるUserを作成する
    4. 外部ログイン用Userに権限を付与する
    5. 実際に別のPCでログインしてみる

①PCにそれぞれMySQLをインストールする

具体的な手順に関しては、以前記事にした↓↓↓の記事を参考にしてください。

※それぞれインストールする理由は、サーバ側だけでなく、別PC側でログインするのが今回の目的のためです。

②テスト用のテーブルを作成しておく

MySQLのログインの手順に関しては、以前記事にした↓↓↓の記事を参考にしてください。

ログインできたところで、外部のPCからアクセスしたときに確認できるデータテーブルを作成していきましょう。

そもそもデータテーブルってなんだ?というお話かと思いますので軽く説明しておきます。

大まかには、データテーブルとは、データベース内に作られる実際に値や文字を格納する場所

という認識で大丈夫だと思います。

具体的には、show databasesして表示されるのがデータベース

use database名 を実行した後にshow tablesして表示されるのがデータテーブルです。

実際に流れを見たほうが理解が早いと思いますので、さっそくデータテーブルを作成していきます。

※ここからはサーバ側の操作です※

ログインした状態でデータベースを表示させる

show databases; で表示されます。

MySQLの初期状態のデータベース

続いて、まずはデータテーブルを格納するデータベースの作成です。

データベース名をhappyDBとしてデータベースを作成

create database happyDB; でデータベース作成。

新たにデータベースを作成した結果

再びshow databases; すると、新しくhappydbが追加されているのがわかりますね。

それでは続いて作ったデータベースの中に、データテーブルを作っていきましょう

happydbを使用すると宣言して、データテーブルを作成

use happydb ←データベース名を指定して、宣言する

create table テーブル名(列の名前 属性,列の名前 属性); ←データテーブル名を定義して、中身も定義する

作成したデータベースにアクセスしてデータテーブルを新規作成
作成したデータテーブルの中にデータを格納

insert into testtable(id,testValue) values(1,’hobbyhappyblog’); ←上で定義したテーブルに具体的な値と文字を格納する

新規作成したデータテーブルの中身を表示

select* from testtable; ←格納先のテーブルに値と文字が入っているか確認できます。

③仮サーバ側で、外部からログインできるUserを作成する

外部からアクセスするユーザーを作成

create user tester@’192.168.12.%’ idenrified by ‘testPass’; ←パスワード testPassでIPアドレス192.168.12.~からアクセス可能なユーザー名testerを作成

ログインユーザーの新規作成

④外部ログイン用Userに権限を付与する

ユーザーにアクセス権限を付与

grant all on happydb.testtable to tester@’192.168.12.%’; ←IPアドレス192.168.12.~からアクセス可能なユーザー名testerに、データベース名 happydb内の、testtableの中の読み書き権限を付与する

ユーザーにアクセス権限を付与

⑤実際に別のPCでログインしてみる

さてここまで来たらあと少しです。

ここからは、サーバ側、ログイン側のPCともに設定が必要です。

※無線LANルータへはどちらのPCも接続されている前提で話を進めます※

サーバ側、ログイン側両方のPCのIPアドレスをローカル接続できるように変更します。

IPアドレスの変更は、下記画像のようにネットワークプロパティを変更します。

IPアドレスを手動で設定

IPV4のところが自動で取得になっていると思いますので、

こちらを192.168.12.好きな数字255以下 として指定しましょう。

※注意1※

サーバ側とログイン側でIPアドレスは3列目の12まで必ず一致させないと通信できません。

また、サーバ側とログイン側で全く同じIPアドレスは使えませんので数字をずらしましょう。

※注意2※

今回はIPV4での通信を行いますので、IPV6のチェックが入っている場合はチェックを外しておきましょう。

ログイン側のPCでサーバ側のPCにアクセスする

ログイン側のPCでMySQLにログインするのですが、

IPアドレスを指定して、サーバに見立てたPCへのアクセスを行います。

具体的には、

mysql -u tester -h 192.168.12.201 -p

解説すると、ユーザー名はサーバ側で設定したもの。-h に続くのはサーバ側で決定したIPV4のIPアドレスです。

mysqlにログインするコマンド

パスワードを聞かれますが、ログイン側のPCのrootで入る時のパスワードではありません。

あくまでもtesterというユーザのパスワードですので、

今回はtestPassがパスワードになります。

パスワードを入れてログインできたら、あとは最終確認です。

データテーブルの中身まで表示させる流れ

上記のようにデータベース名を取得して、使用するデータベースを指定しましょう。

テーブル名を指定してテーブル内のデータを表示する。

これでサーバ側PCのデータベースに別PCからアクセスできたことになります。

まとめ

いかがだったでしょうか?

この記事が理解できるようになると、装置間のデータのやり取りのイメージがついたのではないでしょうか?

今後はこの制御をC#で行う内容を記事にする予定です。

コメント

タイトルとURLをコピーしました