Submitted by yejr on 周六, 2006/09/30 - 14:21
MySQL 备份和恢复
日期:2006/10/01
本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM
和 Innodb
,文中设计的 MySQL 版本为 5.0.22。
Submitted by yejr on 周三, 2006/09/20 - 21:30
一. 启动参数优化
修改 my.cnf (或者my.ini),加入/修改以下几行
#设定缓存的连接数,节省连接时的开销
back_log = 64
#禁用文件系统外部锁
external-locking = 0
#禁用BDB,如果你确实不需要的话,innodb也是如此
skip-bdb
#索引缓冲,如果是专用的数据库服务器,可以设置高达服务器内存的一半,如果不是专用的,
#还是设置得低一点
key_buffer = 512M
#缓存数据表数量,如果内存较大,可以设置稍微高一点,否则还是设置低一点
#设置这个参数可以参见系统状态中的 open_tables(表示当前打开的数据表总数)
#和 opened_tables(表示所有打开的数据表总数)
Submitted by yejr on 周一, 2006/09/18 - 14:15
系统性能相关的MySQL变量
原文摘录自:http://forge.mysql.com/wiki/ServerVariables
Memory-Related Variables
内存相关变量
These server variables control the amount of memory allocated to the various buffers and caches within MySQL.
以下这些服务器变量控制这MySQL分配给各种缓冲或者换缓存的内存总数。
join_buffer_size
(PER SESSION) Controls the amount of memory allocated to perform joins on tables that have no keys which can be used to perform a condition filter. Allocated for each table joined without necessary filter conditions
Submitted by yejr on 周三, 2006/09/06 - 15:27
原文来自《MySQL 中文手册 5.1.x》
· 如果Unix的top工具或者Windows任务管理器显示,你的数据库的工作负荷的CPU使用率小于70%,则你的工作负荷可能是磁盘绑定的,可能你正生成太多的事务和提交,或者缓冲池太小。使得缓冲池更大一些会有帮助的,但不要设置缓冲池等于或超过物理内存的80%.
· 把数个修改放在一个事务里。如果事务对数据库修改,InnoDB在该事务提交时必须刷新日志到磁盘。因为磁盘旋转的速度至多167转/秒,如果磁盘没有骗操作系统的话,这就限制提交的数目为同样的每秒167次。
Submitted by yejr on 周二, 2006/09/05 - 12:37
原文出处: http://www.chinabsd.com/2005/11/freebsd_40_releasemysql.html,版权归原著者(坠落,飞翔)所有。
在清华BBS上看到有些朋友在 FreeBSD 4.0 Release上编译MySQL时通不过,停留在编译sql/sql_yacc.cc文件处,很长时间都通不过,有网友说编译了三个多小时都通不过,我真的很佩服他的耐心了。我也遇到了同样的问题,还有过错误的判断。通过与清华BBS的网友交流,我相信找到了问题 所在。
有网友说用ports安装就没有什么问题,但并没有进一步说明 到底是因为什么。看了一下ports中对mysql-server的说明,原来用ports编译mysql需要 一个包:libtool-1.3.3。
请看FreeBSD对libtool这个包的描述
This is GNU Libtool, a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
Submitted by yejr on 周六, 2006/09/02 - 09:16
原文来自塞迪网
金璞:各位网友大家好!我是赛迪网技术应用编辑金璞,今天本来要来的David Axmark先生和周总现在正在路上,预计可能和迟一点跟网友们见面现在我们请陈慧女士做一个自我介绍。
陈慧:我是万里开源的系统工程师陈慧,很高兴作客赛迪网。
金璞:因为David Axmark和周总还没有来,前天的时候MySQL在中国研发中心成立的时候,我当时听到您做了一个演讲,也讲了MySQL技术上的架构包括以后的发展方向之类的。今天先跟网友们讲一讲吧。
陈慧:我们万里开源是MySQL在中国唯一的代理,我们是基于Linux的平台进行发展,基于Linux开源软件的提供商。大家比较熟悉的是TurboLinux,我们这次跟MySQL的合作希望一方面向先进国家比较先进的开源软件学习一些先进经验,希望通过跟他们的合作建立一个更完善的企业级的服务器平台。
Submitted by yejr on 周四, 2006/08/31 - 22:48
Starting MySQL 4.1, MySQL had support for what is called derived tables, inline views or basically subselects in the from clause.
In MySQL 5.0 support for views was added.
从MySQL 4.1开始,它已经支持派生表、联机视图或者基本的FROM从句的子查询。
These features are quite related to each other but how do they compare in terms of performance ?
这些特性之间彼此相关,但是它们之间的性能比较如何呢?
Derived Tables in MySQL 5.0 seems to have different implementation from views, even though I would expect code base to be merged as it is quite the same task in terms of query optimization.
Submitted by yejr on 周四, 2006/08/31 - 22:45
If someone asks me about MySQL Backup advice my first question would be if they have LVM installed or have some systems with similar features set for other operation systems. Veritas File System can do it for Solaris. Most SAN systems would work as well.
如果有人问我关于MySQL备份的建议,我会先问操作系统是否安装了LVM或者其他相似功能的软件。Solaris下的Veritas文件系统也可以做到同样的功能。大多数SAN系统也可以。
What is really needed is ability to create atomic snapshot of the volume, which can be later mounted same as original file system
Submitted by yejr on 周二, 2006/08/29 - 21:09
Every so often people ask me the question how should they estimate memory consumption by MySQL Server in given configuration. What is the formula they could use.
经常有人问我配置MySQL时该如何估算内存的消耗。那么该使用什么公式来计算呢?
Submitted by yejr on 周一, 2006/08/28 - 21:43
MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。(注意,要想获得MySQL Cluster 的功能,必须安装 mysql-server 和 mysql-max RPM)。
目前能够运行MySQL Cluster 的操作系统有Linux、Mac OS X和Solaris(一些用户通报成功地在FreeBSD上运行了MySQL Cluster ,但MySQL AB公司尚未正式支持该特性)。
一、MySQL Cluster概述
页面
最近评论