13.1 数据备份

为了防止数据意外丢失,需要定期备份

13.1.1 使用MySQLdump命令备份

使用MySQLdump命令执行时,可以将数据库备份成一个文本文件,包含了很多CREATEINSERT语句

基本语法:

mysqldump -u user -h host -p password dbname[tbname, [tbname...]] > filename.sql

备注:user:用户名

​ host:登录用户的主机名

​ password:密码

​ dbname:需要备份的数据库名

​ tbname:dbname中需要备份的表名

​ > :表示告诉MySQLdump将备份数据表的定义和数据写入备份文件

​ filename.sql:是备份文件名称(可以在前面加上存储的地址)

备份多个数据库:

mysqldump -u user -p --databases [dbname, [dbname...]] > filename.sql

注意:如果在服务器上进行备份,并且表均为MyISAM表,应该考虑MySQLhotcopy,因为可以更快的进行备份和回复

13.1.2 直接复制整个数据库目录

直接复制整个mysql文件的data目录

要保持备份的一致性,备份前需要对相关表执行LOCK TALBES操作,然后对表执行FLUSH TABLES

注意:此方法不适用与InnoDB

13.1.3 使用MySQLhotcopy工具快速备份

MySQLhotcopy是一个Perl脚本,使用LOCK TABLESFLUSH TABLEScpscp来快速备份数据,备份数据库或单表是最快的途径,但是执行运行在数据库所在的机器上,只能备份MyISAM类型的表,在UNIX系统中运行

语法格式:

备注:db_name_1 到db_name_n分别表示需要备份的数据库的名称

​ /path/to/new_directory指定备份文件目录

举例:

最后更新于

这有帮助吗?