Windowsmysql
コンピューターでデータベースをいっぱいにして実行していますが、データベースを別のコンピューター ( Ubuntuを実行している) に転送するツールはありますか?
script
それ以外の場合は、すべてのデータベースを取得して他のコンピューターにSQL
挿入するa を記述します。時間を節約しようとしているだけです:)
皆さん、ありがとうございました。
あなたが話しているツールはすでに存在します: mysqldump
sql にダンプされ、別のマシンにコピーして再ロードできます。
例えば:
ソース:
mysqldump -u username -p databasename > dumpfile.sql
次に、ftp/rsync/whatever を使用してファイルを宛先マシンに移動し、そこで空のデータベースを作成してインポートして実行します。
mysql -u username -p databasename < dumpfile.sql
また、転送された可能性のあるユーザーはデータベース内に保持されないため、権限を設定する必要があります。
または、mysql データ ディレクトリからファイルをコピーすることもできますが、mysqldump が最も簡単で信頼性の高い方法です。
元のシステムではテーブル名が大文字と小文字を区別していなかった場合、あるシステムでは大文字と小文字が区別される可能性があることに注意してください。これは、両端の構成、特にファイルシステムの大文字と小文字の区別 (またはその他) に依存します。
データベースを 1 つずつエクスポートするのではなく、1 つのコマンドですべてをエクスポートできます。次に、それらをインポートします。例えば。
mysqldump -u username -p --all-databases > c:\alldbs.sql
PS- 最大の利点は、ユーザー権限を失わないことです。
ディスク上のファイルは、MySQLのすべてのエディション間で100%互換性があります。ファイル名の大文字と小文字はUnixで重要であるため、注意する必要がありますが、Windowsではたまにしか重要ではありません。
また、コピーを作成する前に、MySQLを停止することを忘れないでください。MyISAMファイルは実行中にコピーを作成できますが、InnoDBファイルは実際には安全ではなく、WindowsのMySQLはデフォルトでInnoDBファイルになっています。
特にWindowsでmysqldumpを使用する場合は、文字セットに注意してください。私は、データベースが使用する文字セットを明示的に設定し、何かが壊れないように、>演算子を使用する代わりに--result-file=fileを使用することを好みます。
mysqldumpはそれを正しくダンプし、データベース内のすべての文字セットを保持する必要があります。問題が発生したくない場合は、同じバージョンのmysqlに移行することをお勧めします。
mysqldumpによって生成されたファイルは、外観にもかかわらず、テキストファイルではありません。notepad.exeなどで編集しないでください。そうしないと、問題が発生します。
サードパーティのGUIツール、特にphpmyadminによって生成されたダンプは、一般的に不正確であり、必ずしも正しく復元されるとは限りません。
このワンライナーのバリエーションを使用して、ネットワーク経由でデータベースをコピーすることがよくあります。
mysqldump --opt --compress --user=username database | mysql --user=username2 --password=p2 --host=hostB -D database -C database
私が最初にここで読んだもの:
http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/
Mysql Administrator ( Windows ではhttp://dev.mysql.com/downloads/gui-tools/、Ubuntuでは aptitude install mysql-admin) や phpmyadmin ( http://www. Windows ではphpmyadmin.net/home_page/index.php、Ubuntuでは aptitude install phpmyadmin) を実行し、別のコンピューターで復元します。