dポイントプレゼントキャンペーン実施中!

MySQL 4.0.14で使っていたデータベース(C:\mysql\data にあった複数のDBフォルダ―― ib_arch_log_0000000000、ib_logfile0などを含む)があり、別のPCに、MySQL 4.0.26 をセットアップ&C:\mysql\dataに上記ファイルやmy.iniの内容(文末ご参照)もそっくりコピーしてWinを再起動してみたのですが、WinMySQLadmin.exeでみたり、mysql.exeから「show databases;」と叩いてみた限りでは最初にあったtestしか認識してくれません。

単純に、これらをコピーしただけでは移行できないのでしょうか?
OSは、WindowsXP(SP2)です。よろしくお願い致します。


my.ini -------------------------

[mysqld]
basedir=C:/mysql
#bind-address=192.168.*.*
datadir=C:/mysql/data
#language=C:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
default-character-set=sjis
[WinMySQLadmin]
Server=C:/mysql/bin/mysqld-nt.exe
user=root
password=********

A 回答 (2件)

> で、testしかみえない(サンプルDBである'mysql'すら見えない)



正しくはtestがサンプルデータベースです。
mysqlという名前のデータベースはサンプルではありません。
MySQLサーバーを動かすのに重要な権限や認証するユーザー等の情報を入れておくためのデータベースです。

> 4.1系だと、root権限とかよくわからないことが多いから

4.0も4.1も変わらないと思いますが何が分からないんでしょうか?

> 4.0.26というのは「コマンド root PASSWORD」みたいにかかなければいけないのでしょうか

mysqldumpで、
「mysqldump -A -uroot -pPASSWORD -Q --opt -rFILENAME」
と書いたことでしょうか?
-uでユーザーの指定
-pでパスワードの指定をします
これはmysqldumpの共通オプションです。
元のMySQLサーバーのバージョンは関係ありません。

ちなみに、
mysqldump -A -uUSERNAME -p -Q --opt -rFILENAME
とパスワードは-pとだけ指定のみにして実行すると
Enter password:
と訊いてきます。
-pも消すと、認証できないので失敗します。
    • good
    • 0
この回答へのお礼

Etherskyさん、たびたびのレスありがとうございます。

> 正しくはtestがサンプルデータベースです。
> mysqlという名前のデータベースはサンプルではありません。
> MySQLサーバーを動かすのに重要な権限や認証するユーザー等の情報を入れておくためのデータベースです。

これらは、そういう位置づけだとは知りませんでした。
大変参考になりました。ありがとうございます。

> > 4.1系だと、root権限とかよくわからないことが多いから
>
> 4.0も4.1も変わらないと思いますが何が分からないんでしょうか?

この件は、長くなったので別に新規質問とさせていただきました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1876531

> mysqldumpで、
> 「mysqldump -A -uroot -pPASSWORD -Q --opt -rFILENAME」
> と書いたことでしょうか?
> -uでユーザーの指定
> -pでパスワードの指定をします
> これはmysqldumpの共通オプションです。
> 元のMySQLサーバーのバージョンは関係ありません。

こちらは、元環境を失ったので未確認ですが、後で是非試させていただきます。
バージョンに関係ない話だったのですね。

ともかく、いろいろと大変参考になりました。ありがとうございました。

お礼日時:2006/01/05 13:00

ファイルコピーでの移行が許されるのはMySQLのバージョンが同じ&アーキテクチャ(MySQLを動かしてるOS)も同じ時ぐらいで他はダメです。


そもそも4.0と4.1という時点でアウトですね。
(4.0.15と4.0.16とか4.1.14と4.0.16というのなら別ですが)

素直にmysqldumpでエクスポートしましょう。

全データベースエクスポート
mysqldump -A -uroot -pPASSWORD -Q --opt -rFILENAME
全データベースインポート
mysql -uroot -pPASSWORD < FILENAME

この回答への補足

Etherskyさん、ご教示ありがとうございました。

mysqldumpというインポート/エキスポート方法があるんですね。
何らかのそういう機能があるのだろうとは思っていたのですが、
これは大変参考になりました。


今回、HDDの移行作業だったのですが、お恥ずかしいことに
元のDBが入ったHDDをフォーマットしてしまった後でして、
「元環境からエキスポート」というのが利かない状況です。。。

phpmyadmin経由でのぞいてみたら、確かに複数のDBを認識は
しているみたいでした。

で、testしかみえない(サンプルDBである'mysql'すら見えない)
ことで思い出したのですが、こういう話ではないでしょうかね?
http://www.mysql.gr.jp/mysqlml/mysql/msg/10605

今まで4.0.14で、今回4.0.26(※4.1系ではありません)に
したのは深い意味があるわけでなく、
4.1系だと、root権限とかよくわからないことが多いから、
(同じ4.0系である)4.0.26にバージョンアップした次第ですが、
4.0.26というのは「コマンド root PASSWORD」みたいにかかな
ければいけないのでしょうか。

補足日時:2006/01/04 00:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!