备份数据库要养成好的习惯,标准流程:锁表-》刷新表到磁盘-》拷贝文件-》解锁。
在备份数据库前,一定要先知道数据库的引擎是啥。如果不知道的话,可以直接使用mysqldump备份,它支持任何引擎备份数据的。
有3种方式来调用mysqldump:
shell> mysqldump [options] db_name [tables]
shell> mysqldump [options] ---database DB1 [DB2 DB3...]
shell> mysqldump [options] --all--database
如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库。
MyISAM 表备份:
1.sql备份
使用SELECT INTO ...OUTFILE或BACKUP TABLE。这里要注意输出的文件不能先存在,因为覆盖完整的文件会有安全风险。BACKUP TABLE备份时注意输出目录的权限,改方法只是备份MYD和frm文件,不备份索引。
MyISAM三个文件:$tablename.frm文件存储表定义。数据文件的扩展名为$tablename.MYD。索引文件的扩展名是$tablename.MYI ,当看到数据储存这三个文件就知道引擎是MyISAM类型。
2.拷贝数据文件
当mysql服务器停止时,通过复制所有表文件(.frm、.MYD和*.MYI文件)来备份MyISAM数据库。
InnoDB 表备份除了拷贝数据文件方法不能用外,用SELECT INTO ...OUTFILE或mysqldump都可以!