[前][次][番号順一覧][スレッド一覧]

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]