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

MySQL逻辑备份恢复_MySQL

2026/1/7 12:46:46发布18次查看
一、mysql逻辑备份
1. 使用mysqldump命令生成insert语句备份
此方法类似于oracle的expdp/exp工具
语法如下:
mysqldump [arguments] > file_name.sql
使用帮助:
[root@gc ~]# mysqldump
usage: mysqldump [options] database [tables]
or    mysqldump [options] --databases [options] db1 [db2 db3...]
or    mysqldump [options] --all-databases [options]
for more options, use mysqldump --help
备份实例:
备份所有数据库
# mysqldump -uroot -proot --all-database > /tmp/dumpback/alldb.sql
备份某些数据库
# mysqldump -uroot -proot --database sqoop hive > /tmp/dumpback/sqoop_hive.sql
备份某数据库中的表
# mysqldump -uroot -proot sqoop tb1 > /tmp/dumpback/sqoop_tb1.sql
查看备份内容:
[root@gc dumpback]# more sqoop_tb1.sql
-- mysql dump 10.13  distrib 5.5.24, for linux (x86_64)
--
-- host: localhost    database: sqoop
-- ------------------------------------------------------
-- server version      5.5.24
/*!40101 set @old_character_set_client=@@character_set_client */;
......
--
-- table structure for table `tb1`
--
drop table if exists `tb1`;
/*!40101 set @saved_cs_client    = @@character_set_client */;
/*!40101 set character_set_client = utf8 */;
create table `tb1` (
  `table_schema` varchar(64) character set utf8 not null default '',
  `table_name` varchar(64) character set utf8 not null default '',
  `table_type` varchar(64) character set utf8 not null default ''
) engine=innodb default charset=latin1;
/*!40101 set character_set_client = @saved_cs_client */;
--
-- dumping data for table `tb1`
--
lock tables `tb1` write;
/*!40000 alter table `tb1` disable keys */;
insert into `tb1` values ('information_schema','character_sets','system view')
......
/*!40000 alter table `tb1` enable keys */;
unlock tables;
/*!40103 settime_zone=@old_time_zone*/;
.....
-- dump completed on 2013-03-25 18:26:53
注意事项:
如何保证数据备份的一致性?
要想保证数据的一致性可以通过以下两种方法做到:
第一、同一时刻取出所有数据
对于事务支持的存储引擎,如innodb 或者bdb 等,可以通过控制将整个备份过程在同一个事务中,使用“--single-transaction”选项。
--------------------------------------分割线 --------------------------------------
mysql管理之使用xtrabackup进行热备http://www.linuxidc.com/linux/2014-04/99671.htm
mysql开源备份工具xtrabackup备份部署http://www.linuxidc.com/linux/2013-06/85627.htm
mysql xtrabackup备份和恢复http://www.linuxidc.com/linux/2011-12/50275.htm
用xtrabackup实现mysql的主从复制快速部署【主不锁表】http://www.linuxidc.com/linux/2012-10/71919p2.htm
安装和使用 percona 推出的 xtrabackup 备份 mysqlhttp://www.linuxidc.com/linux/2011-10/44451.htm
--------------------------------------分割线 --------------------------------------
例如:
# mysqldump --single-transaction test > test_backup.sql
第二、数据库中的数据处于静止状态
通过锁表参数
--lock-tables 每次锁定一个数据库的表,此参数是默认为true(见上面备份内容实例);
--lock-all-tables 一次锁定所有的表,适用于dump的表分别处于各个不同的数据库中的情况
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/linux/2014-05/101626p2.htm
该用户其它信息

VIP推荐

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