mysql:15968
From: ram <ram <ram@xxxxxxxxxx>>
Date: Thu, 06 Jun 2013 19:47:33 +0900
Subject: [mysql 15968] Re: テーブルのレストアが出来なくて困っています
志澤さん 早々のコメント有難うございます。 私の理解が足りないのかもしれませんが、 過去の状態のデータはmysqldumpで出力されたテキストファイルしかないので、 これを、別名のテーブルで作成し、現行のテーブルとマッチングしながら元に 戻そうと考えています。 mysqldumpの結果のSQLのインポート、もしくは、 現在のデータのエクスポート〜インポート(LOAD DATA)では戻らないと思うので すが、 そういう意味ではないのでしょうか? 幸い2バイト文字を含まない列ばかりのテーブルでしたので、 教えて頂いた--forceオプションでなんとか復元はできました。 有難うございます。 初穂太郎 (2013/06/06 17:48), Atsushi.Shizawa wrote: > 始めまして。 > 志澤と申します。 > > 肝心なエラー要因は今一つ理解できてませんが、 > 現状、バックアップはファイルのみでしょうか。 > お急ぎとの事ですので、DBサーバーが起動しているのであれば、 > INTO OUTFILEでエクスポートして、それをLOAD DATAの方が手っ取り早いと見込 > まれます。 > →件数にもよりますが、「--force]オプションが無い様子なので。 > > 又、 > mysqldumpのデフォルトはUTF8ですが、運用環境はCP932との事。 > であれば、mysqldump & インポートバッチのオプションには、 > default_character_set=binary > を追加しておく事をお勧め致します。 > 文字化けの要因ともなりますので。 > > 以上、中途半端なお答えにて恐縮です。 > > (2013/06/06 17:08), ram wrote: >> MYSQLのデータベース初心者兼管理者です。 >> 誤ってデータを消してしまい、バックアップでデータを戻そうとしているのですが、 >> mysqldumpで吐き出したSQLを実行するとエラーが出てきて困っております。 >> 基幹システムではないのですが、ちょっと復旧を焦っております。 >> >> ◆実行環境 >> MYSQL5.1.41 Windows2003/R3 >> >> Server charcterset = cp932 >> Client charcterset = cp932 >> >> ◆現象 >> mysqldump --opt --add-drop-table --add-locks --user=root --password=*** dbname > W:\backupsql.txt >> をバッチで実行して出力されるのが以下のファイルです。 >> >> -- MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32) >> -- >> -- Host: localhost Database: dbname >> -- ------------------------------------------------------ >> -- Server version 5.1.41-community >> >> /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; >> /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; >> /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; >> /*!40101 SET NAMES utf8 */; >> /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; >> /*!40103 SET TIME_ZONE='+00:00' */; >> /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; >> /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; >> /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; >> /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; >> -- >> -- Table structure for table `ckbtbl` >> -- >> >> DROP TABLE IF EXISTS `ckbtbl`; >> /*!40101 SET @saved_cs_client = @@character_set_client */; >> /*!40101 SET character_set_client = utf8 */; >> CREATE TABLE `ckbtbl` ( >> `CKBKBID` varchar(10) NOT NULL DEFAULT '', >> 中略 >> `CKBGNCN` decimal(7,2) DEFAULT NULL, >> `UPDATE_IDENT` decimal(7,0) DEFAULT NULL, >> PRIMARY KEY (`CKBKBID`,`CKBKBCN`) >> ) ENGINE=InnoDB DEFAULT CHARSET=cp932; >> /*!40101 SET character_set_client = @saved_cs_client */; >> >> これを >> mysql --default-character-set=cp932 dbname -u user -p*** < W:\backupsql.txt >> と実行します。 >> (/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; >> などのコメント部分は全て削っています。) >> >> ところが、 >> ERROR 1231 (42000) at line 36: >> Variable 'character_set_client' can't be set to the value of 'NULL' >> というエラーが出てきます。line 36というのは下記の行です。 >> /*!40101 SET character_set_client = @saved_cs_client */; >> >> SET character_set_client = @saved_cs_client >> という行をコメントアウトしますが、結果は同じです。 >> >> 何が間違っているのでしょうか? >> アドバイス頂ければ有難いです。 >> >> 初穂太郎 >> >> >> >> > >
15966 2013-06-06 17:08 [ram <ram@xxxxxxxxxx>] テーブルのレストアが出来なくて困っています 15967 2013-06-06 17:48 ┗["Atsushi.Shizawa" <a] -> 15968 2013-06-06 19:47 ┗[ram <ram@xxxxxxxxxx>] 15969 2013-06-11 18:21 ┗["Atsushi.Shizawa" <a] 15970 2013-06-14 11:51 ┗[ram <ram@xxxxxxxxxx>] 15974 2013-06-14 15:11 ┗["Atsushi.Shizawa" <a]