在mysql中我们的数据备份与还原都是用到了mysqldump命令来操作,下面给大家简单总结一下。
目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump。
代码如下 | 复制代码 |
|
注释:
将数据库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 |
还原压缩的MySQL数据库
代码如下 | 复制代码 |
gunzip |
将数据库转移到新服务器
代码如下 | 复制代码 |
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename |