加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.52wenzhou.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL mysqldump备份数据库(附带实例)

发布时间:2022-10-13 03:00:52 所属栏目:MySql教程 来源:互联网
导读: 数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略。
保证数据安

数据库的主要作用就是对数据进行保存和维护,所以备份数据是数据库管理中最常用的操作。为了防止数据库意外崩溃或硬件损伤而导致的数据丢失,数据库系统提供了备份和恢复策略。

保证数据安全的最重要的一个措施就是定期的对数据库进行备份。这样即使发生了意外,也会把损失降到最低。

数据库备份是指通过导出数据或者复制表文件的方式来制作数据库的副本。当数据库出现故障或遭到破坏时,将备份的数据库加载到系统,从而使数据库从错误状态恢复到备份时的正确状态。

MySQL 中提供了两种备份方式,即 mysqldump 命令以及 mysqlhotcopy 脚本。由于 mysqlhotcopy 只能用于 MyISAM 表,所以 MySQL 5.7 移除了 mysqlhotcopy 脚本。

本节主要介绍如何使用 mysqldump 命令备份数据库。

mysqldump 命令执行时,可以将数据库中的数据备份成一个文本文件。数据表的结构和数据将存储在生成的文本文件中。备份一个数据库使用 mysqldump 命令备份一个数据库的语法格式如下:

mysqldump -u username -p dbname [tbname ...]> filename.sql

对上述语法参数说明如下:

注意:mysqldump 命令备份的文件并非一定要求后缀名为.sql,备份成其他格式的文件也是可以的。例如,后缀名为 .txt 的文件。通常情况下,建议备份成后缀名为 .sql 的文件。因为,后缀名为.sql 的文件给人第一感觉就是与数据库有关的文件。

例 1下面使用 root 用户备份 test 数据库下的 student 表。打开命令行(cmd)窗口,输入备份命令和密码,运行过程如下:

C:\Windows\system32>mysqldump -uroot -p test student>C:\student.sql
Enter password: ****

注意:mysqldump 命令必须在 cmd 窗口下执行,不能登录到 MySQL 服务中执行。

输入密码后mysql备份,MySQL 会对 test 数据库下的 student 数据表进行备份。之后就可以在指定路径下查看刚才备份过的文件了。student.sql 文件中的部分内容如下:

-- MySQL dump 10.13 Distrib 5.7.29, for Win64 (x86_64)

--

-- Host: localhost Database: test

-- ------------------------------------------------------

-- Server version 5.7.29-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

--此处删除了部分内容

--

-- Table structure for table `student`

--

DROP TABLE IF EXISTS `student`;

/*!40101 SET @saved_cs_client = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */;

CREATE TABLE `student` (

`id` int(4) NOT NULL,

`name` varchar(20) DEFAULT NULL,

`stuno` int(11) DEFAULT NULL,

`age` int(4) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

/*!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table `student`

--

LOCK TABLES `student` WRITE;

/*!40000 ALTER TABLE `student` DISABLE KEYS */;

INSERT INTO `student` VALUES (1,'zhangsan',23,18),(2,'lisi',24,19),(3,'wangwu',25,18),(4,'zhaoliu',26,18);

/*!40000 ALTER TABLE `student` ENABLE KEYS */;

UNLOCK TABLES;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

......

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!