MySQLへのネットワーク接続

  • 投稿日:
  • by
  • カテゴリ:

マザーボード故障によりPCがブートしなくなりました。アルミ電解型の平滑コンデンサも膨らんでいないし(その昔台湾製ボードでは不純物混入した粗悪アルミ電解コンデンサが出回りマザボ故障原因のトップの座がしばらく続きました)、見た目では原因不明のため早々に修理をあきらめ(というか既に自作や修理する気力は無いのですが。。)新しく購入しました。今度のPCはWindows10・Intel Corei5 6400です。なんとクワッドコア(クワッドスレッド)だそうです。しかもSSD。BTO(BuiltToOrder)なので、さらに超静穏の筐体クーラーとインクジェットプリンターを付けました。今までのPC(WindowsXP・Intel Celeron)とは比べ物にならない性能です。それでも世の中にはまだまだ高価な上位性能のCPUがあるので、結構安価に購入できました。一応紹介しておくとパソコン工房というショップのパソコンです。

というわけで真新しいPCをワクワクしながらセットアップし使い始めてみると、ほんとうに快適。完全フリーのセキュリティ検知ソフト(KING Soft InternetSecurity)をインストールしても何の問題もなくサクサク動くんです。このPCをいじりながら、また色々サーバーサイドプログラミングをやりたくなってきました。人間ちょっとしたワクワク感がきっかけになるんだなあとつくづく思います。

前置きが長くなりましたが、サーバーサイドプログラミングと言っても私の場合やはりperlなわけで、MovableTypeのプラグインを作ってみることにしました。今回は、ソースコードを読んだりDB仕様の調査をしているうちに、当然この新しいPC上でMTデータベースのテーブルの中を見たくなったので、それを実現した時の備忘録です。

1.MySQL の設定

(1)ネットワーク接続ユーザーの設定
サーバーにtelnetで入り、mysqlサーバーにrootでログインした後下記によりユーザー一覧を表示します。(oは伏字)
mysql> select user,host from mysql.user;
+----------------+--------------------+
| user           | host               |
+----------------+--------------------+
| root           | 127.0.0.1          |
| root           | ::1                |
|                | ooo.webkoza.com |
| root           | ooo.webkoza.com |
|                | localhost          |
| root           | localhost          |
| ooooouser | localhost      |
+----------------+--------------------+
8 rows in set (0.01 sec)
上記にはネット越し接続許可しているユーザーがいないので下記grantコマンドで追加
mysql> grant all privileges on *.* to ooooouser@"192.o.o.%" dentified by 'oooooooo' with grant option;
Query OK, 0 rows affected (0.17 sec)

192.o.o.%(%はワイルドカード)からooooouserに全てのDBとすべてのテーブル(*.*)にアクセスすることを許可しています。その際の接続パスワードはoooooooo
これで
mysql> select user,host from mysql.user;
+----------------+--------------------+
| user           | host               |
+----------------+--------------------+
| root           | 127.0.0.1          |
| ooooouser | 192.o.o.%       |←ここが追加された
| root           | ::1                |
|                | ooo.webkoza.com |
| root           | ooo.webkoza.com |
|                | localhost          |
| root           | localhost          |
| ooooouser | localhost     |
+----------------+--------------------+
8 rows in set (0.01 sec)

(2)ポートのオープン
これ最初忘れておりました。telnetで3306に接続しようとしてみたら無応答なので気づきました。FedoraのGnome上でファイアウォール設定にて、3306番ポートを開放しました。

2.MySQL ODBCドライバのセットアップ

(1)ダウンロード
下記の
MySQL Connectorsに入りConnector/ODBCをクリックします。
http://dev.mysql.com/downloads/
次にODBCドライバをインストールする環境(私の場合Windows)を選び、インストーラーを選んでクリックしでダウンロードします。
最初64bit版をダウンロードしたのですが、なぜか最後にCSEで接続するときに「アプリとODBCドライバの仕様が違う」とかいう趣旨のメッセージが出て接続できなかったので32bit版を落としなおしました。昔業務でMySQLを使った開発をしたときは64bit版なんで考えもしなかったのですが。。
(2)ODBCデータソースのセットアップ
コントロールパネル-システムとセキュリティ-管理ツールと進み、ODBCデータソース(32ビット)をダブルクリックします。
次に、ユーザーDSNで追加をクリックしドライバーを選択します。私の場合
MySQL ODBC 5.3 Unicode Driver
をクリックし完了を押します。
下記画面にてDataSourceName、サーバーアドレス、先ほどサーバー側で登録したユーザー名、パスワード、データベース名を入力します。ポート番号を変更していなければこのまま3306でOKです。
全て入力したらTestボタンを押して、「Success」と表示されたら接続完了です。

dns.jpg

最後に、クライアント側PCがWindowsなので、Detailsを押して、Caracter Setで「sjis」を選択します。

3.CSE

(1)ダウンロード~起動
下記からダウンロードして解凍します。

http://www.hi-ho.ne.jp/tsumiki/
私の場合最初Ver1.59をインストールしたのですが、起動時にエラーで強制終了となってしまいました。Ver1.61にしたらうまく起動するようになりました。
起動したら「データベース-接続」と進み「ODBC汎用」を選択し、登録したデータソースを選んでOKを押して、接続できれば成功です。
前述したように、最初64ビット版のドライバーを使ったのですがエラーとなってうまく行きませんでした。