Export Database to sql file
* following commands are run in "cmd" window
example 1: use user "root" pwd "123456" to backup localhost database "chtl_db" to backup.sql file
mysqldump -uroot -p123456 chtl_db > F:/backup.sql
奇怪,我如果存到c盘,就有access is denied的error
example 2 backup server 123.123.123.123 database "chtl_db" to backup.sql file
mysqldump -uroot -p123456 -h 123.123.123.123 chtl_db > F:/backup.sql
example 3 backup database "chtl_db" only "table1" table
mysqldump -uroot -p123456 chtl_db table1 > F:/backup.sql
example 4 backup database "chtl_db" only "table1" and "table2" tables
mysqldump -uroot -p123456 chtl_db table1 table2 > F:/backup.sql
Import sql file "f:/backup.sql" to database "test_db"
* following commands are run in "cmd" window
1. >mysql -u root -p
2. >use test_db;
3. >source f:/backup.sql
注意:如果导入的table很大,那么在执行"source"命令的最后会停很长一段时间,好像死机了一样。一定得耐心等待(100万的records估计
要几分钟)。如果是真的停止了没反应,建议你在mysqldump时把这个table分拆成几part来导出,然后再将这几part逐个逐个导入。
例如你有一个table "table1",有9999999个record,你分成10 part导出,每part 100万个record
导出第一个100万个records
>mysqldump --where="true LIMIT 0,1000000" -uroot -p123456 chtl_db table1 > F:/table1_part1.sql
导出第二个100万records (注意要用2个选项:--no-create-info --skip-add-drop-table。这样就不会创建create and drop table语句 )
>mysqldump --where="true LIMIT 1000000,1000000" --no-create-info --skip-add-drop-table -uroot -p123456 chtl_db table1 > F:
/table1_part2.sql
....
导出最后部分的record (注意,不能用limit 9000000,-1,应该计算出最后剩多少个record,该例是剩999999)
>mysqldump --where="true LIMIT 9000000,999999" --no-create-info --skip-add-drop-table -uroot -p123456 chtl_db table1 > F:
/table1_part10.sql
然后在导入时,就将这几个sql file依次逐个导入。
mysql export & import (backup and restore)
最新推荐文章于 2024-07-20 03:40:52 发布