电校讲课Mysql_实验2_Mysqldump实验
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了电校讲课Mysql_实验2_Mysqldump实验,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4254字,纯文字阅读大概需要7分钟。
内容图文
![电校讲课Mysql_实验2_Mysqldump实验](/upload/InfoBanner/zyjiaocheng/866/eb3ae5aa59334b3ab4583dace84d7ba8.jpg)
mysqldump 是 MySQL 自带的逻辑备份工具。
它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。
mysqldump 参数选项:
--host 服务器IP地址
--P 服务器端口号
--user MySQL 用户名
--pasword -p MySQL 密码
--databases 指定要备份的数据库
--all-databases 备份mysql服务器上的所有数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/--no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--default-character-set 指定默认字符集
--add-locks 备份数据库表时锁定数据库
--singel-transaction 用于保证InnoDB备份数据时的一致性,配合RR隔离级别一起使用;当发起事务时,读取一个事务的快照,直到备份结束时,都不会读取到本事务开始之后的任何数据。
--all-databases(-A) 备份所有的数据库。
--master-data 该参数有1和2两个值,如果值为1,就会在备份出来的文件中添加一个CHANGE MASTER的语句(后期配置搭建主从架构);如果值等于2,就会在备份出来的文件中添加一个CHANGE MASTER的语句,并在语句前面添加注释符号。
--dump-slave 该参数用于在从库端备份数据,在线搭建新的从库时使用。该参数也有1和2两个值。值为1时,也是在备份出来的文件中添加一个CHANGE MASTER的语句;值为2时,则会在CHANGE MASTER命令前增加注释信息。
--no-create-info(-t) 备份过程中,只备份表数据,并不备份表结构。
--no-data(-d) 备份过程中,只备份表结构,不备份表数据。
--complete-insert(-c) 使用完整的insert语句会包含表中的列信息,这么做可以提交插入效率。
--databases(-B) 备份多个数据库。
--default-character-set 字符集,MySQL目前默认的字符集为UTF8,要与备份出的表和字符集保持一致。
--where=name(-w) 按条件备份出想要的数据。
【实验十一:mysqldump进行数据备份恢复实验】
实验要求:
直接在已经搭建好的单机MySQL数据库环境上进行数据库的备份操作,然后模拟数据删除丢失,通过备份的数据进行恢复操作演练。
实验环境:
redhat7.4 mysql5.7.30
实验步骤:
1、备份所有数据库
[root@hdp-03 tmp]# mysqldump -uroot -p --master-data=2 --single-transaction -A >/tmp/alldatabase.sql //通过mysqldump一致性备份全库
2、备份单个数据库
[root@hdp-03 tmp]# mysqldump -uroot -p --master-data=2 --single-transaction -B test1 >/tmp/onedatabase.sql //通过mysqldump一致性备份单个库test1
3、备份单个表
[root@hdp-03 ~]# mysqldump -uroot -p --master-data=2 --single-transaction -B test1 --tables t >/tmp/onetable.sql //通过mysqldump一致性备份test1库的t表数据
[root@hdp-03 ~]# du -sh /tmp/onetable.sql //查看备份出的文件大小
4.0K /tmp/onetable.sql
4、备份表结构
[root@hdp-03 ~]# mysqldump -uroot -p --master-data=2 --single-transaction -B test1 --tables t -d >/tmp/onetable_nodata.sql
5、 备份表中符合条件的数据
[root@hdp-03 ~]# mysqldump -uroot -p --master-data=2 --single-transaction test1 t --where=”id>3” > t.sql //通过mysqldump一致性备份test1库的t表中id>3的数据
6、恢复数据
root@hdp-03 tmp]# mysql -uroot -pmysql123 //登陆到MySQL数据库
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.7.30-log MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
mysql> use test1; //切换到test1库
Database changed
mysql> drop database test1; //删除test1库
Query OK, 1 row affected (0.06 sec)
mysql> show databases; //查看当前数据库列表,发现test1库已删除不存了
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> source /tmp/onedatabase.sql //将备份的test1库数据进行恢复
Query OK, 0 rows affected (0.00 sec)
mysql> show databases; //查看数据库列表,发现通过恢复操作test1库的数据已经恢复正常
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test1 |
+--------------------+
实验总结:
通过本实验对mysqldump的常用参数选项的使用初步的了解,对Mysql库和表不同维度的备份恢复能够实操掌握。
内容总结
以上是互联网集市为您收集整理的电校讲课Mysql_实验2_Mysqldump实验全部内容,希望文章能够帮你解决电校讲课Mysql_实验2_Mysqldump实验所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。