ずっと前、少しだけ MySQL を使ったことはあったのですが、もう殆ど忘れていました。Linux にインストールするところから Visual Studio 2008 のサーバーエクスプローラーを使ってリモートからデータ接続を行うまでの記録です。
環境は、サーバーが、
CentOS 6.2 x86_64
MySQL 5.1.61
クライアントが、
Windows 7 Ultimate SP1 32bit
Visual Studio 2008 Professional Edition SP1
.Net Framework 3.5 SP1
MySQL Connector/Net 6.5.4
サーバー側
MySQLのインストール
あまり時間もなかったので、最も簡単なGNOMEデスクトップからGUIによるインストールを行いました。一応手順を記述します。
- 
メニューから[システム]-[管理]-[ソフトウェアのの追加/削除]をクリックします。
- 左側ツリーから
 Database
 ┗MySQLデータベースサーバー
 を選択すると右側に現れる
 mysql-server-5.1.61-4.el6(x86_64)にチェックし[適用]ボタンをクリックします。
- 指示に従いインストールを続けます。
 以下が自動で追加インストールされます。
 ・perl-DBD-MySQL-4.013-3.el6(x86_64)
 ・perl-DBl-1.609-4.el6(x86_64)
 ・mysql-libs-5.1.61-4.el6(x86_64)
 ・mysql-5.1.61-4.el6(x86_64)
- インストールが終わったら、言語セットをUTF8に設定します。
 キャラクタセットをUTF8に設定するために “/etc/my.cnf” を編集します。[mysqld] default-character-set=utf8 character-set-server=utf8 [client] default-character-set=utf8 - [mysqld]の中に “default-character-set=utf8″ と
 “character-set-server=utf8″ を追加します。
- [client]を追加し、その中に “default-character-set=utf8″ を追加します。
 
- [mysqld]の中に “default-character-set=utf8″ と
- OSの起動時、サービスが自動起動するようにします。(userは、root)
 ※ここからは、ターミナルからキャラクタベースでコマンド入力します。$ chkconfig mysqld on 
- 確認
$ chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off → 2,3,4,5 が on になっていることを確認します。 
- サービスの手動制御コマンド
$ /etc/rc.d/init.d/mysqld start 【引数説明】 
 start … 開始
 stop … 停止
 status … 実行状態を表示
 restart … stop, start を順に実行
 condrestart … 動作していれば停止し、再起動する
DBユーザの作成
- rootユーザで実施しました。
 db_user というDBユーザーを作成します。$mysql mysql> grant select,insert,delete,update,create,drop,file,alter,index on *.* to db_user@'%' identified by 'password'; mysql> grant select,insert,delete,update,create,drop,file,alter,index on *.* to db_user@'localhost' identified by 'password'; 
- 最初、上の行(to db_user@’%')を実施したのですが、ssh接続したターミナルからdb_userで接続できなかったため下の行(db_user@’localhost’)を実施しました。これでよかったのかどうかはわかりませんが結果オーライでここに記述します。
データベースの作成
- データベースの確認
 db_user というDBユーザーで接続します。Linux User は、root 権限のない普通のユーザーで実施しています。$ mysql -u db_user -p mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 
- データベースの作成
 user_db というデータベースを作成します。mysql> create database user_db; 
- データベースの確認
 ちゃんとできているか確認します。最後に “user_db” の一行が追加されているのでOK.mysql> show databases +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | | user_db | +--------------------+ mysql> exit 
- 言語セットの確認
 作成したデータベースの言語セットがUTF8になっていることを確認します。
 作成したデータベースにログインするため、一旦 “\q” で mysql インタプリタを抜けてから以下を実行します。$ mysql -u db_user -D user_db -p mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) 
テスト用テーブルの作成
- DBユーザ db_user で、データベース user_db に接続し、テスト用のダミーテーブル test_tbl を作成します。
$ mysql -u db_user -D user_db -p mysql> create table test_tbl ( -> id INT NOT NULL AUTO_INCREMENT, -> title VARCHAR(10) NOT NULL, -> update_date DATE, -> PRIMARY KEY (id) -> );
クライアント側
.NET で接続したいので、MySQL用データプロバイダーを入手し、Visual Studio から、作成したデータベースに接続し、テスト用のテーブルにデータを挿入してみる。
ダウンロード& データプロバイダのインストール
- http://dev.mysql.com/downloads/ の Connector/Net をクリックしジャンプしたページの Windows (x86, 32-bit), MSI Installer [Download] をダウンロードする。
- ダウンロードした msi ファイルを実行、ウィザードに従い、インストール
- Visual Studio 2008 – サーバーエクスプローラー を開き、データ接続の上で右クリック
- コンテキストメニューから [接続の追加] を選択
- 接続の追加ダイアログにて、サーバー名(またはIP)、ユーザー名/パスワード、データベース名を入力し、[テスト接続] をクリックし、接続を確認。
  
- 接続確認がOKなら、言語セットをUTF8に設定するため、[詳細設定(V)]のボタンをクリック
  
 詳細プロパティダイアログにて、Character Set の内容を “utf8″ に設定。後は[OK]クリックでVS2008 サーバーエクスプローラーに戻る。
 ※このとき、必ず “utf8″ は、小文字で入力してください。
- Server Name に指定したサーバー名(例ではcentos6)でツリーが構成される。テスト用テーブル “test_tbl” をダブルクリックすると、デザインモードで開かれ、また右クリックして「データの取得」を選択するとグリッドがオープンされ、データを挿入したり、修正したり加工ができる。
  
 
							


