MySQL数据库备份和还原

2014-11-24 18:34:22 · 作者: · 浏览: 0

打开cmd命令行,一定不是mysql的命令行,我第一次就错在这个地方,郁闷了很久


备份MySQL数据库的命令


mysqldump -hhostname -uusername-ppassword databasename > backupfile.sql


例如:


1.cd D:\ProgramFiles\MySQL\MySQL Server 5.5\bin


2.mysqldump –uroot –p123456 –h 127.0.0.1 test > D:/test.sql


3.说明:-p和123456密码之间一定不能有空格,做了测试,它好像需要你再次输入密码,输完密码后有说找不到XX表;为了避免出现错误,别闲着蛋疼没事加空格之类的,直接都不要空格,来得干脆


备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。


mysqldump-–add-drop-table -uusername -ppassword databasename > backupfile.sql


直接将MySQL数据库压缩备份


mysqldump -hhostname-uusername -ppassword databasename | gzip > backupfile.sql.gz[估计需要在linux,猜的,没试过]


备份MySQL数据库某个(些)表


mysqldump -hhostname-uusername -ppassword databasename specific_table1 specific_table2 >backupfile.sql


同时备份多个MySQL数据库


mysqldump -hhostname-uusername -ppassword –databases databasename1 databasename2 databasename3 >multibackupfile.sql


仅仅备份数据库结构


mysqldump –no-data–databases databasename1 databasename2 databasename3 > structurebackupfile.sql


备份服务器上所有数据库


mysqldump–all-databases > all_backupfile.sql


还原MySQL数据库的命令


mysql -hhostname-uusername -ppassword databasename < backupfile.sql


例如:


第一种方式:


1. 打开window cmd


2. 切换到mysql安装目录的bin下


3. mysql –uroot –p123456 –h 127.0.0.1 test

4. 说明:如果没有写-h 127.0.0.1,则默认本机;在备份时这个数据库必须存在,否则可能会出现导不进去的情况


第二种方式:


1. 打开mysql cmd


2. source d:/test.sql


还原压缩的MySQL数据库


gunzip

将数据库转移到新服务器


mysqldump -uusername-ppassword databasename | mysql –host=*.*.*.* -C databasename


这个文章网上太多了,google一下几十个,没有贴原地址。亲自做了实验,也算是自己的东西了吧,留个备份,以便下次忘了。