您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL备份和恢复具体实施

2024/8/7 16:46:41发布34次查看
对于innodb存储引擎的冷备非常简单,只需要备份mysql数据库的frm文件、共享表空间文件、独立表空间文件(*.ibd)、重做日志文件。
mysql备份类别,参考笔者上篇文章mysql备份类别
冷备:
对于innodb存储引擎的冷备非常简单,只需要备份mysql数据库的frm文件、共享表空间文件、独立表空间文件(*.ibd)、重做日志文件。--建议定期备份mysql数据库的配置文件my.cnf
冷备的优点:
a)        备份简单,只要拷贝相关文件
b)        备份文件易于在不同操作系统,不同mysql版本进行恢复
c)        恢复相当简单,只需要把文件恢复到指定位置即可
d)        恢复速度快,不需要执行任何sql语句,也不需要重建索引
冷备的缺点:
a)        innodb存储引擎冷备的文件通常比逻辑文件大很多,因为表空间中存放着数据,如undo段,插入缓冲等信息
b)        冷备不总是可以轻易地跨平台。操作系统、mysql的版本、文件大小写敏感和浮点数格式都会成为问题
逻辑备份:
mysqldump备份工具
mysqldump的语法如下:
shell>mysqldump [argument] > file_name
备份全部数据库,使用--all-database选项:
shell>mysqldump --all-databases > all.sql
备份指定的数据库,--database:
shell> mysqldump–database db1 db2 db3 > dump.sql
mysqldump一些重要参数选项:
--single-transaction:在备份开始前,先执行starttransaction命令,以此来获得备份的一致性
--lock-tables(-l):在备份中,以此锁住每个架构下的所有表。一般用于myisam存储引擎,备份时只能对数据库进行读取操作,不过备份依然可以保证一致性。对于innodb不需要使用该参数,用--single-transaction即可,并且--lock-tables和--single-transaction是互斥的,不能同时使用。如果你的mysql数据库中既有myisam存储引擎表,又有innodb存储引擎表,那么这时你的选择只有--lock-tables了。--lock-tables选项是依次对每个架构中的表上锁的,,因此只能保证每个架构下表备份的一致性,不能保证所有架构下表的一致性。
--lock-all-tables(-x):在备份过程中,对所有架构中的所有表上锁
--add-drop-database:在createdatabase之前先运行drop database。这个参数需要和--all-databases或者--database选项一起使用
备份指定的表:
# mysqldump--single-transaction --socket=/var/run/mysqld/mysql5.socket test1 test1 >test1.sql
# cattest1.sql
-- mysql dump 10.13 distrib 5.1.61, for redhat-linux-gnu (i386)
--
-- host: localhost    database: test1
-- ------------------------------------------------------
-- server version      5.5.20-ndb-7.2.5-log
/*!40101 set@old_character_set_client=@@character_set_client */;
/*!40101 set@old_character_set_results=@@character_set_results */;
/*!40101 set @old_collation_connection=@@collation_connection*/;
/*!40101 set names utf8 */;
/*!40103 set @old_time_zone=@@time_zone */;
/*!40103 set time_zone='+00:00' */;
/*!40014 set @old_unique_checks=@@unique_checks,unique_checks=0 */;
/*!40014 set@old_foreign_key_checks=@@foreign_key_checks, foreign_key_checks=0 */;
/*!40101 set @old_sql_mode=@@sql_mode,sql_mode='no_auto_value_on_zero' */;
/*!40111 set @old_sql_notes=@@sql_notes,sql_notes=0 */;
--
-- table structure for table `test1`
--
drop table if exists `test1`;
/*!40101 set @saved_cs_client    = @@character_set_client */;
/*!40101 set character_set_client = utf8 */;
create table `test1` (
  `id`int(11) not null,
  `name`varchar(10) default null
) engine=innodb default charset=latin1;
/*!40101 set character_set_client = @saved_cs_client*/;
--
-- dumping data for table `test1`
--
lock tables `test1` write;
/*!40000 alter table `test1` disable keys */;
insert into `test1` values(1,'wu'),(2,'terry'),(3,'tang'),(4,'jack'),(4,'cat'),(3,null),(3,'dog');
/*!40000 alter table `test1` enable keys */;
unlock tables;
/*!40103 set time_zone=@old_time_zone */;
/*!40101 set sql_mode=@old_sql_mode */;
/*!40014 setforeign_key_checks=@old_foreign_key_checks */;
/*!40014 set unique_checks=@old_unique_checks */;
/*!40101 set character_set_client=@old_character_set_client*/;
/*!40101 setcharacter_set_results=@old_character_set_results */;
/*!40101 setcollation_connection=@old_collation_connection */;
/*!40111 set sql_notes=@old_sql_notes */;
-- dump completed on 2012-11-10  1:39:53
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product