在mysql中我们的数据备份与还原都是用到了mysqldump命令来操作,下面给大家简单总结一下.
目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件,MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用,Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump,代码如下:
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现.
备份MySQL数据库的命令,代码如下:
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
备份MySQL数据库为带删除表的格式,备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库,代码如下:
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份,代码如下:
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份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 > allbackupfile.sql
还原MySQL数据库的命令,代码如下:
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库,代码如下:
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器,代码如下:
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename