Mysqlーデータ移行方法完成!またNavicatの威力を感じました。!!!!

Mysqlアップグレードの際のデータ移行問題はほぼ解決しました。

XSERVERをクラウドとするには、Mysql 4.0.18からMysql 5.7へのデータ移行が必要になったのです。mysqlの構造と設定が変化していくわけですが、Navicatのデータ移行機能を使えば、文字化けせずにデータ移行は可能でした。

しかし問題は、timestamp問題があり、mysql5.7では、空欄を絶対許さなくなり、defaultにCURRENT_TIMESTAMPと入力し、extraにupdate on CURRENT_TIMESTAMPと入力しないと許されなくなりました。

各テーブルでその入力をしても悲しい事態が起こるのです。

実はnavicatのデータ移行は、構造もデータも根こそぎソースがすげかわってしまうのですので、折角各テーブルの構造にtimestampの設定を入力してもまた元の木阿弥になってしまうのです。あーーあ骨折り損のくたびれ儲けとなりました。

そこで研究を致しました。

1)mysqldumpを研究しましたが、これはだめですね。変なデータがあれば中断して使い物になりません。いろいろなオプシヨンもありますが、これはその道のプロがおたくしかつかえませんね。

2)やはりnavicatでした。

その方法とは、navicatのデータ移行機能とデータ同期機能をうまく使うのです。

A) データ移行開始:ソース(mysql4.0.18)からターゲット(myql5.1)にデータ移行する。

B) データベースの構造改革:各データベースを内部検索し、TSで検索すると各テーブルのTSのプロパティを改革する。すはわち 空欄許さないとupdate on CURRENT_TIMESTAMPの二つにチェックし、defaultにCURRENT_TIMESTAMPと入力をする。

mysql5.5には、テーブル構造を完璧にした状態にしておく。

C) データ同期開始:ソース(mysql5.5)とターゲット(mysql5.1)と比較して、同期させるためのクエリがすべてのテーブルについて作成されているので、それを選択するチェックをしクエリ実行する。

これにより見事 mysql5.1はデータも構造も完璧になっている。

D)あとは普通にデータ以降をソース(mysql5.1)ターゲット(mysql5.7)に行えば楽々いくのである。

ところが、この完璧と思われた mysql5.7にodbcリンクしたaccess myprodoc電子カルテは、まださくさく動きません。

入力しても 前みたいにはさくさく登録されずに、削除されましたとか deleteとなり、更新ボタンを何度もおすと登録されます。

access Myprodoc自体の mysqlへのデータ保存させるクエリがうまくはたらいていないようである。ノーバ社に教えてもらう必要がでてきましたね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です