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的时候指定路径的。所以我们可以指定到不同的磁盘上,解决未来的数据存储瓶颈。很简单很强大。
相关文档:
MySql简易笔记
1:安装http://download.mysql.cn/src/2006/0710/5543.html;
2:打开mysql的CMD
3:创建一个数据库及表:
mysql> CREATE DATABASE bbs;
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHA ......
CentOS下Mysql实现数据库主从同步
一、环境
A服务器: 192.168.10.42 主服务器master CentOS 5 Mysql 5.1.34
B服务器: 192.168.10.68 副服务器slave CentOS 5 Mysql 5.0.56
二、设置Master服务器
1、编辑Master上的/etc/my.cnf文件
......
优化MySQL服务器的配置参数,可以提高MySQL数据库的性能,但是对于配置较低的服务器来说,你无论怎么优化配置,都不会得到理想的效果,那就只能提高你硬件配置,来彻底有效地改善服务器的性能。
具体的方法如下:
一、在设置MySQL 时,应该配置其使用静态库而不是共享库。使用共享库的动态二进制系统可节省磁盘空间,但静 ......
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 ......