mysql 数据存储总结
由于最近一直在了解mysql。各种表类型的数据存储以及相关限制就是必须了解的方面了。
自己的服务器环境:OS Cent OS ext3,memory 4G, disk 2T block size 4K。
经调查,linux下文件最大是存在限制的。去google上搜了搜,大家说法不一,最终自己还是找到比较官方的说。详见http://en.wikipedia.org/wiki/Ext3 所以自己的服务器最大文件限制为2T。
这点搞清楚后,在数据库部署设计上就得考虑到这点。
简单说一下自己的数据库架构,是采用比较通用和成熟的做法,即:2个master,之间存在HA;N个slaves,负载分担读的负载。master和slaves采用replication异步同步。master上的数据库表类型为innodb,该类型有事物的概念,并且适合频繁读写。slaves数据库采用myisam表类型,可以更好的处理读请求。所以在此讨论这两种类型数据的存储形式。
innodb默认的是共享表空间的,这点在mysql官方网站文档上有很明确的说明。我就不费话了。如果采用共享表空间,可以配置多个数据文件到不同的磁盘,来解决数据存储瓶颈。但是自己始终觉得,大文件并不太利于维护,里数据移动等。所以还可以采用per-table表空间,但是问题又就来了,每个表的数据好像只能存储到mysql配置的数据目录内。这点自己没有找到合适的解决方案。
myisam表类型,它的index表和data表都是可以在create table的时候指定路径的。所以我们可以指定到不同的磁盘上,解决未来的数据存储瓶颈。很简单很强大。
相关文档:
1)如果你安装的是系统自带的rpm包的情况:
修改 /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
port=3300 #修改成你自己想要的端口
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_m ......
<!--#include file="zheboconn.asp"-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>asp和mysql分页代码</title>
<style type="text/css">
<!--
.STYLE3 {
fon ......
卸载Mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,卸载都从最下面的一个包开始,直到卸载掉第一个为止。执行rpm -q php,如果返回php版本, ......
1.它可以被分为三类:数字类型日期类和时间类型,字符串类型。
列类型用于描述:
M:指出最大的显示尺寸。最大的合法显示尺寸为255.
D:适用于浮点类型并之初跟随在十进制小数点后的数码的数量。最大的可能值是30,但是不应大于M.
2.方括号("[","]")指出可选的类型修饰符的部分.
*若指定了列类型为ZEROFILL,MYSQL将该 ......