首页 > 数据库 >Mysql 数据备份与恢复

Mysql 数据备份与恢复

时间:2022-08-15 21:16:11浏览次数:47  
标签:SET OLD -- 恢复 Mysql 数据备份 SQL 40101 CHECKS

数据备份

使用工具导出

工具导出文件包含创建数据库和其他sql语句

导出内容dbname.sql

/*
SQLyog Ultimate v12.08 (32 bit)
MySQL - 5.7.27 : Database - dbname
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`dbname` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `dbname`;

/*Table structure for table `my_user` */

DROP TABLE IF EXISTS `my_user`;

CREATE TABLE `my_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

/*Data for the table `my_user` */

insert  into `my_user`(`id`,`name`,`create_dt`) values (1,'小明','2022-08-11 15:46:39');

/* Procedure structure for procedure `in_param` */

/*!50003 DROP PROCEDURE IF EXISTS  `in_param` */;

DELIMITER $$

/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `in_param`(in p_in int)
begin
  select p_in;
  set p_in=2;
  select p_in;
end */$$
DELIMITER ;

/* Procedure structure for procedure `pc_add_user` */

/*!50003 DROP PROCEDURE IF EXISTS  `pc_add_user` */;

DELIMITER $$

/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `pc_add_user`(in i_name varchar(30))
begin
    insert into my_user(name) values(i_name);
end */$$
DELIMITER ;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

使用mysqldump命令导出

不包含创建数据库命令

E:\MySQL>mysqldump -u root -p dbname > e:/MySQL/dbname1.sql
Enter password: *****

导出内容dbname.sql

-- MySQL dump 10.13  Distrib 5.7.27, for Win64 (x86_64)
--
-- Host: localhost    Database: dbname
-- ------------------------------------------------------
-- Server version	5.7.27

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `my_user`
--

DROP TABLE IF EXISTS `my_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `my_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `my_user`
--

LOCK TABLES `my_user` WRITE;
/*!40000 ALTER TABLE `my_user` DISABLE KEYS */;
INSERT INTO `my_user` VALUES (1,'小明','2022-08-11 15:46:39');
/*!40000 ALTER TABLE `my_user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2022-08-15 14:38:20

包含创建数据库命令

E:\MySQL>mysqldump -u root -p --databases dbname > e:/MySQL/dbname2.sql
Enter password: *****

导出内容dbname2.sql

-- MySQL dump 10.13  Distrib 5.7.27, for Win64 (x86_64)
--
-- Host: localhost    Database: dbname
-- ------------------------------------------------------
-- Server version	5.7.27

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `dbname`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `dbname` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `dbname`;

--
-- Table structure for table `my_user`
--

DROP TABLE IF EXISTS `my_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `my_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `my_user`
--

LOCK TABLES `my_user` WRITE;
/*!40000 ALTER TABLE `my_user` DISABLE KEYS */;
INSERT INTO `my_user` VALUES (1,'小明','2022-08-11 15:46:39');
/*!40000 ALTER TABLE `my_user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2022-08-15 14:40:29

导出数据库指定表

E:\MySQL>mysqldump -u root -p dbname my_user > e:/MySQL/my_user.sql
Enter password: *****

导出内容与dbname.sql类似

数据恢复

  • 导入脚本有创建数据库,则不需要选择数据库,即使选择了数据库,脚本里也会改变数据库为脚本里数据库。
  • 导入脚本没有创建数据库,需要先选择数据库,再导入脚本。

使用工具导入

  1. 直接导入

  2. 导入脚本

命令导入

使用mysql命令

本机-h可以省略,指定数据库d2无效,因为dbname.sql脚本包含创建数据库dbname,并use dbname数据库。

E:\MySQL>mysql -h 127.0.0.1 -u root -p d2 < E:/MySQL/dbname.sql
Enter password: *****

指定数据库d2有效,因为dbname1.sql脚本没有创建数据库语句,没有use 新数据库。

E:\MySQL>mysql -h 127.0.0.1 -u root -p d2 < E:/MySQL/dbname1.sql
Enter password: *****

使用source命令导入

  1. 连接数据库
E:\MySQL>mysql -u root -p
Enter password: *****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 155
Server version: 5.7.27 MySQL Community Server (GPL))
  1. 创建数据库
mysql> create database dbname1;
Query OK, 1 row affected (0.00 sec)
  1. 使用数据库
mysql> use dbname1;
Database changed
  1. 导入
mysql> source E:/MySQL/dbname1.sql
Query OK, 0 rows affected (0.00 sec)

导入时候Error Code: 2006 - MySQL server has gone away

修改配置文件my.ini
max_allowed_packet=16M
wait_timeout=400000
interactive_timeout = 400000

标签:SET,OLD,--,恢复,Mysql,数据备份,SQL,40101,CHECKS
From: https://www.cnblogs.com/saltish/p/16400347.html

相关文章

  • go 通过sql操作mysql
    GoLang学习更方便,一文在手,面试我有GoLang面试|GoLang面试|GoLang面试go通过sql操作mysql亲测、2022/08/1520:53北京朝阳@目录前言go代码sql汇总-增删改查......
  • 【2022-08-15】mysql基础知识(二)
    mysql基础知识(二)字符编码与配置文件windows系统下查看mysql的版本信息:\s由于5.6版本编码不统一,会导致乱码的情况出现,所以统一修改编码格式为>>>:utf8my-defaul......
  • mysql 免密登录(解决报错ERROR 1045 (28000))
    mysql登录时,ERROR1045(28000):错误解决办法通常出现的报错如下:ERROR1045(28000):Accessdeniedforuser'ODBC'@'localhost'(usingpassword:NO)ERROR1045(2......
  • MySQL2
    目录一、字符编码与配置文件1.配置文件2.添加字符编码相关的配置(百度查看就好)二、存储引擎1.简介2.需掌握的存储引擎3.不同存储引擎之间底层文件的区别3.1.InnoDB3.2.MyISA......
  • python连接mysql与redis(ssh方式)
    python如何连接数据库(SSH方式)性能测试时,有个支付订单的场景,需要用到已生成的订单code,如何获取订单code?一,通过Jmeter连接数据库获取。二,直接mysql导出数据我这里是使用......
  • MySQL的字段语法
    MySQL的存储字符编码与配置文件1.\s#查看数据库基本信息(用户、字符编码)2.my-default.ini#windows下MySQL默认的配置文件拷贝上述文件并重命名为my.ini3.添......
  • MySQL的存储引擎
    MySQL的存储引擎存储引擎介绍文件系统操作系统组织和存取数据的一种机制文件系统是一种软件文件系统不管使用什么文件系统,数据内容不会变化不同的是,存储空间......
  • 字符编码与配置文件、数据库存储引擎、创建表的完整语法、MySQL字段类型(整型、浮点型
    字符编码与配置文件可以用:\s来查看数据库基本信息,里面含有用户、字符编码等信息。Servercharacterset:latin1Dbcharacterset:latin1Clientcharacter......
  • mysql基础练习题
    mysql基础练习题 test11、创建emp表,设计字段为id,name,age,sex,salary(工资),resume(履历),time(入职时间)。2、往表中添加数据如下:insertintoemp(name,age,sex,s......
  • 2022 8-15 第四组 曹雨 MySQL数据库01
    MySQLMySQl是一个“关系型数据库管理系统”。MySQL使用了一种语言“SQL语言”MySQL分为社区版和商业版,体积小,速度快,成本低,开源以表的形式存取数据基本操作MySQL操......