MySQL备份还原存储过程事务及周边

Posted 韩小北(韩凯)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL备份还原存储过程事务及周边相关的知识,希望对你有一定的参考价值。

数据库备份与还原
一. 命令行
* 备份: mysqldump -u用户名 -p密码 数据库名称 > 保存的路径
* 还原:
  1. 登录数据库
  2. 创建数据库: create database 数据库名;
  3. 使用数据库: use 数据库名;
  4. 执行文件: source 文件路径
二. 图形化工具

 

存储过程

--建立存储过程名字叫 insert_data
CREATE 
PROCEDURE insert_data()
	BEGIN 
		DECLARE i INT;
		SET i=0;
		WHILE  i>=0 && i<= 10000 DO 循环插入10000条数据。
			INSERT INTO big_data(name,age,email)values(concat(‘dada’,i),rand()*50,concat(\'dada\',i,\'@qq.com\'));
			写入sql,concat是将多个str连在一起。
			SET i=i + 1; 
		END WHILE;  结束循环
	END$$ 存储过程结束
如果这个名字已存在,删除存储过程
DROP PROCEDURE if exists insert_data;

调用存储过程
call insert_data();

在进行存储过程的时候需要先将MySQL数据改为 MyISAM,存储过程完成后再更改为 InnoDB

show ENGINES; --查询数据库殷勤
InnoDB:
MySQL5.7中的默认存储引擎。InnoDB行级锁定。
InnoDB是一种适用于MySQL的事务安全(ACID兼容)存储引擎,具有提交,回滚和崩溃恢复功能,可保护用户数据。
InnoDB将用户数据存储在聚簇索引中,以减少基于主键的常见查询的I / O.为了保持数据完整性,InnoDB还支持FOREIGN KEY参照完整性约束。

MyISAM:
表级锁定 限制了读/写工作负载的性能,因此它通常用于Web和数据仓库配置中的只读或大部分读取工作负载。这些表占用空间小。

 

事务

引用菜鸟中的事务截图:

 

周边

1、查询SQL执行信息参数

explain + SQL语句

主要看两个字段:type、rows

 

 尽量避免使用全表扫描的方式,如上就是显示的是全表扫描的方式。涉及到的行数的8行,如果表内容很多几十万上百万数据,查询的速度会逐渐降低。

 

以上是关于MySQL备份还原存储过程事务及周边的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据备份还原

xtrabackup安装及全备,增量备份,及恢复

mysql学习之路_事物_存储过程_备份

mysql-xtrbackup备份与恢复

Mysql大数据备份和增量备份及还原

MySQL数据库5事务视图触发器函数数据库的备份