• ベストアンサー
  • すぐに回答を!

MySQLデータベースリカバリ文字コード指定

Windows環境でのMySQLのデータベースバックアップで、以下のように文字コードを指定してバックアップが行われています。 mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 > ****.sql バックアップからリストアするのですが、同じサーバ上で既存の同じデータベース(名)があるので 一度DROP DATABASE データベース名;してからCREATE DATABASE データベース名;を行うつもりです。 以下の2点について教えてください。 (1)create databaseする際に文字コードを指定する必要がありますでしょうか? create database データベース名 CHARACTER SET sjis; (2)リストア実行時に文字コードを指定する必要がありますでしょうか? mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 < ****.sql 因みに ※my.iniには文字コードの指定で、sjis指定の表記がありました。 ※Moveble TypeでMySQLをデータベースとして使用しています。  よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数1
  • 閲覧数264
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

windows環境のsjisはwindowsの機種固有文字を含まないので今後は「cp932」を使用することをおすすめします。 ・my.iniの文字コードの指定をcp932にする。 ・mysqldump -uユーザ名 -pパスワード --default-character-set=cp932 データベース名 > ****.sql ・create databaseする際にCHARACTER SET cp932を指定 ・ダンプファイルの「CREATE TABLE文の「CHARACTER SET」を確認。SJISだったらcp932に変更。(エディタなどの一括変換が便利) ・リストアはmysqlコマンドです。コマンド実行時に文字コードを指定しても、ダンプファイルの中のCREATE TABLE文の文字コード指定、データ部分の文字コードは影響を受けないのであまり意味はないような気はします。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • mysqlデータベースリストア

    MySQL初心者です。 基本的な質問ですが、教えてください。 MYSQLデータベースのバックアップは、コマンドラインからmysqldumpでバックアップを行うと思います。 CMD>mysqldump -u(ユーザーグループ) -p(パスワード) (データベース名) > (バックアップファイル名).sql バックアップSQLを使って再度リストアで入れなおす場合は、 drop database (データベース名);と create database (データベース名); を実行してから行う必要があるのでしょうか? (バックアップファイル名).sqlの中身を見てみると、 CREATE TABLE '(テーブル名)' (・・・・ ・・・)の前に DROP TABLE IF EXISTS '(テーブル名)'; のようにテーブルのdropをしてからの処理はあるのですが。

    • ベストアンサー
    • MySQL
  • MySQL4.1 文字コードについて

    MySQL4.1を導入したのですが一部文字が入力できないときがあります。 MySQL4.0の時は不具合はおきませんでした。 MySQLのキャラクタセットはすべてsjisに設定しました。 character_set_client sjis character_set_connection sjis character_set_database sjis character_set_results sjis character_set_server sjis character_set_system utf8 MySQL・phpでサイトを構築しているのですが 入力フォームで文章が「ソ」「表」で終わると、登録に失敗します。 shift-jisの特殊文字ですので「ソ\」「表\」のようになり、SQL文のシングルコーテーションが文字列(\')と認識されると思うので下記置き換えで大丈夫かと思いましたが、また失敗しました。 $text = str_replace("\\","\\\\",$text); $text = str_replace("'","\'",$text); MySQL4.1はホントに難しいです… お分かりになる方いましたらよろしくお願いします。

    • ベストアンサー
    • MySQL
  • MYSQLの文字化けについて

    MYSQLの文字化けについて質問させてください。 MYSQL COMMAND LINE CLIENTでMYSQLに作ったデータベースに下記のSQL文でデータを入れると、下記のエラーが出ます。 sql 「insert into テーブル名 (id、type)values (1,'男性’);」 エラー文 incorrect string value: '入力文字が文字化けして表示’for column 'type’at row 1 文字化け対策として、調べたところ、下記のように「my.ini」に記述すると言うことでしたので、試してみました。 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set =utf8 ちなみにその他情報です。 MySQLのバージョン MySQL 5.1 MySQLで有効になっている文字コード character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_filesystem | binary character_set_results | utf8 character_set_server | utf8 character_set_system | utf8 何かお解かりになることがありましたら、宜しくお願いします。

  • mysqldumpについて

    MySQL初心者です。 すみません。教えてください。 mysqldump -u(ユーザー) -p(パスワード) --default-character-set=sjis (データベース名) > (ファイル名).sqlでバックアップを実行すると自動的に1つのsqlファイルに全テーブル分、以下のように生成されているのですが、リストアする時は既存のデータベースを削除(drop database データベース名;) する必要がない。又、権限付与(grant)もする必要が無いということになりますでしょうか? 逆にdatやdumpファイルとしてバックアップしているものについては、データベースの削除&権限付与等行う必要があるということになりますでしょうか? DROP IF EXISTS 'テーブル名' ; CREATE TABLE 'テーブル名' ( ) INSERT INTO 'テーブル名' VALUES ( )

    • ベストアンサー
    • MySQL
  • MySQL5.0の文字コードが変更できずに困っています。

    MySQL5.0の文字コードが変更できずに困っています。 環境は全てWindowsXPのローカルで動かしています。 インストール直後、statusコマンドで確認したところ、 Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 となっていました。 次に、C:\Program Files\MySQL\MySQL Server 5.0内のmy.iniを [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [mysqld] default-character-set=sjis としてMySQLを再起動してみたのですが、 Server characterset: latin1 Db characterset: latin1 Client characterset: sjis Conn. characterset: sjis で、ServerとDbが変わらず、このままではINSERT文などで日本語をいれることが出来ません。 どなたかご教示お願いします。

    • ベストアンサー
    • MySQL
  • mysql文字化けについて

    mysqlで文字化けしてしまいます +--------------------------+----------------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_results | sjis | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | D:\App\Dev\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ となっているのですが 文字化けがなおりません どうすれば治るのでしょうか?

  • mysqlの文字化けについてです

    学校でjavaの勉強をしている者です。 初心者です。 学校の宿題をやるために、自宅でmysqlをインストールしたのですが、 javaで実行すると文字化けしてしまいます。 学校では、my.iniの中の [mysql] default-character-set=latin1 を [mysql] default-character-set=sjis と変更し、 [mysqld] default-character-set=latin1 を [mysqld] default-character-set=sjis skip-character-set-client-handshake と変更し、 SQLを再起動すれば解決すると習ったのですが、 文字化けが起こってしまいます。 show variables like '%char%'で文字コードを確認してみたところ、 | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | このように、sjisになっていませんでした。 どうしてなんでしょうか? どなたか解答のほどよろしくお願いします。

  • mysqlコマンドでcharsetを指定したい

    my.cnfは下記の設定で、 LinuxのSSHでmysqlコマンドを使う時だけ、ujis(EUC) で表示したいのですがどうすれば良いでしょうか? ■/etc/my.cnf [client] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis mysqlコマンドではオプションが指定できないようで・・

  • MySQ漢字文字化け

    こちらのHPでも調べましたが、総て行ったつもりですが、コマンドプロンプトでSQLを発行していますが、文字化けが起こります。 OS WindowsXP MySQL 5.1.30 現状での文字コードは character_set_client sjis character_set_connection sjis character_set_database sjis character_set_filesystem binary character_set_results sjis character_set_server latin1 character_set_system utf8 character_sets_dir C:...... です。 テーブルは、 mysql> create table test (no int,data1 text character set sjis,data2 text character set sjis); として作成しています。 my.iniも色々設定変更しましたが、駄目です。どなたか、御教授の程宜しくお願い申し上げます。

  • 日本語の文字化け

    perlのCGI,DBIを使ってMysqlにinsertしてますが、日本語が文字化けします。 文字化けした文字列は???となってます。 ちょと、見当がつかないので困ってます。 Mysqlは5.037を使ってます。 設定ファイルの追記は行ってます。 [mysqld] default-character-set=sjis [mysqldump] default-character-set=sjis [mysql] default-character-set=sjis ●SHOW GLOBAL VARIABLES LIKE 'character\_set\_% ↓実行結果 character_set_client sjis character_set_connection sjis character_set_database sjis character_set_filesystem binary character_set_results sjis character_set_server sjis character_set_system utf8

    • ベストアンサー
    • MySQL