<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Magki&#039;s Blog &#187; L.A.M.P</title>
	<atom:link href="http://www.magki.com/blog/category/linux-apache-mysql-php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.magki.com/blog</link>
	<description>努力赚钱ing &#124; 承接各种企业站, 门户站, 商城等开发(PHP)</description>
	<lastBuildDate>Thu, 26 Aug 2010 05:04:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>解决 linux 下 JDBC 连接 MySQL 的问题</title>
		<link>http://www.magki.com/blog/2009/07/fix-jdbc-connect-mysql-in-linux.html</link>
		<comments>http://www.magki.com/blog/2009/07/fix-jdbc-connect-mysql-in-linux.html#comments</comments>
		<pubDate>Tue, 14 Jul 2009 02:05:52 +0000</pubDate>
		<dc:creator>Magki</dc:creator>
				<category><![CDATA[L.A.M.P]]></category>

		<guid isPermaLink="false">http://www.magki.com/blog/?p=27</guid>
		<description><![CDATA[一直以来在 archlinux 下直接从软件库里安装 LAMP 一套的时候总是出现 netbeans 里的数据库管理工具无法连接到本地 MySQL 服务器的问题。按网友们说的去 /etc/my.cnf 里注释掉 skip-networking 这一行也不行，于是乎以前一直都是在 archlinux 下憋屈的用 xampp 来作 PHP 开发环境（编译？我懒）
昨天在公司用的电脑上装上了 archlinux，想要装 PHP 开发环境的时候又碰到上述问题了，奶奶的，今天一定要解决你不可。驱狗搜索终于找到 ubuntu 中文论坛一帖子 10 楼的兄弟点出了问题所在。乖乖，原来是没有给 mysqld 服务开端口侦听。
解决办法就是除了如上面说的屏蔽 /etc/my.cnf 里的 skip-networking 外还要在 /etc/hosts.allow 加入MySQL 服务侦听 mysqld: 127.0.0.1
]]></description>
			<content:encoded><![CDATA[<p>一直以来在 archlinux 下直接从软件库里安装 LAMP 一套的时候总是出现 netbeans 里的数据库管理工具无法连接到本地 MySQL 服务器的问题。按网友们说的去 /etc/my.cnf 里注释掉 skip-networking 这一行也不行，于是乎以前一直都是在 archlinux 下憋屈的用 xampp 来作 PHP 开发环境（编译？我懒）</p>
<p>昨天在公司用的电脑上装上了 archlinux，想要装 PHP 开发环境的时候又碰到上述问题了，奶奶的，今天一定要解决你不可。驱狗搜索终于找到 <a href="http://forum.ubuntu.org.cn/viewtopic.php?f=70&amp;t=93335&amp;p=1338544">ubuntu 中文论坛一帖子</a> 10 楼的兄弟点出了问题所在。乖乖，原来是没有给 mysqld 服务开端口侦听。</p>
<p>解决办法就是除了如上面说的屏蔽 /etc/my.cnf 里的 <span style="color: #ff0000;">skip-networking</span> 外还要在 /etc/hosts.allow 加入MySQL 服务侦听 <span style="color: #ff0000;">mysqld: 127.0.0.1</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.magki.com/blog/2009/07/fix-jdbc-connect-mysql-in-linux.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LAMP 以及 PHP 开发环境搭建全记录之 Apache 篇</title>
		<link>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-apache.html</link>
		<comments>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-apache.html#comments</comments>
		<pubDate>Sun, 08 Feb 2009 11:15:10 +0000</pubDate>
		<dc:creator>Magki</dc:creator>
				<category><![CDATA[L.A.M.P]]></category>

		<guid isPermaLink="false">http://www.magki.com/blog/?p=14</guid>
		<description><![CDATA[Linux 系统安装好了，那么开始装 Apache 服务器，当然是通过编译方式安装了。我选用的是最新的 2.2.11 版，去 http://httpd.apache.org/download.cgi 下载到 httpd-2.2.11.tar.gz。解压到任意文件夹中备用，我这里解压出来的文件夹名是 httpd-2.2.11。按照我的规划，我准备将所有程序都安装在 /opt 文件夹中，恩恩。
打开终端输入：
sudo apt-get install gcc g++ cpp libncurses5-dev make libssl-dev sysv-rc-conf bison libbz2-dev libcurl3-openssl-dev libjpeg62-dev libpng12-dev libxpm-dev libt1-dev libfreetype6-dev libgmp3-dev  	libmcrypt-dev libmhash-dev libpspell-dev libsnmp-dev libmm-dev libtidy-dev  libxml2-dev
这条命令我是抄袭 cicisoso 的，只是把 libsnmp9-dev 改成 libsnmp-dev 而已，不然 ubuntu 8.10 下会出错。恩，顺利的话呢，很快就把编译安装所需要的文件都安装好了。恩接下来在终端中进入到 httpd-2.2.11 目录再依次输入如下代码：（不好意思，又是抄袭 cicisoso 的安装方法，稍微作了点小更改）

cd srclib/apr
sudo ./configure --prefix=/opt/apache/apr [...]]]></description>
			<content:encoded><![CDATA[<p>Linux 系统安装好了，那么开始装 Apache 服务器，当然是通过编译方式安装了。我选用的是最新的 2.2.11 版，去 http://httpd.apache.org/download.cgi 下载到 httpd-2.2.11.tar.gz。解压到任意文件夹中备用，我这里解压出来的文件夹名是 httpd-2.2.11。按照我的规划，我准备将所有程序都安装在 /opt 文件夹中，恩恩。</p>
<p>打开终端输入：</p>
<p style="padding-left: 30px;">sudo apt-get install gcc g++ cpp libncurses5-dev make libssl-dev sysv-rc-conf bison libbz2-dev libcurl3-openssl-dev libjpeg62-dev libpng12-dev libxpm-dev libt1-dev libfreetype6-dev libgmp3-dev  	libmcrypt-dev libmhash-dev libpspell-dev libsnmp-dev libmm-dev libtidy-dev  libxml2-dev</p>
<p>这条命令我是抄袭 <a href="http://www.phpweblog.net/cicisoso/articles/5677.html">cicisoso</a> 的，只是把 libsnmp9-dev 改成 libsnmp-dev 而已，不然 ubuntu 8.10 下会出错。恩，顺利的话呢，很快就把编译安装所需要的文件都安装好了。恩接下来在终端中进入到 httpd-2.2.11 目录再依次输入如下代码：<span style="color: #808080;">（不好意思，又是抄袭 <a href="http://www.phpweblog.net/cicisoso/articles/5677.html">cicisoso</a> 的安装方法，稍微作了点小更改）</span></p>
<p><span id="more-14"></span></p>
<p style="padding-left: 30px;">cd srclib/apr<br />
sudo ./configure --prefix=/opt/apache/apr &amp;&amp; make &amp;&amp; make install<br />
cd ../apr-util<br />
sudo ./configure --prefix=/opt/apache/apr-util --with-apr=/opt/apache/apr &amp;&amp; make &amp;&amp; make install<br />
cd ../..<br />
./configure --prefix=/opt/apache --enable-cache --enable-disk-cache --enable-mem-cache --enable-ssl --enable-http --enable-rewrite --enable-so --with-apr=/opt/apache/apr --with-apr-util=/opt/apache/apr-util &amp;&amp; make &amp;&amp; make install</p>
<p>漫长的等待后安装完毕，接下来是设置。先输入 sudo gedit /opt/apache/conf/httpd.conf 在编辑器里搜索 servername 把其后面的字符串改为 localhost:80，保存好退出吧。接下来就是试运行 apache 了，终端中输入 sudo /opt/apache/bin/apachectl start，如果这时打开浏览器访问 http://localhost 出现了 It Works! 字样那么就安装成功了。</p>
<p>我想自定义服务器根目录的路径，那么再次编辑 httpd.conf 搜索 DocumentRoot 和 Directory 把这两个后面的引号中间的内容更换成 /home/magki/htdocs 呵呵，这里比较容易进入。</p>
<p>我还想让 apache 随系统自启动，那么依次在终端输入：</p>
<p style="padding-left: 30px;">sudo cp /opt/apache/bin/apachectl /etc/init.d/apachectl<br />
sudo chmod +x apachectl<br />
sudo sysv-rc-conf</p>
<p>在界面中找到 apachectl 将其右边的 2，3，4，5 项都选中并按 Q 键退出，OK 了，大功告成。在这里感谢 <a href="http://www.phpweblog.net/cicisoso/articles/5677.html">cicisoso</a> 的安装攻略。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-apache.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LAMP 以及 PHP 开发环境搭建全记录之 Linux 篇</title>
		<link>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-linux.html</link>
		<comments>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-linux.html#comments</comments>
		<pubDate>Fri, 06 Feb 2009 10:36:18 +0000</pubDate>
		<dc:creator>Magki</dc:creator>
				<category><![CDATA[L.A.M.P]]></category>

		<guid isPermaLink="false">http://www.magki.com/blog/?p=13</guid>
		<description><![CDATA[我作事情大多都是心血来潮人来疯之类的，比如现在正在忙活的 LAMP 以及 PHP 开发环境的搭建记录，呵呵，都是自己骨子里那点点完美主义思想作祟。恩，希望能好好把之前这半个星期所忙活的东西都好好写一下，以后自己还能当复习用。
首先是安装 linux 系统，为了方便，我选用了最近风头最劲的 ubuntu 版本为 8.10，如果纯粹作为开发所用的话，倒是推荐用 CentOS，目前最新版本是 5.2。这里我记录的是 ubuntu 的安装记录，其他 linux 系统应该大体差不多。哦～对了，我是装的 vista &#38; ubuntu 双系统。哈哈，这大概是我这个 linux 篇唯一能说道说道的事了吧。
我以前升级硬盘换下了个 80G SATA 硬盘，这回派上用场了，双硬盘来装双系统有很多好处的，呵呵。以前已经安装好了 vista，现在安装 ubuntu 我先把安装了 vista 的硬盘拔下来，单独接上要装 ubuntu 的硬盘，一路默认方式安装好 ubuntu（其实不用拔安装 vista 的硬盘，直接在 BIOS 里指定用哪块硬盘作引导就行了，无视我的狭隘完美主义思想吧，哈哈）启动进入到 ubuntu 里后插上安装有 vista 的硬盘（大家的应该都是 SATA 硬盘了吧）在终端里输入 sudo gedit /boot/grub/menu.lst 删除多余内容只保留关于 ubuntu 的启动项的代码并添加关于 vista 的启动项代码，我这里修改完后整个文件的内容如下：

＃启动界面默认选择的启动项，后面的数字以 0 为第一项类推
default 1
＃启动界面的等待时间
timeout 10
#关于 [...]]]></description>
			<content:encoded><![CDATA[<p>我作事情大多都是心血来潮人来疯之类的，比如现在正在忙活的 LAMP 以及 PHP 开发环境的搭建记录，呵呵，都是自己骨子里那点点完美主义思想作祟。恩，希望能好好把之前这半个星期所忙活的东西都好好写一下，以后自己还能当复习用。</p>
<p>首先是安装 linux 系统，为了方便，我选用了最近风头最劲的 ubuntu 版本为 8.10，如果纯粹作为开发所用的话，倒是推荐用 CentOS，目前最新版本是 5.2。这里我记录的是 ubuntu 的安装记录，其他 linux 系统应该大体差不多。哦～对了，我是装的 vista &amp; ubuntu 双系统。哈哈，这大概是我这个 linux 篇唯一能说道说道的事了吧。</p>
<p>我以前升级硬盘换下了个 80G SATA 硬盘，这回派上用场了，双硬盘来装双系统有很多好处的，呵呵。以前已经安装好了 vista，现在安装 ubuntu 我先把安装了 vista 的硬盘拔下来，单独接上要装 ubuntu 的硬盘，一路默认方式安装好 ubuntu<span style="color: #808080;">（其实不用拔安装 vista 的硬盘，直接在 BIOS 里指定用哪块硬盘作引导就行了，无视我的狭隘完美主义思想吧，哈哈）</span>启动进入到 ubuntu 里后插上安装有 vista 的硬盘<span style="color: #808080;">（大家的应该都是 SATA 硬盘了吧）</span>在终端里输入 sudo gedit /boot/grub/menu.lst 删除多余内容只保留关于 ubuntu 的启动项的代码并添加关于 vista 的启动项代码，我这里修改完后整个文件的内容如下：</p>
<p><span id="more-13"></span></p>
<p style="padding-left: 30px;"><span style="color: #808080;">＃启动界面默认选择的启动项，后面的数字以 0 为第一项类推</span><br />
default 1<br />
<span style="color: #808080;">＃启动界面的等待时间</span><br />
timeout 10<br />
<span style="color: #808080;">#关于 Vista 的启动项代码 title 后的字符串可以换成你喜欢的，其他的不要动 </span><br />
title Microsoft Windows Vista<br />
acpi<br />
fallback 1<br />
find --set-root /bootmgr<br />
chainloader /bootmgr<br />
<span style="color: #808080;">#关于 Ubuntu 的启动项代码，这里的内容根据你所安装的 Ubuntu 版本不同而不同<br />
#不过反正是用 menu.lst 文件里之前的内容所保留下来的，不用太在意我这里所写的</span><br />
title Ubuntu 8.10, kernel 2.6.27-11-generic<br />
root (hd1,0)<br />
uuid 18dece04-f62a-4825-857a-3d639443cb6d<br />
kernel /vmlinuz-2.6.27-11-generic root=UUID=929ca1df-30d7-43a6-8b24-4a959644ee5f ro noapic locale=zh_CN quiet splash<br />
initrd /initrd.img-2.6.27-11-generic<br />
quiet</p>
<p>不要直接保存，用另存为的方式保存到 vista 所在硬盘的系统分区根目录下，这样启动电脑后就可以自由选择进入哪个系统了。恩，我这个方法适用于 vista 要是 vistaload 2.1.2 激活方式并且用其所在硬盘做主引导，如果要 ubuntu 所在硬盘做主引导就把上面的 root(hd1,0) 移动到 vista 启动项代码的 title 下面。</p>
<p>嘿嘿，这样双系统就安装好拉，双硬盘装双系统有什么好处呢？就是随便我拆掉哪个硬盘都不会影响另一个硬盘的系统，可以非常的自由恢复成任何一种单系统，咔咔。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magki.com/blog/2009/02/lamp-and-the-php-development-environment-builds-the-entire-record-about-linux.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ubuntu 下配置 LAMP 环境</title>
		<link>http://www.magki.com/blog/2009/01/setup-lamp-in-ubuntu-system.html</link>
		<comments>http://www.magki.com/blog/2009/01/setup-lamp-in-ubuntu-system.html#comments</comments>
		<pubDate>Sat, 24 Jan 2009 06:53:27 +0000</pubDate>
		<dc:creator>Magki</dc:creator>
				<category><![CDATA[L.A.M.P]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.magki.com/blog/?p=7</guid>
		<description><![CDATA[曾经兴冲冲的在自己电脑上弄 XP + Ubuntu 双系统，经过多次反复查阅相关资料和重装 Ubuntu 终于稳定下来。当时找了很多关于 Ubuntu 下配置 LAMP 环境资料，几番总结才较为顺利的吧这东东搞定，不敢独享将经验稍稍整理一下贴出来，也备自己以后复习。值得一提的是，当初使用的 Ubuntu 版本是 7.0.4，如今 9.0.4 都在开发中了，呵呵，理论上应该各版本通用，如果不行就没辙咯。
一、安装 Apache2 + PHP5 + MySQL + phpmyadmin
这步其实很简单，在 Ubuntu 7.0.4 下只需要一条命令 sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin php5-cli php-pear
二、开启 mod_rewrite
首先使用命令 sudo a2enmod rewrite 启用 mod_rewrite。由于在 Ubuntu 下 Apache 默认配置不会读取 rewrite 规则也不访问 .htaccess，还需要使用命令 sudo gedit /etc/apache2/sites-available/default 打开配置文件将前两个 [...]]]></description>
			<content:encoded><![CDATA[<p>曾经兴冲冲的在自己电脑上弄 XP + Ubuntu 双系统，经过多次反复查阅相关资料和重装 Ubuntu 终于稳定下来。当时找了很多关于 Ubuntu 下配置 LAMP 环境资料，几番总结才较为顺利的吧这东东搞定，不敢独享将经验稍稍整理一下贴出来，也备自己以后复习。值得一提的是，当初使用的 Ubuntu 版本是 7.0.4，如今 9.0.4 都在开发中了，呵呵，理论上应该各版本通用，如果不行就没辙咯。</p>
<p><strong>一、安装 Apache2 + PHP5 + MySQL + phpmyadmin</strong></p>
<p>这步其实很简单，在 Ubuntu 7.0.4 下只需要一条命令 <font color="#ff0000">sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd mysql-server php5-mysql phpmyadmin php5-cli php-pear</font></p>
<p><strong>二、开启 mod_rewrite</strong></p>
<p>首先使用命令 <font color="#ff0000">sudo a2enmod rewrite</font> 启用 mod_rewrite。由于在 Ubuntu 下 Apache 默认配置不会读取 rewrite 规则也不访问 .htaccess，还需要使用命令 <font color="#ff0000">sudo gedit /etc/apache2/sites-available/default</font> 打开配置文件将前两个 <font color="#ff0000">AllowOverRide None</font> 改成 <font color="#ff0000">AllowOverRide All</font></p>
<p><span id="more-7"></span></p>
<p><strong>三、安装 Zend Optimizer 3.3.0</strong> (可选步骤)</p>
<p>到 <a href="http://downloads.phpchina.com/zend/optimizer/3.3.0/">phpchina.com</a> 下载 ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz 解压后，cd 到解压出来的文件夹里使用命令 <font color="#ff0000">sudo ./install.sh</font> 开始安装。一路按确定到第一个文本输入框这里是输入安装路径，一般不需要修改直接回车。第二个输入框是输入 php.ini 的路径，如果之前安装 PHP 没有修改过这里可以填 <font color="#ff0000">/etc/php5/apache2/</font>。接下来会询问是否使用 Apache 服务器点 Yes。第三个文本框出现，这里一般填入 <font color="#ff0000">/user/sbin/apache2ctl</font> 即可。接下来一路按回车到结束，最后一步会重启 Apache 服务，到此安装完毕。</p>
<p><strong>常用命令与位置</strong></p>
<p>sudo /etc/init.d/apache2 restart  (重启 apache)<br />
sudo a2enmod [mod 名]  (激活 apache 的 Mod)<br />
sudo apache2 -M  (查看已经加载的 Mod)<br />
sudo gedit /etc/php5/apache2/php.ini  (配置 php.ini)<br />
sudo gedit /etc/apache2/apache2.conf  (配置 apache2.conf)<br />
/var/www/  (主目录位置)<br />
/etc/apache2/sites-enabled  (虚拟主机配置文件目录)<br />
http://localhost/phpmyadmin/  (phpmyadmin)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magki.com/blog/2009/01/setup-lamp-in-ubuntu-system.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 的字段类型及长度</title>
		<link>http://www.magki.com/blog/2009/01/mysql-type-and-length-of-the-field.html</link>
		<comments>http://www.magki.com/blog/2009/01/mysql-type-and-length-of-the-field.html#comments</comments>
		<pubDate>Fri, 23 Jan 2009 08:28:19 +0000</pubDate>
		<dc:creator>Magki</dc:creator>
				<category><![CDATA[L.A.M.P]]></category>
		<category><![CDATA[笔记]]></category>

		<guid isPermaLink="false">http://www.magki.com/blog/?p=5</guid>
		<description><![CDATA[数值类型



列类型
需要的存储量


TINYINT
1 字节


SMALLINT
2 字节


MEDIUMINT
3 字节


INT
4 字节


INTEGER
4 字节


BIGINT
8 字节


FLOAT(X)
4 字节（如果 X &#60; = 24 或 8 如果 25 &#60; = X &#60; = 53）


FLOAT
4 字节


DOUBLE
8 字节


DOUBLE PRECISION
8 字节


REAL
8 字节


DECIMAL(M,D)
M 字节 （D+2 , 如果M &#60; D）


NUMERIC(M,D)
M 字节 （D+2 , 如果M &#60; D）




日期和时间类型



列类型
需要的存储量


DATE
3 字节


DATETIME
8 字节


TIMESTAMP
4 字节


TIME
3 字节


YEAR
1 字节




串类型



列类型
需要的存储量


CHAR(M)
M 字节，1 &#60;= M &#60;= 255


VARCHAR(M)
L+1 字节, 在此 L &#60;= M 和 [...]]]></description>
			<content:encoded><![CDATA[<h4>数值类型</h4>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th style="text-align: left">列类型</th>
<th style="text-align: left">需要的存储量</th>
</tr>
<tr>
<td>TINYINT</td>
<td>1 字节</td>
</tr>
<tr>
<td>SMALLINT</td>
<td>2 字节</td>
</tr>
<tr>
<td>MEDIUMINT</td>
<td>3 字节</td>
</tr>
<tr>
<td>INT</td>
<td>4 字节</td>
</tr>
<tr>
<td>INTEGER</td>
<td>4 字节</td>
</tr>
<tr>
<td>BIGINT</td>
<td>8 字节</td>
</tr>
<tr>
<td>FLOAT(X)</td>
<td>4 字节（如果 X &lt; = 24 或 8 如果 25 &lt; = X &lt; = 53）</td>
</tr>
<tr>
<td>FLOAT</td>
<td>4 字节</td>
</tr>
<tr>
<td>DOUBLE</td>
<td>8 字节</td>
</tr>
<tr>
<td>DOUBLE PRECISION</td>
<td>8 字节</td>
</tr>
<tr>
<td>REAL</td>
<td>8 字节</td>
</tr>
<tr>
<td>DECIMAL(M,D)</td>
<td>M 字节 （D+2 , 如果M &lt; D）</td>
</tr>
<tr>
<td>NUMERIC(M,D)</td>
<td>M 字节 （D+2 , 如果M &lt; D）</td>
</tr>
</tbody>
</table>
<p><span id="more-5"></span></p>
<h4>日期和时间类型</h4>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th style="text-align: left">列类型</th>
<th style="text-align: left">需要的存储量</th>
</tr>
<tr>
<td>DATE</td>
<td>3 字节</td>
</tr>
<tr>
<td>DATETIME</td>
<td>8 字节</td>
</tr>
<tr>
<td>TIMESTAMP</td>
<td>4 字节</td>
</tr>
<tr>
<td>TIME</td>
<td>3 字节</td>
</tr>
<tr>
<td>YEAR</td>
<td>1 字节</td>
</tr>
</tbody>
</table>
<h4></h4>
<h4>串类型</h4>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th style="text-align: left">列类型</th>
<th style="text-align: left">需要的存储量</th>
</tr>
<tr>
<td>CHAR(M)</td>
<td>M 字节，1 &lt;= M &lt;= 255</td>
</tr>
<tr>
<td>VARCHAR(M)</td>
<td>L+1 字节, 在此 L &lt;= M 和 1 &lt;= M &lt;= 255</td>
</tr>
<tr>
<td>TINYBLOB, TINYTEXT</td>
<td>L+1 字节, 在此 L &lt; 2 ^ 8</td>
</tr>
<tr>
<td>BLOB, TEXT</td>
<td>L+2 字节, 在此 L &lt; 2 ^ 16</td>
</tr>
<tr>
<td>MEDIUMBLOB, MEDIUMTEXT</td>
<td>L+3 字节, 在此 L &lt; 2 ^ 24</td>
</tr>
<tr>
<td>LONGBLOB, LONGTEXT</td>
<td>L+4 字节, 在此 L &lt; 2 ^ 32</td>
</tr>
<tr>
<td>ENUM('value1','value2',...)</td>
<td>1 或 2 个字节, 取决于枚举值的数目（最大值65535）</td>
</tr>
<tr>
<td>SET('value1','value2',...)</td>
<td>1，2，3，4或8个字节, 取决于集合成员的数量（最多64个成员）</td>
</tr>
</tbody>
</table>
<p><strong>附：MySQL 数据表类型说明 </strong></p>
<p><strong>1. MyISAM 表</strong> MyISAM 存储格式自版本3.23 以来是 MySQL 中的缺省类型，它有下列特点：<br />
■ 如果操作系统自身允许更大的文件，那么文件比 ISAM 存储方法的大。<br />
■ 数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器，即使它们的体系结构不同也可以拷贝。<br />
■ 数值索引值占的存储空间较少，因为它们是按高字节优先存储的。索引值在低位字节中变化很快，因此高位字节更容易比较。<br />
■ AUTO_INCREMENT 处理比 ISAM 的表更好。<br />
■ 减少了几个索引限制。例如，可对含 NULL 值的列进行索引，还可以对 BLOB 和 TEXT 类型的列进行索引。<br />
■ 为了改善表的完整性检查，每个表都具有一个标志，在 myisamchk 对表进行过检查后，设置该标志。可利用 myisamchk - fast 跳过对自前次检查以来尚未被修改过表的检查，这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常，或机器崩溃，此标志可用来检测出服务器起动时需要检查的表。</p>
<p><strong>2.  ISAM 表</strong> ISAM 存储格式是 MySQL3.23 所用的最旧的格式，但当前仍然可用。通常，相对于 ISAM 表来说，宁可使用 MyISAM 表，因为它们的限制较少。对 ISAM 表的支持随着此存储格式被 MyISAM 表格式所支持很有可能会逐渐消失。</p>
<p><strong>3.  HEAP 表</strong> HEAP 存储格式建立利用定长行的内存中的表，这使表运行得非常快。在服务器停止时，它们将会消失。在这种意义上，这些表是临时的。但是，与用 CREATE TEMPORARY TABLE 所创建的临时表相比，HEAP 表是其他客户机可见的。HEAP 表有几个限制，这些限制对 MyISAM 或 ISAM 表没有，如下所示：<br />
■ 索引仅用于“=”和“&lt; = &gt;”比较。<br />
■ 索引列中不能有 NULL 值。<br />
■ 不能使用 BLOB 和 TEXT 列。<br />
■ 不能使用 AUTO_INCREMENT 列。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.magki.com/blog/2009/01/mysql-type-and-length-of-the-field.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
