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

プログラム

この記事は

  • 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をインストールする

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

MySQL導入方法

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

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

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

MySQLログイン方法

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

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

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

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

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

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

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

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

↓のように、ログインした状態でデータベースを表示させます。

show databases; で表示されます。

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

↓のように、データベース名を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アドレスの変更は、下記画像のようにネットワークプロパティを変更します。

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アドレスです。

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

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

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

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

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

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

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

まとめ

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

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

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

コメント

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