• Mysql数据备份


    Mysql数据备份

    参考:https://www.cnblogs.com/kissdodog/p/4174421.html

    一、数据备份

      1、使用mysqldump命令备份

      mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

      mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

      

      2、备份一个数据库

      mysqldump基本语法:

      mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

    • dbname:表示数据库的名称
    • table1 :表示需要备份的数据表(可以备份多张表)

      使用root用户备份test数据库下的user表

      mysqldump -u root -p test user > F:	estuserbackup.sql

      

    其生成的脚本如下

     1 -- MySQL dump 10.13  Distrib 5.5.62, for Win64 (AMD64)
     2 --
     3 -- Host: localhost    Database: test
     4 -- ------------------------------------------------------
     5 -- Server version    5.5.62
     6 
     7 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
     8 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
     9 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    10 /*!40101 SET NAMES utf8 */;
    11 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    12 /*!40103 SET TIME_ZONE='+00:00' */;
    13 /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    14 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    15 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    16 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    17 
    18 --
    19 -- Table structure for table `user`
    20 --
    21 
    22 DROP TABLE IF EXISTS `user`;
    23 /*!40101 SET @saved_cs_client     = @@character_set_client */;
    24 /*!40101 SET character_set_client = utf8 */;
    25 CREATE TABLE `user` (
    26   `id` int(11) NOT NULL AUTO_INCREMENT,
    27   `name` varchar(255) NOT NULL,
    28   `age` int(11) DEFAULT NULL,
    29   PRIMARY KEY (`id`)
    30 ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
    31 /*!40101 SET character_set_client = @saved_cs_client */;
    32 
    33 --
    34 -- Dumping data for table `user`
    35 --
    36 
    37 LOCK TABLES `user` WRITE;
    38 /*!40000 ALTER TABLE `user` DISABLE KEYS */;
    39 INSERT INTO `user` VALUES (1,'jack',18),(2,'kobe',20),(3,'yaoming',22),(4,'weide',20),(5,'lisi',20),(6,'zhangsan',21),(7,'liuxiang',22),(13,'',NULL);
    40 /*!40000 ALTER TABLE `user` ENABLE KEYS */;
    41 UNLOCK TABLES;
    42 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
    43 
    44 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    45 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    46 /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    47 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    48 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    49 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    50 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    51 
    52 -- Dump completed on 2019-04-02 15:02:16

    文件的开头会记录MySQL的版本、备份的主机名和数据库名。

    文件中以“--”开头的都是SQL语言的注释,

    以"/*!40101"等形式开头的是与MySQL有关的注释。40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就会被当做注释。

      

       3、备份多个数据库

       mysqldump -u username -p  --databases[db1 db2] ...-> BackupName.sql

       

        加上了--databases选项,然后后面跟多个数据库

       4、备份所有数据库

       mysqldump -u username -p -all-databases > BackupName.sql

       加上-all 和 -databases参数

    二、数据还原

    还原使用mysql命令备份的数据库的语法如下:

      mysql -u root -p [dbname] < backup.sq

      示例:

    mysql -u root -p test < F:	estbackup.sql
  • 相关阅读:
    用三张图宏观把握数据库
    MySQL数据库安装与配置详解(图文)
    如何彻底的删除MySQL数据库(图文教程)
    几个常用网络/服务器监控开源软件
    tomcat服务器虚拟目录的映射方式
    手动开发动态资源之servlet初步
    软件项目开发没规划好就注定会失败
    在系统设计中,如何控制层次的问题
    软件系统架构中的分层思想
    鸟哥谈PHP的架构与未来发展
  • 原文地址:https://www.cnblogs.com/xiaocao123/p/10643021.html
Copyright © 2020-2023  润新知