Chinaunix首页 | 论坛 | 博客
  • 博客访问: 428526
  • 博文数量: 125
  • 博客积分: 2838
  • 博客等级: 少校
  • 技术积分: 1410
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-05 09:45
文章分类

全部博文(125)

文章存档

2012年(13)

2011年(5)

2010年(107)

我的朋友

分类: Mysql/postgreSQL

2012-03-16 13:44:12

一.查看mysql表结构的方法有三种:
1、desc tablename;
2、show create table tablename;
3、use information_schema;select * from columns where table_name='tablename';
如果要查看怎么建立数据表的命令用第二种方法最佳。
 
二.查看数据库大小,索引大小:
mysql> use information_schema
Database changed
mysql> select concat(round(sum(index_LENGTH)/(1024*1024),2),'MB') as 'Index Size' from tables where table_schema='DBname';
解释:
concat和“MB”是单位
round和2表明精确2位小数
sum表明所有的索引相加
mysql> select concat(round(sum(data_LENGTH)/(1024*1024),2),'MB') as 'Data Size' from tables where table_schema='DBname';

三.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:

  1. mysqldump -uroot -p*** DBNAME | gzip -f>/backup/dbname.'date +%w'.dump.gz
  2. mysqlhotcopy DBNAME -u root -p *** /backup

两者速度:因为mysqlhotcopy会直接拷贝存储数据的文件,所以其速度是依赖于磁盘操作的速度,较之mysqldump要快些。

阅读(2092) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

坏坏小丸子2012-03-23 06:42:32

concat是多少??

天的星星2012-03-19 01:45:22

恩,不错的小命令,记一下啊\(^o^)/~