18.6 数据库的备份及恢复

前文提到,本书的技术主线是Linux系统的运维方向,不会对数据库管理系统的操作进行深入的讲解,因此大家掌握了上面这些基本的数据库操作命令之后就足够了。下面要讲解的是数据库的备份以及恢复,这些知识比较实用,希望大家能够掌握。

mysqldump命令用于备份数据库数据,格式为“mysqldump [参数] [数据库名称]”。其中参数与mysql命令大致相同,-u参数用于定义登录数据库的账户名称,-p参数代表密码提示符。下面将linuxprobe数据库中的内容导出成一个文件,并保存到root管理员的家目录中:

  1. [root@linuxprobe ~]# mysqldump -u root -p linuxprobe > /root/linuxprobeDB.dump
  2. Enter password:此处输入root管理员在数据库中的密码

然后进入MariaDB数据库管理系统,彻底删除linuxprobe数据库,这样mybook数据表单也将被彻底删除。然后重新建立linuxprobe数据库:

  1. MariaDB [(none)]> DROP DATABASE linuxprobe;
  2. Query OK, 1 row affected (0.04 sec)
  3. MariaDB [(none)]> SHOW databases;
  4. +--------------------+
  5. | Database |
  6. +--------------------+
  7. | information_schema |
  8. | mysql |
  9. | performance_schema |
  10. +--------------------+
  11. 3 rows in set (0.02 sec)
  12. MariaDB [(none)]> CREATE DATABASE linuxprobe;
  13. Query OK, 1 row affected (0.00 sec)

接下来是见证数据恢复效果的时刻!使用输入重定向符把刚刚备份的数据库文件导入到mysql命令中,然后执行该命令。接下来登录到MariaDB数据库,就又能看到linuxprobe数据库以及mybook数据表单了。数据库恢复成功!

  1. [root@linuxprobe ~]# mysql -u root -p linuxprobe < /root/linuxprobeDB.dump
  2. Enter password: 此处输入root管理员在数据库中的密码值
  3. [root@linuxprobe ~]# mysql -u root -p
  4. Enter password: 此处输入root管理员在数据库中的密码值
  5. MariaDB [(none)]> use linuxprobe;
  6. Reading table information for completion of table and column names
  7. You can turn off this feature to get a quicker startup with -A
  8. Database changed
  9. MariaDB [linuxprobe]> SHOW tables;
  10. +----------------------+
  11. | Tables_in_linuxprobe |
  12. +----------------------+
  13. | mybook |
  14. +----------------------+
  15. 1 row in set (0.05 sec)
  16. MariaDB [linuxprobe]> DESCRIBE mybook;
  17. +-------+----------+------+-----+---------+-------+
  18. | Field | Type | Null | Key | Default | Extra |
  19. +-------+----------+------+-----+---------+-------+
  20. | name | char(15) | YES | | NULL | |
  21. | price | int(11) | YES | | NULL | |
  22. | pages | int(11) | YES | | NULL | |
  23. +-------+----------+------+-----+---------+-------+
  24. 3 rows in set (0.02 sec)

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)

1.RHEL 7系统为何选择使用MariaDB替代MySQL数据库管理系统?

答:因为MariaDB由开源社区进行维护,且不受商业专利限制。

2.初始化MariaDB或MySQL数据库管理系统的命令是什么?

答:是mysql_secure_installation命令,建议每次安装MariaDB或MySQL数据库管理系统后都执行这条命令。

3.用来查看已有数据库或数据表单的命令是什么?

答:要查看当前已有的数据库列表,需执行SHOW databases;命令;要查看已有的数据表单列表,则需执行SHOW tables;命令。

4.切换至某个指定数据库的命令是什么?

答:执行“use 数据库名称”命令即可切换成功。

5.若想针对某个账户进行授权或取消授权操作,应该执行什么命令?

答:针对账户进行授权,需执行GRANT命令;取消授权则需执行REVOKE命令。

6.若只想查看mybook表单中的name字段,应该执行什么命令?

答:应执行SELECT name FROM mybook命令。

7.若只想查看mybook表单中价格大于75元的图书信息,应该执行什么命令?

答:应执行SELECT * FROM mybook WHERE price>75命令。

8. 要想把linuxprobe数据库中的内容导出为一个文件(保存到root管理员的家目录中),应该执行什么命令?

答:应执行mysqldump -u root -p linuxprobe > /root/linuxprobeDB.dump命令。

本文原创地址:https://www.linuxprobe.com/chapter-18.html   编辑:刘遄,审核员:暂无

为您推荐一些与本文相关的文章:

转载必需保留本文链接:https://www.linuxprobe.com/chapter-18.html

本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。