ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:02

こんにちは。
はじめてフォーラムに参加します。宜しくお願いします。

今回、concrete5によるWEBサイトの作成に初挑戦しました。普段はグラフィックデザインを主の生業にしていまして、WEBデザインはただいま勉強中です。

MAMPによるローカル環境をつくり、concrete5でひと通りWEBサイトを作りました。
ローカルでデータベースをエクスポートし、ヘテムル(heteml)のホスティングサーバーに設けたデータベースへ移行を試みたところ、手順をいくらやり直してもインポート時に下記のエラーが起きてしまいます。原因と対処方法が分からず、フォーラムで皆さんに聞いてみようと思ったしだいです。

なお、出力したSQLファイルをインポートする際に、ヘテムル側で表示されるエラーの内容は下記の通りです。


SQL query:

タグ:

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:04
SQL query:

<!DOCTYPE HTML><html lang='ja' dir='ltr'><head><meta charset="utf-8" /><meta name="referrer" content="no-referrer" /><meta name="robots" content="noindex,nofollow" /><meta http-equiv="X-UA-Compatible" content="IE=Edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" href="favicon.ico" type="image/x-icon" /><link rel="shortcut icon" href="favicon.ico" type="image/x-icon" /><link rel="stylesheet" type="text/css" href="./themes/original/jquery/jquery-ui.css" /><link rel="stylesheet" type="text/css" href="js/vendor/codemirror/lib/codemirror.css?v=4.9.7" /><link rel="stylesheet" type="text/css" href="js/vendor/codemirror/addon/hint/show-hint.css?v=4.9.7" /><link rel="stylesheet" type="text/css" href="js/vendor/codemirror/addon/lint/lint.css?v=4.9.7" /><link rel="stylesheet" type="text/css" href="phpmyadmin.css.php?nocache=6445344463ltr&server=1" /><link rel="stylesheet" type="text/css" href="./themes/original/css/printview.css?v=4.9.7" media="pri[...]


MySQL のメッセージ:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<!DOCTYPE HTML><html lang='ja' dir='ltr'><head><meta charset="utf-8" /><meta nam' at line 1
 

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:06
ローカルでデータベースをエクスポートしたときにエラーになってます。拡張子自体は.sqlなんだと思いますが、テキストエディタで中身を見たら、エラーが確認できると思います。
 

Re: Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:15
あ、早速のご連絡ありがとうございます!
拡張子.sqlのファイルを確認してみます。
 

Re: Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:36
takuro hishikawa様

そもそも私がデータベースに関して超初心者なのですが、エクスポートした「.sql」のファイルをMac用テキストエディタ「mi」で開くと、この添付画像の状態です。これ、構文のエラーどころか、まったく違う内容じゃないかなと思うのですが…、いかがでしょうか?
 

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:52
SQLの構文エラーではなく、出力自体がエラーで正しく行われなかったと言うことです。
 

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 15:13
インポート時にヘテムルのデータベースの画面で表示されるエラーメッセージは以上です。

当方の制作環境は次の通りです。
・使用しているパソコンはMacOS 10.13
・このパソコンにMAMPでローカルの環境をつくり、concrete5(8.5.4)で作業しました。
・移行する先はヘテムルのホスティングサーバーです。
・ここまでは書籍「世界一わかりやすいconcrete5|導入とサイト制作の教科書」に沿ってすすめてきました。

以上です。
どうか宜しくお願いします。
 

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 17:11
MAMPのphpmyadminでデータベースを選択後、エクスポートタグをクリックした際、
「警告:このページのフォームは 1000個以上のフィールドが
 あります。このまま送信すると、PHPのmax_input_vars
 設定の制限により、いくつかのフィールドは無視されることが
 あります。」
というアラートが出ませんか?
もし出てたらMySQLのフィールド数が、
phpのmax_input_varsの設定値(1000)を超えているのが
エラーの原因です。

対応方法:
※バージョンやURLの違いなどは適宜読み替えてください。

1)/Applications/MAMP/bin/php/php7.4.2/conf/php.iniを開き、下記の行を書き換える
 ;max_input_vars = 1000
   ↓
 max_input_vars = 2000
 ※先頭のセミコロン(;)を外すのを忘れずに

2)MAMPを再起動し、PHPINFO(http://localhost:8888/MAMP/index.php?language=English&page=phpinfo)
を開いて先ほど編集した設定(max_input_vars)がきちんと反映されているかを確認する

3)MAMPのphpmyadminでデータベースを選択し、エクスポートを行う

以上です。
正しくエクスポートが出来ていれば
.sqlファイルの中身が
「-- phpMyAdmin SQL Dump
-- version 4.9.3
--http://www.phpmyadmin.net/
--
-- ホスト: localhost:8889」
といった内容で始まっているはずなので確認してみてください。
 

Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月19日 at 19:55
aniya様

ご連絡ありがとうございます!
ご指摘の通り「1000個以上のフィールドがある」旨の警告が出ていることは認識していましたが、その対処として、

「max_input_vars = 2000
 ※先頭のセミコロン(;)を外すのを忘れずに」

の先頭のセミコロンを外すということは知りませんでした。
この通りに(;)を消してやり直してみたら、正しくエクスポートされました!

これで解決しました。
どうもありがとうございます!
 

Re: Re: ローカル環境から本番環境へのデータベース移行でエラーになります

2021年3月20日 at 21:13
smiling