1. 取り合えず、リモートのMySQL Administrator で接続していみる
大分前にインストールしたMySQLの管理ツール MySQL Administrator と、今回インストールした MySQL 5.1 は異なるサーバ上にあるが、MySQL Administrator を起動して MySQL 5.1 に管理者権限でアクセスしようとすると、以下のエラーが出る。
Could not connect to the specified instance.
MySQL Error 1045.
MySQL 側に移動して、grant all priviledges on *.* to untara@"%" identified by "kantara" を実行し、ここで指定したユーザ名とパスワードとにより、リモートの MySQL Admin からアクセスできるようになる。
2. Migrationツールはスキップ
MS SQL-Serverで作成した『FlexSql売管』のデータベースがあるので、本当ならこれを MySQL Migration Toolkit という奴で MySQLのデータベースに変換(マイグレーション)できるといいのだが、以前失敗してるので、今回はやめておく。
3. SQL-ServerでCreate文を生成し、MySQLでそのCreate文ファイル実行
まずは、create database flexmy うんたらとやって、データベースを作成。
次に各テーブルは『FlexSql売管』の SQL-Server のデータベースから create table 文を生成して、MySQL側で実行しようと画策。 SQL-Server Management Studio Express を起動し、取引先テーブルを指定してcreate 文を作ると、こんな感じになる。
USE [neko] //『FlexSql売管』のデータベース名
GO
/****** オブジェクト: Table [dbo].[取引先] スクリプト日付: 01/07/2009 13:35:41 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[取引先](
[〒] [varchar](8) COLLATE Japanese_CI_AS NULL,
[Fax] [varchar](50) COLLATE Japanese_CI_AS NULL,
[Tel] [varchar](50) COLLATE Japanese_CI_AS NULL,
~~~~~~~~~~ 中略 ~~~~~~~~~~
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
この文章をtorihikisaki.sqlとして保存し、プロンプトの画面で、
$ mysql flexmy < torihikisaki.sql
を実行するも、SQL-Serverの吐いたSQL文をそのまま実行できるはずも無く、紆余曲折の末、以下のように変更して上記コマンドを実行すると旨く行った。
CREATE TABLE 取引先(
〒 varchar(8) NULL,
Fax varchar(50) NULL,
Tel varchar(50) NULL,
~~~~~~~~~~ 中略 ~~~~~~~~~~
PRIMARY KEY (id) );
以上でSQL-Serverのテーブル等は比較的簡単にMySQLに移植できそうなことが解かった。ところがこの後に思わぬ悲劇が待っていた。
以上