全部博文(125)
分类: Mysql/postgreSQL
2012-03-16 13:44:12
三.BLOB 数据及备份
MySQL中BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。BLOB类型实际是个类型系列(TinyBlob、Blob、MediumBlob、LongBlob),除了在存储的最大信息量上不同外,他们是等同的。
MySQL的四种BLOB类型
类型 | 大小(单位:字节) |
TinyBlob | 最大 255 |
Blob | 最大 65K |
MediumBlob | 最大 16M |
LongBlob | 最大 4G |
实际使用中根据需要存入的数据大小定义不同的BLOB类型。如果你存储的文件过大,数据库的性能会下降很多。
相关备份命令::/usr/local/mysql/bin/mysqldump --hex-blob mydata>/opt/bak.sql
四.备份MySQL
有两种可供选择的备份MySQL的方式----mysqldump 或者mysqlhotcopy。
mysqldump可以备份各种类型的数据表。
mysqlhotcopy只适合备份MyISAM和ISAM的数据表。所以使用mysqlhotcopy之前,你必须确认你的数据表是不是有其他的存储引擎(storage engines)的。
mysql> show engines;
显示了可用的数据库引擎的全部名单以及在当前的数据库服务器中是否支持这些引擎。(Default为默认的)
更灵活的方式是在随MySQL服务器发布同时提供的MySQL客户端时指定使用的存储引擎。
最直接的方式是在创建表时指定存储引擎的类型:
CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB
你还可以改变现有的表使用的存储引擎,用以下语句:
ALTER TABLE mytable ENGINE = MyISAM
How To:
两者速度:因为mysqlhotcopy会直接拷贝存储数据的文件,所以其速度是依赖于磁盘操作的速度,较之mysqldump要快些。