サーバー側
インストール
MySQL Community Server 5.6 をインストールする。
- http://dev.mysql.com/downloads/mysql/ から「Windows (x86, 32-bit), MSI Installer」をダウンロード (64bitも含まれる)
- mysql-installer-community-5.6.*.msi を実行
- Choosing a Setup Type
- Custom を選択
- Select Products and Features
- 左から右の「Product/Features To Be Installed」へ「MySQL Server 5.6.* - X64」を移動
- 右に移った「MySQL Server 5.6.* - X64」を選択すると、右下に「Advanced Option」が現れるのでクリックしてPathを設定
- Install Directory:
D:\MySQL\MySQL Server 5.6
- Data Directory:
D:\MySQL\MySQL Server 5.6
- Install Directory:
- Installation
- Execute
- Type and Networking
- Config Type: 今回は「Development Machine」を選択
- Account and Roles
- パスワードを設定
- Windows Service
- 「Configure MySQL Server as a Windows Service」にチェックを入れたまま
- 「Standard System Account」を選択したまま
- Apply Server Configuration
- Execute
- Finish
権限追加
外部からデータベース「test」にユーザー「user1」で接続できるようにする
- 「MySQL 5.6 Command Line Client」を起動
- インストール時に設定したパスワードを入力
- 下記通り権限設定
mysql> grant select,insert,update,delete on test.* to user1@"%" identified by '<パスワード>';
権限削除
mysql> delete from mysql.user where user = 'user1';
設定の確認
mysql> select Host, User from mysql.user;
アンインストール
- コントロールパネルから、 管理ツール > サービス > MySQL56 を停止
- コマンドプロンプトを管理者権限で起動
cd /d "D:\MySQL\MySQL Server 5.6\bin"
mysqld -remove MySQL56
- Service successfully removed. と表示される
- コントロールパネルのプログラムと機能から
- MySQL Server 5.6 をアンインストール
- MySQL Installer - Community をアンインストール
- 必要に応じて
D:\MySQL\MySQL Server 5.6
を削除
クライアント側
- Visual Studio でプロジェクトを作成
- テンプレート: C#/Windowsフォームアプリケーション
- プロジェクト名: MySQLTest
- パッケージマネージャコンソールで以下を実行
Install-Package MySql.Data
Install-Package Dapper
- Form1 にボタンを追加して、クリックするとサーバ側の現在時を取得するようにする
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using Dapper;
namespace MySQLTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DateTime resultDate;
using (var conn = new MySqlConnection("Server=<サーバー名>;Database=test;Uid=test1;Pwd=<パスワード>"))
{
conn.Open();
resultDate = conn.Query<DateTime>("SELECT NOW();").Single();
}
MessageBox.Show(resultDate.ToString());
}
}
}