赞
踩
mysql_home/bin下提供了mysqldump.exe / mysqldump.sh 的可执行文件,用于备份数据库
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> source d:\temp.dept.bak
特点 | myisam | innodb | BDB | memory | archive |
---|---|---|---|---|---|
批量插入的速度 | 高 | 低 | 高 | 高 | 非常高 |
事务安全 | 支持 | 支持 | |||
全文索引 | 支持 | ||||
锁机制 | 表锁 | 行锁 | 页锁 | 表锁 | 行锁 |
存储限制 | 没有 | 64TB | 没有 | 有 | 没有 |
B树索引 | 支持 | 支持 | 支持 | 支持 | |
哈希索引 | 支持 | 支持 | |||
集群索引 | 支持 | ||||
数据缓存 | 支持 | 支持 | |||
索引缓存 | 支持 | 支持 | 支持 | ||
数据可压缩 | 支持 | 支持 | |||
空间使用 | 低 | 高 | 低 | N/A | 非常低 |
内存使用 | 低 | 高 | 低 | 中等 | 低 |
外键支持 | 支持 |
myisam 存储: 如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎. ,比如 bbs 中的 发帖表,回复表.
INNODB 存储: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表.
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强很多
- 事务安全(MyISAM不支持事务,INNODB支持事务)
- 查询和添加速度(MyISAM批量插入速度快)
- 支持全文索引(MyISAM支持全文索引,INNODB不支持全文索引)
- 锁机制(MyISAM时表锁,innodb是行锁)
- 外键 MyISAM 不支持外键, INNODB支持外键. (在PHP开发中,通常不设置外键,通常是在程序中保证数据的一致)
Memory 存储,比如我们数据变化频繁,不需要入库,同时又频繁的查询和修改,我们考虑使用memory, 速度极快. (如果mysql重启的话,数据就不存在了)
如果你的数据库的存储引擎是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;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。