web-dev-qa-db-ja.com

SQLダンプをバックアップ用の新しいデータベースにインポートできません

drupalのサイトがあります。何かを失うことを恐れずにサイトを変更できるように、そのサイトのコピーを作成したいと考えています。

データベースに問題があります。 spl形式でエクスポートします。サイズは約100 MBです。新しく作成したデータベースにインポートしようとすると、進行中と表示されますが、何も起こりません。インポートは進行していません。

各テーブルを個別に転送しようとしましたが、36 MB(locale_sources)のテーブルに到達すると、進行中ですが何も起こりません。

すべてがphpmyadminを介して行われます。

誰でも何か提案できますか?

ありがとうございました。

1
tioschi

コマンドラインでmysqlを使用して、大きなdbを更新するときのタイムアウトを回避できます。

例:

mysql --password=yourpw --user=name --default-character-set=utf-8 db_name <your_dump.sql

見る mysql -?またはその他のオプションのマンページ。

2
BetaRide

バックアップと移行 モジュールは、サイト複製を実行するためのより良いオプションです。

このモジュールが提供する機能は次のとおりです。

  1. 複数のデータベースのバックアップ/復元。
  2. FTP/S3/Eメールへのバックアップ
  3. Drushの統合
  4. 複数のバックアップスケジュール
  5. [〜#〜] aes [〜#〜] バックアップの暗号化
  6. ファイルディレクトリをバックアップします( ファイルのバックアップと移行 モジュールを使用)。

注:upload_max_filesizeファイルの>100Mの値をphp.iniに変更してください(通常は行番号886)

2
AjitS

コマンドラインMySQLにアクセスしたくない、またはアクセスできない場合は、PHPMyAdminのエクスポートオプションを確認することをお勧めします。まず、圧縮オプションを使用していることを確認します。bzip/ gzipは非常に優れており、ファイルがはるかに小さくなります。次に、複数の値セットを含むINSERTステートメントを回避するようにしてください。ステートメントが長くなるほど、インポートPOVで問題が発生します。

PMAの新しいバージョンでは、これらのオプションは「カスタム」エクスポートセクション内で非表示にする必要があります。

1
user7667

個人的に、私はphpMyAdminに我慢できず、データベースのメンテナンスを行うときはApacheを視野に入れないようにしています。

私は MySQL GUIツール を好みます。彼らは寿命に達していますが、それでもうまくいきます。

これらを使用すると、MySQL Adminを使用してバックアップを取得および復元できます。それを使用してバックアップをスケジュールすることもできます。 「エラーを無視する」オプションをチェックすると、ツールは他の方法で取得したバックアップを復元します。

"Packet too large" エラーが表示されず、 max_allowed_packet を調整する必要がある場合でも、私は驚かないでしょう。これは、Drupalシステム上のバックアップでよくある問題です。

max_allowed_packetに適切な値を設定したら、MySQL Adminを使用して2Gカタログを取得および復元しました。

キャッシュテーブルのCREATEステートメントとウォッチドッグテーブルを含めるが、実際のデータは含めないようにバックアップを構成することも価値があります。

また、まだ使用していない場合は Backup and Migrate モジュールを確認してください。これにより、バックアップの取得と復元が簡単になり、キャッシュとウォッチドッグデータを除外するオプションが含まれます。

0
mpdonadio