本文使用的是mysqldump进行对数据库的备份与还原
备份整个数据库
格式:
mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql
mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql}
代码如下:
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test > backfile1.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
格式:
mysqldump -–add-drop-table -u{username} -p{password} {databasename} > {backfile.sql}
代码如下:
mysqldump -–add-drop-table –uzhuchao -p123456 db_test > backfile2.sql
直接将MySQL数据库压缩备份
格式:
mysqldump -h{hostname} -u{username} -p{password} {databasename} | gzip > {backfile.sql.gz}
代码如下:
mysqldump –hlocalhost –uzhuchao –p123456 db_test1 | gzip > backfile3.sql.gz
备份MySQL数据库某个(些)表
格式:
mysqldump -h主机名 -P端口 -u用户名 -p密码 (–tables | –quick) 数据库名 表名1 (表名2 …) > 文件名.sql (括号中的可缺省)。
mysqldump -h{hostname} (-P{port}) -u{user} -p{password} (–tables | –quick) {databasename} {table1} {table2} > {backfile.sql}
代码如下:
mysqldump -hlocalhost -uzhuchao -p123456 db_test tbl_test > backfile4-1.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test tbl_test > backfile4-2.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --quick db_test tbl_test > backfile4-3.sql
mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --tables db_test tbl_test1 tbl_test2 > backfile4-4.sql
同时备份多个MySQL数据库
格式:
mysqldump -h{hostname} (-P{port}) -u{username} -p{password} –databases {databasename1} {databasename2} {databasename3} > multibackfile.sql
代码如下:
mysqldump -hlocalhost -uzhuchao -p123456 –databases db_test1 db_test2 db_test3 > multibackfile.sql
仅仅备份数据库结构
格式:
mysqldump –no-data –databases {databasename1} {databasename2} > {structurebackfile.sql}
代码如下:
mysqldump –no-data –databases db_test1 db_test2 > structurebackfile.sql
备份服务器上所有数据库
格式:
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
格式:
mysql -h{hostname} -u{username} -p{password} {databasename} < {backfile.sql}
代码如下:
mysql -hlocalhost -uroot -p123456 db_test4 < back_file1.sql
还原压缩的MySQL数据库
格式:
gunzip < {backfile.sql.gz} | mysql –u{username} –p{password} {databasename}
代码如下:
gunzip < backfile.sql.gz | mysql –uzhuchao –p123456 db_test5
将数据库转移到新服务器
mysqldump –u{username} –p{password} {databasename} | mysql –host=*.*.*.* –C {databasename}