当前位置:   article > 正文

mysql 数据备份与存储引擎_mysql备份 表引擎

mysql备份 表引擎

数据备份

mysql_home/bin下提供了mysqldump.exe / mysqldump.sh 的可执行文件,用于备份数据库
  • 1
语法(无需进入MySQL命令行,在本机命令行即可)
mysqldump -h IP -P port –u账号 –p --databases 数据库 [表名1 表名2..]  > 文件路径
  • 1
手动方式
-- 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
自动备份
把备份数据库的指令,写入到系统可执行文件(.bat / .sh),然后通过本地系统的任务管理器去定时调用可执行文件
  • 1
备份文件恢复(需要进入mysql命令行)
mysql> source d:\temp.dept.bak
  • 1

存储引擎

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

INNODB 存储: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.
  • 1
  • 2
  • 3
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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 概括:
  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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/pgrmghi/article/detail/61136
推荐阅读
相关标签
  

闽ICP备14008679号