web-dev-qa-db-ja.com

MySQLをWindowsからLinuxに移行する

MySQLは初めてです。ただし、私はOracleとMSSQLに精通しています。これは私がこれまでに行ったことです:

  1. MySQL 5.7をRHEL 7.2にインストール
  2. 「mydb」というテストデータベースと「employee」というテストテーブルを作成しました。
  3. これらのファイルの場所は/ usr/var/lib/mydb /usr/var/lib/mydb/employee.frm /usr/var/lib/mydb/employee.idbです。
  4. クライアントマシンからMySQLに接続でき、「mydb」を表示できます。

私のサーバーと接続は問題ありません。次に、MySQL 5.0データベースの一部を古いWindowsボックスからこの新しいRHEL Linuxボックスに移動したいと思います。

古いMySQL 5.0データベースファイルのサンプル:

  1. region.myd region.myi region.frm

MySQLデータベースのアーキテクチャについてはあまり知識がありません。 MySQL 5.0には.frm、.myd、myiの拡張子が付いているのに、MySQL 5.7には.frmと.ibdがあることに気づきました

私の質問は、これらの2つの「リージョン」ファイルを新しいRHELボックスにすばやく移行して、.frmおよび.ibdファイル形式に準拠させるにはどうすればよいですか?

ありがとうございました

3
sydney

OKブレース自分。テーブルをコピーして変換することにより、Windowsから移行できます。

ステップ01

これらの3つのファイルをデータフォルダーにコピーします/usr/var/lib/mydb Linuxの場合

あなたが持っているべきです

  • /usr/var/lib/mydb/region.frm
  • /usr/var/lib/mydb/region.myd
  • /usr/var/lib/mydb/region.myi

ステップ02

2つのファイルのファイル名の拡張子を変更する

cd /usr/var/lib/mydb
mv region.myd region.MYD
mv region.myi region.MYI

LinuxのMyISAMテーブルに必要

ステップ03

3つのファイルの所有者を変更する

cd /usr/var/lib/mydb
chown mysql:mysql region.frm
chown mysql:mysql region.MYD
chown mysql:mysql region.MYI

ステップ04

テーブルをInnoDBに変換する

mysql> use mydb
mysql> ALTER TABLE region ENGINE=InnoDB;

それでおしまい。

試してみる !!!

4
RolandoMySQLDBA

5.0から5.7に移行しているので、mysqldumpを使用してダンプして復元するのが最も安全な方法です。このリンクは役に立ちます http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0- to-5-7-with-mysqldump /

3
jerichorivera