mysql的ibdata1
[
2008/11/23 08:57 | by askwan ]
2008/11/23 08:57 | by askwan ]
myisam和innodb类型,用这两种存储引擎的都有不少,这次我将公司一库所有表由innodb转为myisam,很顺利,有个问题就生存了,库的体积增大了几乎一倍,原来主要是ibdata1超大,每天几十几百M的增加,现在转为myisam了,数据又重新存储了,备份和维护都挺麻烦,既然已经转为myisam了,这个文件ibdata1 和日志文件ib_logfile0 ib_logfile1都是检查文件一致性的,关闭库,删之,重启库,库体积减少一倍多,搞掂。
总结:
删除ibdata文件大致有两种方法
1.将表类型转为myisam后(其实数据已经转为文件方式存储了,数据不会丢失,不过有时候需要重新建立索引。)
删除ibdata1 ,ib_logfile0, ib_logfile1,重新启动,重建这三个文件,默认新建一个10M和2个5M大小文件,这比直接动辄10G的ibdata文件可让人轻松多了。
2.将数据库用mysqldump导出后,重新部署mysql或者删除数据库,停止库,删除三个大文件,重新启动库,在导入,耗费时间比较长。
这两种方法都需要停止数据库,大库可能需要较长时间,操作都需慎重。
总结:
删除ibdata文件大致有两种方法
1.将表类型转为myisam后(其实数据已经转为文件方式存储了,数据不会丢失,不过有时候需要重新建立索引。)
删除ibdata1 ,ib_logfile0, ib_logfile1,重新启动,重建这三个文件,默认新建一个10M和2个5M大小文件,这比直接动辄10G的ibdata文件可让人轻松多了。
2.将数据库用mysqldump导出后,重新部署mysql或者删除数据库,停止库,删除三个大文件,重新启动库,在导入,耗费时间比较长。
这两种方法都需要停止数据库,大库可能需要较长时间,操作都需慎重。
让php支持oracle 10g 数据库
[
2008/11/04 17:46 | by askwan ]
2008/11/04 17:46 | by askwan ]
Oracle对php的支持或者说php对Oracle的支持从Oracle8就开始了,本文主题是记录我在linux系统下编译php以让它可以支持连接Oracle数据库的技术细节。
本文环境为 CentOS4.4 Oracle10gR2 For Linux
假设apache和Oracle已经安装好,且假设Oracle主要的系统环境变量如下:
本文环境为 CentOS4.4 Oracle10gR2 For Linux
假设apache和Oracle已经安装好,且假设Oracle主要的系统环境变量如下:
总结一下mysql调优相关的大方向:
1.服务器硬件,软件,网络环境
磁盘读/写速度,CPU主频周期,内存带宽,网络连接速度,网络带宽等;
2.主配置文件my.cnf的各项设置
log-bin要不要打开,禁用dns查询,超时时间,文件系统外部锁,table_cache,Query_cache等
3.应用程序和基础架构
mysql复制,mysql集群,负载均衡,读写分离,大表的切割(水平切割和垂直切割)等
4.存储引擎,SQL查询,索引
根据应用选择合适存储引擎(Myisam OR INODB OR Other),设计好SQL和索引(mysql explain)
应用各种工具分析系统性能瓶颈,有针对性的调节,欢迎继续补充
1.服务器硬件,软件,网络环境
磁盘读/写速度,CPU主频周期,内存带宽,网络连接速度,网络带宽等;
2.主配置文件my.cnf的各项设置
log-bin要不要打开,禁用dns查询,超时时间,文件系统外部锁,table_cache,Query_cache等
3.应用程序和基础架构
mysql复制,mysql集群,负载均衡,读写分离,大表的切割(水平切割和垂直切割)等
4.存储引擎,SQL查询,索引
根据应用选择合适存储引擎(Myisam OR INODB OR Other),设计好SQL和索引(mysql explain)
应用各种工具分析系统性能瓶颈,有针对性的调节,欢迎继续补充





