mysql 数据备份与存储引擎

2023-11-03

数据备份

mysql_home/bin下提供了mysqldump.exe / mysqldump.sh 的可执行文件,用于备份数据库
语法(无需进入MySQL命令行,在本机命令行即可)
mysqldump -h IP -P port –u账号 –p --databases 数据库 [表名1 表名2..]  > 文件路径
手动方式
-- mysqldump –u -账号 –密码 数据库 [表名1 表名2..]  > 文件路径
mysqldump -h localhost -P 3306 -uroot -p --databases test > d:\temp.sql
-- 比如: 把temp数据库备份到 d:\temp.bak
mysqldump -uroot -p --databases test > f:\temp.bak
-- 如果你希望备份是,数据库的某几张表
mysqldump -uroot -p --databases test dept > f:\temp.dept.sql
自动备份
把备份数据库的指令,写入到系统可执行文件(.bat / .sh),然后通过本地系统的任务管理器去定时调用可执行文件
备份文件恢复(需要进入mysql命令行)
mysql> source d:\temp.dept.bak

存储引擎

特点 myisam innodb BDB memory archive
批量插入的速度 非常高
事务安全 支持 支持
全文索引 支持
锁机制 表锁 行锁 页锁 表锁 行锁
存储限制 没有 64TB 没有 没有
B树索引 支持 支持 支持 支持
哈希索引 支持 支持
集群索引 支持
数据缓存 支持 支持
索引缓存 支持 支持 支持
数据可压缩 支持 支持
空间使用 N/A 非常低
内存使用 中等
外键支持 支持
常用的引擎(myisam / innodb/ memory)
myisam 存储: 如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎. ,比如 bbs 中的 发帖表,回复表.

INNODB 存储: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.
InNoDB与MyISAM异同
1、InnoDB 支持事务,
	支持行级别锁定,
	支持 B+tree、Fulltext (InNoDB从1.2.X版本开始支持全文搜索的技术)等索引,不支持 Hash 索引,
	
	但是给了又有一个特殊的解释:InnoDB存储引擎 是支持hash索引的,
	不过,我们必须启用,hash索引的创建由InnoDB存储引擎引擎自动优化创建,
	是数据库自身创建并使用,DBA(数据库管理员)无法干预;
2、MyISAM 不支持事务,支持表级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
3、Memory 不支持事务,支持表级别锁定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
4、MyISAM引擎不支持外键,InnoDB支持外键
5、MyISAM引擎的表在大量高并发的读写下会经常出现表损坏的情况
6、对于count()查询来说MyISAM更有优势,MyISAM直接通过计数器获取,而InnoDB需要通过扫描全部数据,
	虽然InNoDB存储引擎是支持行级锁,是where对他主键是有效,非主键的都会锁全表的
7、MyISAM引擎的表的查询、更新、插入的效率要比InnoDB高,
	如果你的数据量是百万级别的,并且没有任何的事务处理,那么用MyISAM是性能最好的选择。
	并且MyISAM可以节省很多内存,因为MyISAM索引文件是与数据文件分开放置,并且索引是有压缩,内存使用率提高不少
8、平台承载的大部分项目是读多写少的项目,MyISAM读性能比InNoDB强很多
  • 概括:
  1. 事务安全(MyISAM不支持事务,INNODB支持事务)
  2. 查询和添加速度(MyISAM批量插入速度快)
  3. 支持全文索引(MyISAM支持全文索引,INNODB不支持全文索引)
  4. 锁机制(MyISAM时表锁,innodb是行锁)
  5. 外键 MyISAM 不支持外键, INNODB支持外键. (在PHP开发中,通常不设置外键,通常是在程序中保证数据的一致)

Memory 存储,比如我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory, 速度极快. (如果mysql重启的话,数据就不存在了)

Myisam注意事项
如果你的数据库的存储引擎是myisam,请一定记住要定时进行碎片整理
	举例说明: 
		create table test100(
			id int unsigned ,name varchar(32)
		)engine=myisam;
		
		insert into test100 values(1,’aaaaa’);
		insert into test100 values(2,’bbbb’);
		insert into test100 values(3,’ccccc’);
	我们应该定义对myisam进行整理
		optimize table test100;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 数据备份与存储引擎 的相关文章

  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 从两个表中搜索然后删除

    我有两个包含成员数据的表 与 member id 列链接 我需要搜索所有记录email列以 pl 结尾 然后 我需要为此删除两个表中的所有记录 基于 member id 是否可以通过一条 SQL 语句完成此操作 SELECT member
  • Rails 3 按字段排序和最后

    您好 我对 Rails 3 2 和订购有疑问 当想要按字段对集合进行排序时 调用时 last ActiveRecord行为怪异 gt gt User order FIELD id 1 User Load 0 4ms SELECT users
  • 纠正mysql创建用户时语法错误

    所以我很常见ERROR 1045 28000 Access denied for user root localhost using password YES mysql错误 我已经尝试了论坛上的所有典型修复 通过 mysql safe 方
  • mysql_fetch_array while 循环。它是如何工作的?

    我已经阅读了 php net 上的该函数 但这仍然没有回答我的问题 我对 C 语言有一定的了解 并且刚刚开始使用 php 通常在 C 中 如果要执行 while 循环 则需要有一些条件来将循环推进到不再有效的点 如下所示 while x g
  • 在 OS X 10.7 中找不到 Mysql 命令

    我无法让我的 mysql 在 os x 10 7 上启动 它位于 usr local mysql bin mysql 当我输入时 我得到命令未找到mysql version在终端中 我试过这个无法从 mac 命令行访问 mysql http
  • 解码Json数据数组并插入到mysql

    这个问题可能已经在这里问过 但我尝试搜索找不到它 我有如下 Json 数据 CityInfo CityCode 5599 Name DRUSKININKAI CityCode 2003 Name KAUNAS CityCode 2573 N
  • 从多个表中选择 - 一对多关系

    我有这样的表 表产品 身份证 姓名 表格图像 产品 ID 网址 订单号 表价 产品 ID 组合 货币 价格 表数量 产品 ID 组合 数量 表 Product 与其他表是一对多关系 我需要查询表并得到类似这样的结果 伪数组 ProductI
  • 如何在 Windows 上安装 PHP 的 PDO 驱动程序?

    我在 Windows 服务器上安装了 Apache PHP 5 6 和 MySQL 5 7 在 php ini 中 我启用了以下内容 extension php mysql dll extension php mysqli dll exte
  • 为 Mariadb 安装连接器 C

    所以 我想使用 Mariadb 有一个连接器 C https downloads mariadb org connector c https downloads mariadb org connector c 我该如何安装它 坦白说 它的文
  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • MySQL 5左连接未知列

    我有以下查询在 mysql 4 1 中工作 但在 5 0 中不起作用 SELECT FROM email e event email ee LEFT JOIN member m on m email e email WHERE ee ema
  • MySQL 子查询返回多行

    我正在执行这个查询 SELECT voterfile county Name voterfile precienct PREC ID voterfile precienct Name COUNT SELECT voterfile voter
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • MySQL 触发器和 SUM()

    我有两张桌子 学生桌和家庭桌 在学生中 我有列 st venue 和total venue 家里我有收入 Total Revenue 是学生 st 收入与家庭收入之和 其中 family id student student id stud
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • RMySQL fetch - 找不到继承的方法

    使用 RMySQL 我想将数据从数据库加载到 R 中的数据帧中 为此 我使用以下代码 R连接数据库 con lt dbConnect MySQL user root password password dbname prediction h
  • 物理写入文件已满 - mysql 错误

    我正在使用xampp 每次启动mysql时 我都会在xampp中收到以下错误 Error MySQL shutdown unexpectedly 13 16 14 mysql This may be due to a blocked por

随机推荐

  • 测高原理PPT

    转载 https www slideserve com beryl radar altimeter fundamentals and near shore measurements powerpoint ppt presentation
  • Windows 下载安装 netcat(nc)命令

    Windows 下载安装 netcat命令 netcat nc 下载 netcat nc 安装 配置环境变量 测试 netcat nc 下载 netcat nc 下载地址 https eternallybored org misc netc
  • 脉动阵列

    脉动阵列是一个比较古老的概念 早在1982年就有了 可是 最近google的TPU采用了这个结构 脉动阵列又火了起来 我也是从今年新入职了一家公司后才接触到的 对比之前自己设计的AI架构 脉动阵列确实有很多优势 所以本文从传统AI计算架构和
  • java中filereader读取文件_FileReader读取文件

    前言 FileReader是一种异步文件读取机制 结合input file可以很方便的读取本地文件 input file 在介绍FileReader之前 先简单介绍input的file类型 input的file类型会渲染为一个按钮和一段文字
  • [IDEA]报错 Could not autowire. No beans of 'XXXMapper' type found. less... (Ctrl+F1)

    在Idea的spring工程里 经常会遇到Could not autowire No beans of xxxx type found的错误提示 但程序的编译和运行都是没有问题的 这个错误提示并不会产生影响 但红色的错误提示在有些有强迫症的
  • ES基础操作及java代码

    ES相关随手记 文章目录 ES相关随手记 一 基本操作 1 es三大属性 索引 映射 文档 1 1 索引 1 2 映射 1 3 文档 1 3 2 文档的批量操作 二 高级查询 说明 1 查询所有 2 term 基于关键词查询 3 range
  • Apache + Tomcat + proxy_module 集群配置详解

    见转载 地址 http blog csdn net wccmfc123 article details 22829219 Apache Tomcat集群配置详解 2 补充 对 tomcat6 conf server xml文件修改配置如图
  • Camera日记(一)-ISP

    ISP Image Signal Processor 既图像信号处理 用于处理图像信号传感器输出的图像信号 它在相机系统肿占有核心主导的地位 是构成相机的重要设备 背景 图像采集设备存在缺陷 作用 数字图像经过采集 存储 显示 达到与人眼直
  • isce D-InSAR

    一 数据准备 二 配置文件insarApp xml 我设置的解缠常用参数grass和snaphu
  • 初等代数不等式1

    10 3赫尔德不等式还可以写成 即 即 简称 幂均值的几何均值不小于积均值 注 赫尔德与切比雪夫的不同点 赫尔德要求是 切比雪夫要求是同调 赫尔德的积均值小 切比雪夫的积均值大 10 4若 和为三个正实数序列 且 则 式称为加权赫尔德不等式
  • 【leetcode】93. 复原 IP 地址

    93 复原 IP 地址 题目链接 思路分析 代码实现 题目链接 93 复原 IP 地址 思路分析 既然是复原IP地址 那么就必然需要一个判断是否符合IP的函数 其次我们对于一段处理好的子串 需要将其提取出来 以及在回溯的时候 我们要将这一段
  • 第十一章 从Javaweb原⽣jdbc到MyBatis3.X

    1 javaweb通过原 jdbc访问数据库 原 jdbc访问数据库步骤 加载JDBC驱动程序 创建数据库的连接 创建preparedStatement 执 SQL语句 处理结果集 关闭JDBC对象资源 Springboot项 测试原 JD
  • 安捷伦34970a驱动及软件安装_最小最干净无需安装的驱动软件

    对于新安装系统电脑的驱动更新 驱动精灵基于驱动之家十余年的专业数据积累 支持度高达98 3 已经为数亿用户解决了各种电脑驱动问题 是目前有效的驱动软件 驱动精灵 支持市面99 的网卡设备 完美解决了系统新装问题 但对老电脑来说 也有自身的一
  • 计算二维离散随机变量的联合概率分布

    一 定义 Joint probability distribution 给定至少两个随机变量X Y 它们的联合概率分布 Joint probability distribution 指的是每一个随机变量的值落入特定范围或者离散点集合内的概率
  • Win11设置共享文件的方法

    1 按下键盘的win r键打开运行窗口 输入compmgmt msc指令 如图所示 2 随后在计算机管理的用户文件夹中 打开Guest账户 如图所示 3 如下图所示完成选项勾选以后 点击确定按钮 如图所示 4 接着右键需要分享的文件 打开属
  • Xeon可扩展Xeon睿频

    进行多线程AVX512运算的时候 需要把频率降下来 使用更低的电压 才能把功耗控制在一个TDP范围内 这就是全核AVX512默频 如果散热给力 可以提高电压增加点功耗 频率提高点 AVX512全核睿频 进行多线程AVX2运算的时候 单个核心
  • react性能优化是哪个周期函数

    shouldComponentUpdate 这个方法用来判断是否需要调用render方法重新描绘dom 因为dom的描绘非常消耗性能 如果我们能在shouldComponentUpdate方法中能够写出更优化的dom diff算法 可以极大
  • 0基础如何学习软件测试?1小时给你安排明白

    先上一张学习路线 在测试行业已经呆了5年多了 也算得上行业经验资深了吧 基本上也是摸清了这个行业的发展 所以今天也想对有转行想法的朋友分享一下经验 能够让你对这个行业有个大致的了解和对以后的发展有所规划 不会像是个无头苍蝇一样毫无头绪 东打
  • 测试环境搭建

    测试环境的搭建 为什么搭建测试环境 如果开发人员调试代码和测试人员测试软件在同一环境内 则他们的工作会互相影响 因此 需要将待测软件系统单独部署在一个独立于开发环境的测试环境中 了解软件系统结构 B S 浏览器 服务器 概念 使用浏览器访问
  • mysql 数据备份与存储引擎

    数据备份 mysql home bin下提供了mysqldump exe mysqldump sh 的可执行文件 用于备份数据库 语法 无需进入MySQL命令行 在本机命令行即可 mysqldump h IP P port u账号 p da