新しいblogに移行しました

新ブログ "All Yout Bugs Are Belong To Ass" に移行しました!

2008-04-11

[Perl]Tritonn(MySQL5.0.45)のmysqlhotcopyのおかしな挙動


[root@hackathon backupdir]# mysqlhotcopy hogedb ./
Invalid db.table name 'hogedb.hogedb`.`some_table' at /usr/local/bin/mysqlhotcopy line 855.


あ〜、これじゃあmysqlhotcopyできないよ〜><

mysqlhotcopyは前からbugだらけなのは知っていたけど、オイラもついに被害者に。
/(^o^)\ナンテコッタイ

とりあえずPerlで書かれているので、/usr/local/bin/mysqlhotcopyをHacking。

書き換えた箇所は、以下の通り。

336c337,343
< my @hc_tables = map { quote_names("$db.$_") } @dbh_tables;
---
>
> ### hacked by yellowturtle
> ### my @hc_tables = map { quote_names("$db.$_") } @dbh_tables;
>
> my @hc_tables = map { quote_names("$_") } @dbh_tables;
> ### /hacked by yellowturtle
>

837a861,863
> ### hacked by yellowturtle
>
> $name =~ s/\`\.\`/./g;



で、改めて実行。

[root@hackathon backupdir]# mysqlhotcopy hogedb ./

    (中略)

Copying 192 files...
Copying indices for 0 files...
Unlocked tables.
mysqlhotcopy copied 57 tables (192 files) in 16 seconds (16 seconds overall).


バッチリhotcopy完了!

たぶんTritonnじゃなく、MySQL側の問題なんだろうね。

0 件のコメント: