﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Jiangshachina-随笔分类-MySQL</title><link>http://www.blogjava.net/jiangshachina/category/23788.html</link><description>同是Java爱好者，相逢何必曾相识！&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;a cup of Java, cheers!</description><language>zh-cn</language><lastBuildDate>Sun, 19 Jul 2015 17:45:02 GMT</lastBuildDate><pubDate>Sun, 19 Jul 2015 17:45:02 GMT</pubDate><ttl>60</ttl><item><title>MySQL: MyISAM or InnoDB?(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2009/05/31/279288.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 31 May 2009 13:41:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2009/05/31/279288.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/279288.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2009/05/31/279288.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/279288.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/279288.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">MySQL: MyISAM or InnoDB?</span></span></strong><br />
</div>
<span style="font-size: 10pt;">
通过<a href="http://www.dzone.com/links/index.html">JavaLobby</a>看到的一篇<a href="http://blog.inetu.net/2009/04/mysql-innodb-or-myisam/">博文</a>，为选择MySQL的数据表引擎提供了一些意见，希望对大家有帮助。(2009.05.31最后更新)<br />
<strong><span style="color: red;">我这个可爱的小哥哥祝可爱的小朋友们节日愉快 ^_^</span></strong><br />
<br />
&nbsp;&nbsp;&nbsp; MyISAM是MySQL的默认存储引擎，但很多人忘记还有其它的选择。决定使用哪种(哪些)存储引擎可能需要些技巧，但评估一下MyISAM是否适合你的需要还是值得的。有一组存储引擎可用，但我将只关注MyISAM和InnoDB，因为它们被用的最多。<br />
需考虑的问题：<br />
&nbsp;&nbsp;&nbsp; 你是否需要外键？<br />
&nbsp;&nbsp;&nbsp; 你是否需要事务？<br />
&nbsp;&nbsp;&nbsp; 你是否需要全文索引？<br />
&nbsp;&nbsp;&nbsp; 你的数据访问(查询)模式是什么？<br />
&nbsp;&nbsp;&nbsp; 你的数据集有多大？<br />
<br />
&nbsp;&nbsp;&nbsp; 思考上述问题将使你走入正确的方向，但有些例外。如果你使用事务或外键，就使用InnoDB。要使用全文索引，你常需选择MyISAM，因为它内建地支持这一特性；但是，MyISAM难以应对超过200万的数据行。你可以使用Sphinx以使你的InnoDB表能获取全文索引，但这需要花费一些时间。<br />
&nbsp;&nbsp;&nbsp; 数据集的大小是决定你使用哪种引擎的主要因素。由于InnoDB的事务和崩溃恢复特性，对于较大的数据集，则倾向于该引擎。然而，恢复MyISAM数据表所花费的时间由数据集的大小来衡量，但恢复InnoDB所花费的时间由事务日志的大小来衡量-而你对日志有一定的控制力。例如，相较于恢复 InnoDB数据表所需要的几分钟，你可能需要几小时甚至几天时间来恢复MyISAM数据表。<br />
&nbsp;&nbsp;&nbsp; 你读/写数据表的方式可能会极大地影响你所使用的存储引擎的性能。在MyISAM数据表中执行COUNT()会很快，但对于InnoDB数据表则十分痛苦，最好避免。在InnoDB数据表中查找主键极其的快，但要注意到，太长的主键会影响到性能。批量插入在MyISAM数据表更快些，但批量更新在 InnoDB中会较快些--特别是当进行并发增加时。<br />
&nbsp;&nbsp;&nbsp; 那么你应该选择哪种引擎呢？如果你工作在一个小项目中，那么MyISAM可能正适合你。甚至在较大环境中使用MyISAM也能获取很大的成功，但这依具体情况不同而不同。如果你计划用于非常大的数据集，并且需要事务或外键约束，那就应该直接使用InnoDB。但需要记住，相较于MyISAM，InnoDB 数据表需要很大的内存和存储空间。将100GB的MyISAM数据表转化成InnoDB数据表就会表现得令人吃惊的坏。<br />
<br />
</span>
<img src ="http://www.blogjava.net/jiangshachina/aggbug/279288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2009-05-31 21:41 <a href="http://www.blogjava.net/jiangshachina/archive/2009/05/31/279288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL索引(摘)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/07/03/127728.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 03 Jul 2007 00:44:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/07/03/127728.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/127728.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/07/03/127728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/127728.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/127728.html</trackback:ping><description><![CDATA[<div style="text-align: center;"><span style="font-size: 12pt; font-weight: bold;"><span style="font-size: 14pt;">MySQL索引</span></span><br />
</div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 本文介绍了数据库索引，及其优、缺点。针对MySQL索引的特点、应用进行了详细的描述。分析了如何避免MySQL无法使用，如何使用EXPLAIN分析查询语句，如何优化MySQL索引的应用。本文摘自《MySQL 5权威指南》(3rd)的8.9节。(2007.07.05最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分)，它们包含着对数据表里所有记录的引用指针。<br />
&nbsp;&nbsp;&nbsp; 注：[1]索引不是万能的！索引可以加快数据检索操作，但会使数据修改操作变慢。每修改数据记录，索引就必须刷新一次。为了在某种程序上弥补这一缺陷，许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新，对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合，DELAY_KEY_WRITE选项的作用将非常明显。[2]另外，索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意，如果某个数据列包含许多重复的内容，为它建立索引就没有太大的实际效果。<br />
&nbsp;&nbsp;&nbsp; 从理论上讲，完全可以为数据表里的每个字段分别建一个索引，但MySQL把同一个数据表里的索引总数限制为16个。<br />
&nbsp;&nbsp;&nbsp; 1. InnoDB数据表的索引<br />
&nbsp;&nbsp;&nbsp; 与MyISAM数据表相比，索引对InnoDB数据的重要性要大得多。在InnoDB数据表上，索引对InnoDB数据表的重要性要在得多。在InnoDB数据表上，索引不仅会在搜索数据记录时发挥作用，还是数据行级锁定机制的苊、基础。"数据行级锁定"的意思是指在事务操作的执行过程中锁定正在被处理的个别记录，不让其他用户进行访问。这种锁定将影响到(但不限于)SELECT...LOCK IN SHARE MODE、SELECT...FOR UPDATE命令以及INSERT、UPDATE和DELETE命令。<br />
&nbsp;&nbsp;&nbsp; 出于效率方面的考虑，InnoDB数据表的数据行级锁定实际发生在它们的索引上，而不是数据表自身上。显然，数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。<br />
&nbsp;&nbsp;&nbsp; 2. 限制<br />
&nbsp;&nbsp;&nbsp; 如果WEHERE子句的查询条件里有不等号(WHERE coloum != ...)，MySQL将无法使用索引。<br />
&nbsp;&nbsp;&nbsp; 类似地，如果WHERE子句的查询条件里使用了函数(WHERE DAY(column) = ...)，MySQL也将无法使用索引。<br />
&nbsp;&nbsp;&nbsp; 在JOIN操作中(需要从多个数据表提取数据时)，MySQL只有在主键和外键的数据类型相同时才能使用索引。<br />
&nbsp;&nbsp;&nbsp; 如果WHERE子句的查询条件里使用比较操作符LIKE和REGEXP，MySQL只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说，如果查询条件是LIKE 'abc%'，MySQL将使用索引；如果查询条件是LIKE '%abc'，MySQL将不使用索引。<br />
&nbsp;&nbsp;&nbsp; 在ORDER BY操作中，MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此，在涉及多个数据表查询里，即使有索引可用，那些索引在加快ORDER BY方面也没什么作用)<br />
&nbsp;&nbsp;&nbsp; 如果某个数据列里包含许多重复的值，就算为它建立了索引也不会有很好的效果。比如说，如果某个数据列里包含的净是些诸如"0/1"或"Y/N"等值，就没有必要为它创建一个索引。<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 普通索引、唯一索引和主索引<br />
&nbsp;&nbsp;&nbsp; 1. 普通索引<br />
&nbsp;&nbsp;&nbsp; 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此，应该只为那些最经常出现在查询条件(WHERE column = ...)或排序条件(ORDER BY column)中的数据列创建索引。只要有可能，就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。<br />
&nbsp;&nbsp;&nbsp; 2. 唯一索引<br />
&nbsp;&nbsp;&nbsp; 普通索引允许被索引的数据列包含重复的值。比如说，因为人有可能同名，所以同一个姓名在同一个"员工个人资料"数据表里可能出现两次或更多次。<br />
&nbsp;&nbsp;&nbsp; 如果能确定某个数据列将只包含彼此各不相同的值，在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做的好处：一是简化了MySQL对这个索引的管理工作，这个索引也因此而变得更有效率；二是MySQL会在有新记录插入数据表时，自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了；如果是，MySQL将拒绝插入那条新记录。也就是说，唯一索引可以保证数据记录的唯一性。事实上，在许多场合，人们创建唯一索引的目的往往不是为了提高访问速度，而只是为了避免数据出现重复。<br />
&nbsp;&nbsp;&nbsp; 3. 主索引<br />
&nbsp;&nbsp;&nbsp; 在前面已经反复多次强调过：必须为主键字段创建一个索引，这个索引就是所谓的"主索引"。主索引与唯一索引的唯一区别是：前者在定义时使用的关键字是PRIMARY而不是UNIQUE。<br />
&nbsp;&nbsp;&nbsp; 4. 外键索引<br />
&nbsp;&nbsp;&nbsp; 如果为某个外键字段定义了一个外键约束条件，MySQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。<br />
&nbsp;&nbsp;&nbsp; 5. 复合索引<br />
&nbsp;&nbsp;&nbsp; 索引可以覆盖多个数据列，如像INDEX(columnA, columnB)索引。这种索引的特点是MySQL可以有选择地使用一个这样的索引。如果查询操作只需要用到columnA数据列上的一个索引，就可以使用复合索引INDEX(columnA, columnB)。不过，这种用法仅适用于在复合索引中排列在前的数据列组合。比如说，INDEX(A, B, C)可以当做A或(A, B)的索引来使用，但不能当做B、C或(B, C)的索引来使用。<br />
&nbsp;&nbsp;&nbsp; 6. 索引的长度<br />
&nbsp;&nbsp;&nbsp; 在为CHAR和VARCHAR类型的数据列定义索引时，可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大字符个数)。这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。在绝大多数应用里，数据库中的字符串数据大都以各种各样的名字为主，把索引的长度设置为10~15个字符已经足以把搜索范围缩小到很少的几条数据记录了。<br />
&nbsp;&nbsp;&nbsp; 在为BLOB和TEXT类型的数据列创建索引时，必须对索引的长度做出限制；MySQL所允许的最大索引长度是255个字符。<br />
<br />
&nbsp;&nbsp;&nbsp; 全文索引<br />
&nbsp;&nbsp;&nbsp; 文本字段上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索操作。如果字段里存放的是由几个、甚至是多个单词构成的较大段文字，普通索引就没什么作用了。这种检索往往以LIKE %word%的形式出现，这对MySQL来说很复杂，如果需要处理的数据量很大，响应时间就会很长。<br />
&nbsp;&nbsp;&nbsp; 这类场合正是全文索引(full-text index)可以大显身手的地方。在生成这种类型的索引时，MySQL将把在文本中出现的所有单词创建为一份清单，查询操作将根据这份清单去检索有关的数据记录。全文索引即可以随数据表一同创建，也可以等日后有必要时再使用下面这条命令添加：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ALTER TABLE tablename ADD FULLTEXT(column1, column2)<br />
&nbsp;&nbsp;&nbsp; 有了全文索引，就可以用SELECT查询命令去检索那些包含着一个或多个给定单词的数据记录了。下面是这类查询命令的基本语法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT * FROM tablename<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE MATCH(column1, column2) AGAINST('word1', 'word2', 'word3')<br />
&nbsp;&nbsp;&nbsp; 上面这条命令将把column1和column2字段里有word1、word2和word3的数据记录全部查询出来。<br />
&nbsp;&nbsp;&nbsp; 注解：InnoDB数据表不支持全文索引。<br />
<br />
&nbsp;&nbsp;&nbsp; 查询和索引的优化<br />
&nbsp;&nbsp;&nbsp; 只有当数据库里已经有了足够多的测试数据时，它的性能测试结果才有实际参考价值。如果在测试数据库里只有几百条数据记录，它们往往在执行完第一条查询命令之后就被全部加载到内存里，这将使后续的查询命令都执行得非常快--不管有没有使用索引。只有当数据库里的记录超过了1000条、数据总量也超过了MySQL服务器上的内存总量时，数据库的性能测试结果才有意义。<br />
&nbsp;&nbsp;&nbsp; 在不确定应该在哪些数据列上创建索引的时候，人们从EXPLAIN SELECT命令那里往往可以获得一些帮助。这其实只是简单地给一条普通的SELECT命令加一个EXPLAIN关键字作为前缀而已。有了这个关键字，MySQL将不是去执行那条SELECT命令，而是去对它进行分析。MySQL将以表格的形式把查询的执行过程和用到的索引(如果有的话)等信息列出来。<br />
&nbsp;&nbsp;&nbsp; 在EXPLAIN命令的输出结果里，第1列是从数据库读取的数据表的名字，它们按被读取的先后顺序排列。type列指定了本数据表与其它数据表之间的关联关系(JOIN)。在各种类型的关联关系当中，效率最高的是system，然后依次是const、eq_ref、ref、range、index和All(All的意思是：对应于上一级数据表里的每一条记录，这个数据表里的所有记录都必须被读取一遍--这种情况往往可以用一索引来避免)。<br />
&nbsp;&nbsp;&nbsp; possible_keys数据列给出了MySQL在搜索数据记录时可选用的各个索引。key数据列是MySQL实际选用的索引，这个索引按字节计算的长度在key_len数据列里给出。比如说，对于一个INTEGER数据列的索引，这个字节长度将是4。如果用到了复合索引，在key_len数据列里还可以看到MySQL具体使用了它的哪些部分。作为一般规律，key_len数据列里的值越小越好(意思是更快)。<br />
&nbsp;&nbsp;&nbsp; ref数据列给出了关联关系中另一个数据表里的数据列的名字。row数据列是MySQL在执行这个查询时预计会从这个数据表里读出的数据行的个数。row数据列里的所有数字的乘积可以让我们大致了解这个查询需要处理多少组合。<br />
&nbsp;&nbsp;&nbsp; 最后，extra数据列提供了与JOIN操作有关的更多信息，比如说，如果MySQL在执行这个查询时必须创建一个临时数据表，就会在extra列看到using temporary字样。<br />
<br />
</span>       
<img src ="http://www.blogjava.net/jiangshachina/aggbug/127728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-07-03 08:44 <a href="http://www.blogjava.net/jiangshachina/archive/2007/07/03/127728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>My.cnf配置选项(摘)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/05/23/119308.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Wed, 23 May 2007 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/05/23/119308.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/119308.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/05/23/119308.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/119308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/119308.html</trackback:ping><description><![CDATA[<div style="text-align: center;"><span style="font-size: 12pt; font-weight: bold;"><span style="font-size: 14pt;"><span style="font-size: 14pt;">My.cnf配置选项</span></span></span><br />
</div>
<span style="font-size: 10pt;">本文中的配置都是从《MySQL5权威指南(3rd)》中摘抄出来的，个人认为对于使用MySQL十分有用。放在此处方便自己随时查阅，也希望对其他朋友有所助益。(2007.05.30最后更新)<br />
<br />
mysqld程序--目录和文件<br />
basedir = path&nbsp; 使用给定目录作为根目录(安装目录)。<br />
character-sets-dir = path&nbsp; 给出存放着字符集的目录。<br />
datadir = path&nbsp; 从给定目录读取数据库文件。<br />
pid-file = filename&nbsp; 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。<br />
socket = filename&nbsp; 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/mysql.sock文件)。<br />
&nbsp;&nbsp;&nbsp; 在Windows环境下，如果MySQL客户与服务器是通过命名管道进行通信的，--sock选项给出的将是该命名管道的名字(默认设置是MySQL)。<br />
lower_case_table_name = 1/0&nbsp; 新目录和数据表的名字是否只允许使用小写字母; 这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。<br />
<br />
mysqld程序--语言设置<br />
character-sets-server = name&nbsp; 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容，这个字符集也可以用--default-character-set选项给出; 但这个选项已经显得有点过时了。<br />
collation-server = name&nbsp; 新数据库或数据表的默认排序方式。<br />
lanuage = name&nbsp; 用指定的语言显示出错信息。<br />
<br />
mysqld程序--通信、网络、信息安全<br />
enable-named-pipes&nbsp; 允许Windows 2000/XP环境下的客户和服务器使用命名管道(named pipe)进行通信。这个命名管道的默认名字是MySQL，但可以用--socket选项来改变。<br />
local-infile [=0]&nbsp; 允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。<br />
myisam-recover [=opt1, opt2, ...]&nbsp; 在启动时自动修复所有受损的MyISAM数据表。这个选项的可取值有4种:DEFAULT、BACKUP、QUICK和FORCE; 它们与myisamchk程序的同名选项作用相同。<br />
old-passwords&nbsp; 使用MySQL 3.23和4.0版本中的老算法来加密mysql数据库里的密码(默认使用MySQL 4.1版本开始引入的新加密算法)。<br />
port = n&nbsp; 为MySQL程序指定一个TCP/IP通信端口(通常是3306端口)。<br />
safe-user-create&nbsp; 只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT命令; 这是一种双保险机制(此用户还必须具备GRANT权限才能执行GRANT命令)。<br />
shared-memory&nbsp; 允许使用内存(shared memory)进行通信(仅适用于Windows)。<br />
shared-memory-base-name = name&nbsp; 给共享内存块起一个名字(默认的名字是MySQL)。<br />
skip-grant-tables&nbsp; 不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何用户去修改任何数据库)。<br />
skip-host-cache&nbsp; 不使用高速缓存区来存放主机名和IP地址的对应关系。<br />
skip-name-resovle&nbsp; 不把IP地址解析为主机名; 与访问控制(mysql.user数据表)有关的检查全部通过IP地址行进。<br />
skip-networking&nbsp;
只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接，不允许ICP/IP连接;
这提高了安全性，但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。<br />
user = name&nbsp; mysqld程序在启动后将在给定UNIX/Linux账户下执行; mysqld必须从root账户启动才能在启动后切换到另一个账户下执行; mysqld_safe脚本将默认使用--user=mysql选项来启动mysqld程序。<br />
<br />
mysqld程序--内存管理、优化、查询缓存区<br />
bulk_insert_buffer_size = n&nbsp; 为一次插入多条新记录的INSERT命令分配的缓存区长度(默认设置是8M)。<br />
key_buffer_size = n&nbsp; 用来存放索引区块的RMA值(默认设置是8M)。<br />
join_buffer_size = n&nbsp; 在参加JOIN操作的数据列没有索引时为JOIN操作分配的缓存区长度(默认设置是128K)。<br />
max_heap_table_size = n&nbsp; HEAP数据表的最大长度(默认设置是16M); 超过这个长度的HEAP数据表将被存入一个临时文件而不是驻留在内存里。<br />
max_connections = n&nbsp; MySQL服务器同时处理的数据库连接的最大数量(默认设置是100)。<br />
query_cache_limit = n&nbsp; 允许临时存放在查询缓存区里的查询结果的最大长度(默认设置是1M)。<br />
query_cache_size = n&nbsp; 查询缓存区的最大长度(默认设置是0，不开辟查询缓存区)。<br />
query_cache_type = 0/1/2&nbsp; 查询缓存区的工作模式:0, 禁用查询缓存区; 1，启用查询缓存区(默认设置); 2，"按需分配"模式，只响应SELECT SQL_CACHE命令。<br />
read_buffer_size = n&nbsp; 为从数据表顺序读取数据的读操作保留的缓存区的长度(默认设置是128KB); 这个选项的设置值在必要时可以用SQL命令SET SESSION read_buffer_size = n命令加以改变。<br />
read_rnd_buffer_size = n&nbsp; 类似于read_buffer_size选项，但针对的是按某种特定顺序(比如使用了ORDER BY子句的查询)输出的查询结果(默认设置是256K)。<br />
sore_buffer = n&nbsp; 为排序操作分配的缓存区的长度(默认设置是2M); 如果这个缓存区太小，则必须创建一个临时文件来进行排序。<br />
table_cache = n&nbsp; 同时打开的数据表的数量(默认设置是64)。<br />
tmp_table_size = n&nbsp; 临时HEAP数据表的最大长度(默认设置是32M); 超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。<br />
<br />
mysqld程序--日志<br />
log [= file]&nbsp; 把所有的连接以及所有的SQL命令记入日志(通用查询日志); 如果没有给出file参数，MySQL将在数据库目录里创建一个hostname.log文件作为这种日志文件(hostname是服务器的主机名)。<br />
log-slow-queries
[= file]&nbsp; 把执行用时超过long_query_time变量值的查询命令记入日志(慢查询日志);
如果没有给出file参数，MySQL将在数据库目录里创建一个hostname-slow.log文件作为这种日志文件(hostname是服务器主机
名)。<br />
long_query_time = n&nbsp; 慢查询的执行用时上限(默认设置是10s)。<br />
long_queries_not_using_indexs&nbsp; 把慢查询以及执行时没有使用索引的查询命令全都记入日志(其余同--log-slow-queries选项)。<br />
log-bin
[= filename]&nbsp;
把对数据进行修改的所有SQL命令(也就是INSERT、UPDATE和DELETE命令)以二进制格式记入日志(二进制变更日志，binary
update log)。这种日志的文件名是filename.n或默认的hostname.n，其中n是一个6位数字的整数(日志文件按顺序编号)。<br />
log-bin-index = filename&nbsp; 二进制日志功能的索引文件名。在默认情况下，这个索引文件与二进制日志文件的名字相同，但后缀名是.index而不是.nnnnnn。<br />
max_binlog_size = n&nbsp; 二进制日志文件的最大长度(默认设置是1GB)。在前一个二进制日志文件里的信息量超过这个最大长度之前，MySQL服务器会自动提供一个新的二进制日志文件接续上。<br />
binlog-do-db = dbname&nbsp; 只把给定数据库里的变化情况记入二进制日志文件，其他数据库里的变化情况不记载。如果需要记载多个数据库里的变化情况，就必须在配置文件使用多个本选项来设置，每个数据库一行。<br />
binlog-ignore-db = dbname&nbsp; 不把给定数据库里的变化情况记入二进制日志文件。<br />
sync_binlog = n&nbsp; 每经过n次日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法，但效率最低。默认设置是n=0，意思是由操作系统来负责二进制日志文件的同步工作。<br />
log-update [= file]&nbsp; 记载出错情况的日志文件名(出错日志)。这种日志功能无法禁用。如果没有给出file参数，MySQL会使用hostname.err作为种日志文件的名字。<br />
<br />
mysqld程序--镜像(主控镜像服务器)<br />
server-id = n&nbsp; 给服务器分配一个独一无二的ID编号; n的取值范围是1~2的32次方启用二进制日志功能。<br />
log-bin = name&nbsp; 启用二进制日志功能。这种日志的文件名是filename.n或默认的hostname.n，其中的n是一个6位数字的整数(日志文件顺序编号)。<br />
binlog-do/ignore-db = dbname&nbsp; 只把给定数据库里的变化情况记入二进制日志文件/不把给定的数据库里的变化记入二进制日志文件。<br />
<br />
mysqld程序--镜像(从属镜像服务器)<br />
server-id = n&nbsp; 给服务器分配一个唯一的ID编号<br />
log-slave-updates&nbsp; 启用从属服务器上的日志功能，使这台计算机可以用来构成一个镜像链(A-&gt;B-&gt;C)。<br />
master-host = hostname&nbsp; 主控服务器的主机名或IP地址。如果从属服务器上存在mater.info文件(镜像关系定义文件)，它将忽略此选项。<br />
master-user = replicusername&nbsp; 从属服务器用来连接主控服务器的用户名。如果从属服务器上存在mater.info文件，它将忽略此选项。<br />
master-password = passwd&nbsp; 从属服务器用来连接主控服务器的密码。如果从属服务器上存在mater.info文件，它将忽略此选项。<br />
master-port = n&nbsp; 从属服务器用来连接主控服务器的TCP/IP端口(默认设置是3306端口)。<br />
master-connect-retry = n&nbsp; 如果与主控服务器的连接没有成功，则等待n秒(s)后再进行管理方式(默认设置是60s)。如果从属服务器存在mater.info文件，<br />
&nbsp;&nbsp;&nbsp; 它将忽略此选项。<br />
master-ssl-xxx = xxx&nbsp; 对主、从服务器之间的SSL通信进行配置。<br />
read-only = 0/1&nbsp; 0: 允许从属服务器独立地执行SQL命令(默认设置); 1: 从属服务器只能执行来自主控服务器的SQL命令。<br />
read-log-purge = 0/1&nbsp; 1: 把处理完的SQL命令立刻从中继日志文件里删除(默认设置); 0: 不把处理完的SQL命令立刻从中继日志文件里删除。<br />
replicate-do-table = dbname.tablename&nbsp; 与--replicate-do-table选项的含义和用法相同，但数据库和数据库表名字里允许出现通配符"%"<br />
&nbsp;&nbsp;&nbsp; (例如: test%.%--对名字以"test"开头的所有数据库里的所以数据库表进行镜像处理)。<br />
replicate-do-db = name&nbsp; 只对这个数据库进行镜像处理。<br />
replicate-ignore-table = dbname.tablename&nbsp; 不对这个数据表进行镜像处理。<br />
replicate-wild-ignore-table = dbn.tablen&nbsp; 不对这些数据表进行镜像处理。<br />
replicate-ignore-db = dbname&nbsp; 不对这个数据库进行镜像处理。<br />
replicate-rewrite-db = db1name &gt; db2name&nbsp; 把主控数据库上的db1name数据库镜像处理为从属服务器上的db2name数据库。<br />
report-host = hostname&nbsp; 从属服务器的主机名; 这项信息只与SHOW SLAVE HOSTS命令有关--主控服务器可以用这条命令生成一份从属服务器的名单。<br />
slave-compressed-protocol = 1&nbsp; 主、从服务器使用压缩格式进行通信--如果它们都支持这么做的话。<br />
slave-skip-errors = n1, n2, ...或all&nbsp; 即使发生出错代码为n1、n2等的错误，镜像处理工作也继续进行(即不管发生什么错误，镜像处理工作也继续进行)。<br />
&nbsp;&nbsp;&nbsp; 如果配置得当，从属服务器不应该在执行SQL命令时发生错误(在主控服务器上执行出错的SQL命令不会被发送到从属服务器上做镜像处理); 如果不使用<br />
&nbsp;&nbsp;&nbsp; slave-skip-errors选项，从属服务器上的镜像工作就可能国为发生错误而中断，中断后需要有人工参与才能继续进行。<br />
<br />
mysqld--InnoDB--基本设置、表空间文件<br />
skip-innodb&nbsp; 不加载InnoDB数据表驱动程序--如果用不着InnoDB数据表，可以用这个选项节省一些内存。<br />
innodb-file-per-table&nbsp; 为每一个新数据表创建一个表空间文件而不是把数据表都集中保存在中央表空间里(后者是默认设置)。该选项始见于MySQL 4.1。<br />
innodb-open-file = n&nbsp; InnoDB数据表驱动程序最多可以同时打开的文件数(默认设置是300)。如果使用了innodb-file-per-table选项并且需要同时打开很多<br />
&nbsp;&nbsp;&nbsp; 数据表的话，这个数字很可能需要加大。<br />
innodb_data_home_dir = p&nbsp; InnoDB主目录，所有与InnoDB数据表有关的目录或文件路径都相对于这个路径。在默认的情况下，这个主目录就是MySQL的数据目录。<br />
innodb_data_file_path = ts&nbsp; 用来容纳InnoDB为数据表的表空间: 可能涉及一个以上的文件; 每一个表空间文件的最大长度都必须以字节(B)、兆字节(MB)或<br />
&nbsp;&nbsp;&nbsp; 千兆字节(GB)为单位给出; 表空间文件的名字必须以分号隔开; 最后一个表空间文件还可以带一个autoextend属性和一个最大长度(max:n)。<br />
&nbsp;&nbsp;&nbsp; 例如，ibdata1:1G; ibdata2:1G:autoextend:max:2G的意思是: 表空间文件ibdata1的最大长度是1GB，ibdata2的最大长度也是1G，但允许它扩充到2GB。<br />
&nbsp;&nbsp;&nbsp; 除文件名外，还可以用硬盘分区的设置名来定义表空间，此时必须给表空间的最大初始长度值加上newraw关键字做后缀，给表空间的最大扩充长度值加上<br />
&nbsp;&nbsp;&nbsp; raw关键字做后缀(例如/dev/hdb1:20Gnewraw或/dev/hdb1:20Graw); MySQL 4.0及更高版本的默认设置是ibdata1:10M:autoextend。<br />
innodb_autoextend_increment = n&nbsp; 带有autoextend属性的表空间文件每次加大多少兆字节(默认设置是8MB)。这个属性不涉及具体的数据表文件，那些文件的<br />
&nbsp;&nbsp;&nbsp; 增大速度相对是比较小的。<br />
innodb_lock_wait_timeout = n&nbsp; 如果某个事务在等待n秒(s)后还没有获得所需要的资源，就使用ROLLBACK命令放弃这个事务。这项设置对于发现和处理未能被<br />
&nbsp;&nbsp;&nbsp; InnoDB数据表驱动程序识别出来的死锁条件有着重要的意义。这个选项的默认设置是50s。<br />
innodb_fast_shutdown 0/1&nbsp; 是否以最快的速度关闭InnoDB，默认设置是1，意思是不把缓存在INSERT缓存区的数据写入数据表，那些数据将在MySQL服务器下次<br />
&nbsp;&nbsp;&nbsp; 启动时再写入(这么做没有什么风险，因为INSERT缓存区是表空间的一个组成部分，数据不会丢失)。把这个选项设置为0反面危险，因为在计算机关闭时，<br />
&nbsp;&nbsp;&nbsp; InnoDB驱动程序很可能没有足够的时间完成它的数据同步工作，操作系统也许会在它完成数据同步工作之前强行结束InnoDB，而这会导致数据不完整。<br />
<br />
mysqld程序--InnoDB--日志<br />
innodb_log_group_home_dir = p&nbsp; 用来存放InnoDB日志文件的目录路径(如ib_logfile0、ib_logfile1等)。在默认的情况下，InnoDB驱动程序将使用MySQL数据目<br />
&nbsp;&nbsp;&nbsp; 录作为自己保存日志文件的位置。&nbsp;&nbsp;&nbsp; <br />
innodb_log_files_in_group = n&nbsp; 使用多少个日志文件(默认设置是2)。InnoDB数据表驱动程序将以轮转方式依次填写这些文件; 当所有的日志文件都写满以后，<br />
&nbsp;&nbsp;&nbsp; 之后的日志信息将写入第一个日志文件的最大长度(默认设置是5MB)。这个长度必须以MB(兆字节)或GB(千兆字节)为单位进行设置。<br />
innodb_flush_log_at_trx_commit = 0/1/2&nbsp; 这个选项决定着什么时候把日志信息写入日志文件以及什么时候把这些文件物理地写(术语称为"同步")到硬盘上。<br />
&nbsp;&nbsp;&nbsp; 设置值0的意思是每隔一秒写一次日志并进行同步，这可以减少硬盘写操作次数，但可能造成数据丢失; 设置值1(设置设置)的意思是在每执行完一条COMMIT<br />
&nbsp;&nbsp;&nbsp; 命令就写一次日志并进行同步，这可以防止数据丢失，但硬盘写操作可能会很频繁; 设置值2是一般折衷的办法，即每执行完一条COMMIT命令写一次日志，<br />
&nbsp;&nbsp;&nbsp; 每隔一秒进行一次同步。<br />
innodb_flush_method = x&nbsp; InnoDB日志文件的同步办法(仅适用于UNIX/Linux系统)。这个选项的可取值有两种: fdatasync，用fsync()函数进行同步; O_DSYNC，<br />
&nbsp;&nbsp;&nbsp; 用O_SYNC()函数进行同步。<br />
innodb_log_archive = 1&nbsp; 启用InnoDB驱动程序的archive(档案)日志功能，把日志信息写入ib_arch_log_n文件。启用这种日志功能在InnoDB与MySQL一起使用时没有<br />
&nbsp;&nbsp;&nbsp; 多大意义(启用MySQL服务器的二进制日志功能就足够用了)。<br />
<br />
mysqld程序--InnoDB--缓存区的设置和优化<br />
innodb_log_buffer_pool_size = n&nbsp; 为InnoDB数据表及其索引而保留的RAM内存量(默认设置是8MB)。这个参数对速度有着相当大的影响，如果计算机上只运行有<br />
&nbsp;&nbsp;&nbsp; MySQL/InnoDB数据库服务器，就应该把全部内存的80%用于这个用途。<br />
innodb_log_buffer_size = n&nbsp; 事务日志文件写操作缓存区的最大长度(默认设置是1MB)。<br />
innodb_additional_men_pool_size = n&nbsp; 为用于内部管理的各种数据结构分配的缓存区最大长度(默认设置是1MB)。<br />
innodb_file_io_threads = n&nbsp; I/O操作(硬盘写操作)的最大线程个数(默认设置是4)。<br />
innodb_thread_concurrency = n&nbsp; InnoDB驱动程序能够同时使用的最大线程个数(默认设置是8)。<br />
<br />
mysqld程序--其它选项<br />
bind-address = ipaddr&nbsp; MySQL服务器的IP地址。如果MySQL服务器所在的计算机有多个IP地址，这个选项将非常重要。<br />
default-storage-engine = type&nbsp; 新数据表的默认数据表类型(默认设置是MyISAM)。这项设置还可以通过--default-table-type选项来设置。<br />
default-timezone = name&nbsp; 为MySQL服务器设置一个地理时区(如果它与本地计算机的地理时区不一样)。<br />
ft_min_word_len = n&nbsp; 全文索引的最小单词长度工。这个选项的默认设置是4，意思是在创建全文索引时不考虑那些由3个或更少的字符构建单词。<br />
Max-allowed-packet = n&nbsp; 客户与服务器之间交换的数据包的最大长度，这个数字至少应该大于客户程序将要处理的最大BLOB块的长度。这个选项的默认设置是1MB。<br />
Sql-mode = model1, mode2, ...&nbsp; MySQL将运行在哪一种SQL模式下。这个选项的作用是让MySQL与其他的数据库系统保持最大程度的兼容。这个选项的可取值包括<br />
&nbsp;&nbsp;&nbsp; ansi、db2、oracle、no_zero_date、pipes_as_concat。<br />
<br />
注意：如果在配置文件里给出的某个选项是mysqld无法识别的(如，因为犯了一个愚蠢的打字错误)，MySQL服务器将不启动。<br />
<br />
</span>
<img src ="http://www.blogjava.net/jiangshachina/aggbug/119308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-05-23 09:26 <a href="http://www.blogjava.net/jiangshachina/archive/2007/05/23/119308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache2+MySQL5+PHP5安装(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/01/02/91369.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 02 Jan 2007 05:48:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/01/02/91369.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/91369.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/01/02/91369.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/91369.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/91369.html</trackback:ping><description><![CDATA[<div align="center">
<strong><span style="font-size: 14pt;"><strong>在Linux上安装Apache2+MySQL5+PHP5</strong>
</span></strong><br />
</div>
<font size="2">最近由于工作原因，在RedHat AS 4.0上安装了Apache2+MySQL5+PHP5。现将安装使用的命令记录，以备日后查询，也希望对其他朋友有帮助。(2007.10.17最后更新)<br />
&nbsp;&nbsp;&nbsp; 使用Apache2.0.59，MySQL5.0.16和PHP5.1.4的源代码包进行安装。假设这三源代码安装包已经解压，且路径分别为:<font color="#0000ff">/home/jiang/tools/httpd-2.0.59</font>，</font>
<font color="#0000ff" size="2">/home/jiang/tools/mysql-5.0.16</font>
<font size="2">和</font>
<font size="2">
<font color="#0000ff">/home/jiang/tools/php-5.1.4</font>。而且它们的安装目标路径分别为：<font color="#0000ff">/usr/local/apache2</font>，<font color="#0000ff">/usr/local/mysql5</font>和<font color="#0000ff">/usr/local/php5</font>。</font>
<br />
<font size="2">
<strong>1. 安装Apache2</strong>
<br />
进入</font>
<font size="2">
<font color="#0000ff">/home/jiang/tools/httpd-2.0.59</font>目录，执行如下命令：</font>
<br />
<font color="#0000ff" size="2">#./configure<br />
--prefix=</font><font color="#0000ff" size="2">/usr/local/apache2<font color="#000000">&nbsp; -- 设置Apache安装目标目录</font></font>
<font color="#0000ff">
<br />
</font>
<font size="2">
<font color="#0000ff">--enable-so<br />
--enable-vhost-alias<br />
--enable-rewrite<br />
--enable-deflate<br />
--with-mpm=worker<br />
#make<br />
#make install</font>
<br />
编辑文件/usr/local/apache2/conf/httpd.conf：<br />
[1]查找元素<font color="#0000ff">DocumentRoot</font>，它的值默认为/usr/local/apache2/htdocs<br />
[2]查找元素<font color="#0000ff">DirectoryIndex</font>，在这一项可以添加实际应用中需要的首页文件名<br />
<br />
启动/关闭Apache服务器：<br />
进入<font color="#0000ff">/usr/local/apache2/bin</font>目录，执行命令<font color="#0000ff">./apachectl start</font>(启动服务器)或<font color="#0000ff">./apachectl stop</font>(关闭服务器)。<br />
<br />
<strong>2. 安装MySQL5</strong><br />
<font color="#0000ff">#</font></font>
<font color="#0000ff">
</font>
<font color="#0000ff" size="2">groupadd </font>
<font color="#0000ff" size="2">mysql<font color="#000000">&nbsp; -- 添加组mysql</font><br />
#</font>
<font color="#0000ff">
</font>
<font color="#0000ff" size="2">useradd </font>
<font color="#0000ff" size="2">-g mysql mysql<font color="#000000">&nbsp; -- 添加用户mysql，并将它放入组mysql中</font><br />
<font color="#000000">进入</font></font>
<font color="#000000" size="2">
<font color="#0000ff">/home/jiang/tools/mysql-5.0.16</font>目录，执行如下命令：</font>
<font color="#0000ff">
<br />
</font>
<font size="2">
<font color="#0000ff">#./configure<br />
--prefix=/path_to_mysql5<font color="#000000">&nbsp; -- 设置MySQL安装目标目录</font><br />
--with-charset=utf8<font color="#000000">&nbsp; -- 设置默认字符集为utf8</font><br />
#make<br />
#make install<br />
#./scripts/mysql_install_db<font color="#000000">&nbsp; -- 初始化MySQL数据库</font><br />
<font color="#000000">进入<font color="#0000ff">/usr/local</font>目录，执行如下命令：</font><br />
#chown -R mysql.mysql mysql5<font color="#000000"> -- 将/usr/local/mysql5目录及其子目录的属主赋予mysql用户</font></font>
<br />
在<font color="#0000ff">/home/jiang/tools/mysql-5.0.16/support-files</font></font>
<font size="2">目录</font>
<font size="2">中选择一个合适的<font color="#0000ff">.cnf</font>文件放入<font color="#0000ff">/etc</font>目录中，并将文件修改为<font color="#0000ff">my.cnf</font>。然后编辑该文件，使它更能切合实际的应用。<br />
<br />
启动/关闭服务器：<br />
进入<font color="#0000ff">/usr/local/mysql5/bin</font>目录，执行命令<font color="#0000ff">./mysqld_safe -u mysql</font>(用mysql用户启动服务器)或<font color="#0000ff">./mysqladmin -uroot shutdown</font>(关闭服务器)。<br />
<br />
<strong>3. 安装PHP5</strong><br />
<font color="#0000ff"><font color="#000000">进入/home/jiang/tools/php-5.1.4目录，执行如下命令：</font><br />
#./configure<br />
--prefix=/usr/local/php5<br />
--enable-mbstring<font color="#000000">&nbsp; -- 根据应用的需要，添加mbstring模块</font><br />
--with-apxs2=/usr/local/apache2/bin/apxs<br />
--with-apache2=/home/jiang/tools/httpd-2.0.59<br />
--with-png<br />
--with-zlib<br />
--with-config-file-path=/usr/local/php5/lib<br />
--with-mysql=/usr/local/mysql5<br />
--with-mysqli=/home/jiang/tools/mysql-5.0.16/scripts/mysql_config<font color="#000000">&nbsp; -- 根据应用的需要，添加mysqli模块</font></font><br />
<font color="#0000ff">#make<br />
#make install</font><br />
将<font color="#0000ff">/home/jiang/tools/php-5.1.4/php.ini-recommended</font>文件放入<font color="#0000ff">/usr/local/php5/lib</font>目录中，并将文件名修改为<font color="#0000ff">php.ini</font>。<br />
查看<span style="color: #0010ff;">/usr/local/php5/lib/php.ini</span>文件，看参数<span style="color: #0010ff;">short_open_tag</span>的值是否为<span style="color: #0010ff;">On</span>。如果是<span style="color: #0010ff;">Off</span>，请修改为<span style="color: #0010ff;">On</span>。<br />
<br />
查看<font color="#0000ff">/usr/local/apache2/conf/httpd.conf</font>文件，看是否存在语句：<br />
<font color="#0000ff">LoadModule php5_module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; modules/libphp5.so</font><br />
如果存在，即说明apache已经成功加载了php模块；<br />
并添加如下两条语句(否则PHP页面可能无法被解析)：<br />
<span style="color: #0010ff;">AddType application/x-httpd-php .php</span><br style="color: #0010ff;" />
<span style="color: #0010ff;">AddType application/x-httpd-php-source .phps</span><br />
</font><img src ="http://www.blogjava.net/jiangshachina/aggbug/91369.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-01-02 13:48 <a href="http://www.blogjava.net/jiangshachina/archive/2007/01/02/91369.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL Weed(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63120.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sat, 12 Aug 2006 01:19:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63120.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/63120.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/63120.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/63120.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在学习、应用MySQL的过程中，收集的一些小知识。(2007.09.04最后更新)&nbsp;&nbsp;<a href='http://www.blogjava.net/jiangshachina/archive/2006/08/12/63120.html'>阅读全文</a><img src ="http://www.blogjava.net/jiangshachina/aggbug/63120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2006-08-12 09:19 <a href="http://www.blogjava.net/jiangshachina/archive/2006/08/12/63120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux上安装MySQL Server 5.0(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63117.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sat, 12 Aug 2006 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63117.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/63117.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2006/08/12/63117.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/63117.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/63117.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本人安装MySQL Server 5.0的过程与体会，希望对大家有帮助。&nbsp;&nbsp;<a href='http://www.blogjava.net/jiangshachina/archive/2006/08/12/63117.html'>阅读全文</a><img src ="http://www.blogjava.net/jiangshachina/aggbug/63117.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2006-08-12 09:10 <a href="http://www.blogjava.net/jiangshachina/archive/2006/08/12/63117.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>