メモリサイズをさらに増やすことができないと仮定すると、いくつかのオプションがあります。
コマンドラインに精通しておらず、本当にGUIスタイルのインポートに固執したい場合は、BigDump(http://www.ozerov.de/bigdump/)を使用できます。一度使ったことがありますが、しばらく経ちました。私が覚えていることから、bigdump.phpという名前のファイル(いくつかの指示付き)をダウンロードし、PHPMYADMIN経由でインポートするには大きすぎるMySQL DBダンプファイルがあるディレクトリのWebサーバーに配置します。次に、ブラウザを使用して、http://your-website.com/bigdump.phpのような場所に移動します。
コマンドラインに精通しており、Linuxベースのシステムを使用している場合は、次のようなコードを使用できます。
mysql -u USERNAME -p DATABASENAME <FILENAME.sql
ただし、このコマンドを実行する前に、データベースとユーザー(データベースに対する特権を持つ)が存在する必要があります。注上記のコマンドを別のソースからコピーしました。私はいつも次のようにダンプと復元を行います:DUMP:mysqldump -u DB_USER -h DB_HOST -pDB_PASSWORD DB_NAME | gzip -9 > DB_NAME.sql.gz
RESTORE:gunzip < PATH_TO_DUMP/DB_NAME.sql.gz | mysql -u DB_USER -pDB_PASSWORD DB_NAME
- 最後に、最も痛いのは、個々のテーブルまたはテーブルのグループを十分に小さなダンプにダンプすることです。次に、PHPMYADMINを使用して、これらの個々のダンプを1つずつ復元します。
FTPおよび復元手順:
ここからFileZillaをダウンロードしてください:http : //filezilla-project.org/download.php?type=client
通常、SSH(コマンドラインログイン)と同じログインとパスワードを使用して、サーバー(特に共有ホスト)にFTPで接続できます。FileZillaでサーバーへの接続を適切に設定してください。
接続すると、デフォルトのパスはおそらく$ HOMEフォルダー(nixマシン上)になります。多くのFTPを実行する予定がない場合は、そこに必要なものをダンプするだけです。コマンドラインからいつでも移動できます。
MySQLダンプを$ HOMEフォルダーにFTP転送した場合、mydbという名前のDBおよびmydb.sql.gzという名前のdbダンプファイル($ HOMEフォルダー内)のRESTOREコマンドは次のようになります。
gunzip < $HOME/mydb.sql.gz | mysql -u DB_USER -pDB_PASSWORD mydb
DB_USERとDB_PASSWORDの値を、DB用にセットアップしたユーザーとパスワードに変更する必要があることは明らかです。
覚えておいてください:
- RESTOREコマンドを実行する前に、DBがすでに存在している必要があります(ただし空である必要があります)
- DBのDB_USERおよびDB_PASSWORDは、RESTOREコマンドの前にDBに対してセットアップする必要があります(PHPMYADMIN-Privilegesタブからこれを行うことができます)
- PHPMYADMINからDB_USERを設定すると、デフォルトでDB_USERがローカルホスト(DBがホストされているサーバー)からDBにアクセスすることのみが許可されます。私は、これがあなたの状況の助成に適していると思っています。より高度なDUMPおよびRESTOREを使用する場合は、完全に別のマシンから実行することをお勧めします。これは難しくはありませんが、適切な特権を持つDB_USERとさらにいくつかの情報が必要です。
DBをFTPして復元する...ステップバイステップ
- デスクトップで圧縮されたMySQLダンプファイルを見つけます(例:C:\ Web \ DB \ Dumps \ mydb.sql.zip)
- FileZillaをダウンロードしてインストールする
- FileZillaで[ファイル]-> [サイトマネージャー]に移動し、[新しいサイト]ボタン(GUIの左下の四分円)をクリックします。ホストをDESTINATIONサーバーにあるドメイン(例:dest.com)に設定します。プロトコルをFTPまたはSFTPに設定します(これはホスティングに依存しますので、お尋ねください)。ユーザーとパスワードを設定します(例:ユーザー=許可、パスワード=許可のパスワード)-FTPプロトコルがSFTPの場合、有効なSSHログイン資格情報のセットが機能するはずです。
- (FileZillaで)[接続]をクリックします(左下のボタン)
- (FileZillaの場合)リモートサーバー(DESTINATIONサーバー)に接続したら、FileZillaの左側を使用して、手順1で見つけたダンプファイルがあるディレクトリに移動します。(ローカルマシンのパスは左端の約半分にあり、ローカルサイト:というラベルが付いています。この例では、ローカルサイト:の横のテキストボックスはC:\ Web \ DB \ Dumpsになります。)
- (FileZillaの場合)リモートサイトを見つけます:Local Site:の右側にあるラベル。
- (FileZillaの場合)FileDillaが開くフォルダーにDB DUMPを配置できない技術的な理由はありません。おそらくデフォルトで$ HOMEディレクトリになります。DBダンプを特定のディレクトリに配置する理由がない場合(組織の目的など)、リモートサイトのパスはそのままにしておきます。そのパスを書き留めます(Linuxの例:/ usr / grant)。
- (FileZillaの場合)ローカルサイトの下のツリーの下にあるFileZillaの左半分で、ローカルマシン上のファイルを見つけます。ステップ5で見つけたラベル。そのファイルをダブルクリックすると、FileZillaがリモートサイトにFTPします。
- DESTINATIONサーバーのPHPMYADMIN内で、新しいデータベースを作成します([新しいデータベースの作成]テキストボックスに「mydb」と入力し、[作成]ボタンをクリックします)。
- (PHPMYADMINの場合)左側のメニューからmydbを選択します。
- (PHPMYADMINの場合)[特権]タブ(右上)をクリックします。そのページで[新しいユーザーの追加]をクリックします。
- (PHPMYADMIN-> Privileges-> Add New Userで)ユーザー名(例:mydb_grant)とパスワード(例:mydb_password)を入力します。[ホスト]ドロップダウンで[ローカル]を選択します。[データベースのすべての権限を付与する]の横のラジオボタンが選択されていることを確認します。次に、[Go](画面の右下)をクリックします。
- DESTINATIONサーバーにSSHで接続します。
- (SSHターミナルで)手順7で書き留めたディレクトリに移動します。-
cd $HOME
やなどのコマンドを使用しcd /usr/grant
ます。(Linuxマシンでは、$ HOMEは/ usr / grantのような環境変数です。)
- (SSHターミナルで)次のコマンドを実行します
gunzip < /usr/grant/mydb.sql.gz | mysql -u mydb_grant -pmydb_password mydb
(-pとパスワードの間にスペースはありません。これが必要な方法であり、タイプミスではないためです)。
最後のコマンドが完了すると、データベースが復元されます。私が提供したDBユーザーとパスワードを使用することはお勧めしません。単に、より安全な独自の選択肢に置き換えてください。
FTPを使用しない異なるサーバーでのダンプと復元
FTPの内容をスキップして、DUMPのやり直しを気にしない場合は、次の方法で実行できます。
- DESTINATIONサーバーにログインします(DBが存在する場所-destination.comと呼びます)
- DESTINATIONサーバーで上記のようにDB、ユーザー、および適切な権限を作成します
- SOURCEサーバーの権限でSOURCE_DB_USERがDBにリモートでアクセスできることを確認します-dest.comまたは%(%-正しいユーザー名とパスワードを持っている場合はすべての人とどこからでも)からのアクセスを許可します
- DESTINATIONサーバーで実行:
mysqldump -u SOURCE_DB_USER -h source.com -pSOURCE_DB_PASSWORD mydb| gzip -9 > $HOME/mydb.sql.gz
source.comはSOURCEサーバー(DBが現在存在する場所)
- 次に(DESTINATIONサーバーで)実行します:
gunzip < $HOME/mydb.sql.gz | mysql -u DEST_DB_USER -pDEST_DB_PASSWORD mydb
DBをあるサーバーから別のサーバーに移動するために必要な作業はこれだけです。警告は、専用のUbuntu(標準のLAMPを使用)とDreamhostのVPSサーバー(これはCentOSを実行していると思われますが、間違っている可能性があります)でのみこれを行ったことです。