实验环境:
前面我们建立了数据库并建立相关的对象
今天的内容为备份全库
我们来备份test数据库中的innodb_table表和isam_table表
mysqldump -h127.0.0.1 -usystem -p123456 --set-gtid-purged=OFF --databases test --tables innodb_table isam_table > /tmp/table.sql
首先依然是mysqldump的版本信息 主机名信息
已经一些变量的设置
再次提醒 \/!123456\/ 不是注释
详情看上一节介绍
接下来是表的信息
首先是如果表存在则删除表(DROP TABLE IF EXISTS)
之后建立表(CREATE TABLE)
接下来是表数据的备份(Dumping data for table)
首先锁定表不让其他进程写(LOCK TABLE WRITE)
然后使MySQL停止更新非唯一索引(ALTER TABLE DISABLE KEYS),这样能加快插入速度
之后将数据转换成insert语句(INSERT INTO)
之后重新建立丢失的索引(ALTER TABLE ENABLE KEYS)
最后释放锁(UNLOCK TABLES)
可以看到单独导出表的话,该表的触发器会一并导出
可以看出单独导出表有如下内容
不同于全库备份没有如下内容
同时一条语句不能导出多个数据库中的表
今天的内容就到这里,欢迎查看