<?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>【知行合一】-Poople&#039;s Blog &#187; mysql</title>
	<atom:link href="http://99dev.net/archives/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://99dev.net</link>
	<description>智巧终归庸俗，雄谋只余虚话</description>
	<lastBuildDate>Fri, 23 Jul 2010 09:52:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Original]Linux+Zeus+php.fcgi配置过程</title>
		<link>http://99dev.net/archives/714</link>
		<comments>http://99dev.net/archives/714#comments</comments>
		<pubDate>Thu, 26 Nov 2009 08:48:45 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[Web服务器]]></category>
		<category><![CDATA[系统架构]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zeus]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/714</guid>
		<description><![CDATA[1.系统环境配置
配置中文支持
rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm
rpm -ivh fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm
<span class="readmore"><a href="http://99dev.net/archives/714" title="[Original]Linux+Zeus+php.fcgi配置过程" target="_blank">阅读全文——共2321字</a></span>]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium"><strong>1.系统环境配置</strong></span></p>
<p><span style="font-size: x-small"><strong>配置中文支持</strong></span><br />
rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm<br />
rpm -ivh fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm</p>
<p><span style="font-size: x-small"><strong>修改Hostname</strong></span><br />
1文件中的HOSTNAME，改为你希望的名字<br />
2，/etc/hosts文件中，把所有原来机器名修改为新的机器名</p>
<p><span style="font-size: x-small"><strong>清除原服务组件</strong></span></p>
<p><span id="more-714"></span>1.kill所有nginx/php/mysql进程</p>
<p>2.删除服务组件所在目录</p>
<p>3.删除启动项，一般位于setup菜单中和/etc/rc.local文件中</p>
<p><span style="font-size: medium"><strong>2.服务组件安装</strong></span></p>
<p>安装MySQL和PHP组件，这部分大同小异，参考张宴的文章<a href="http://http://blog.s135.com/nginx_php_v5/" target="_blank">《Nginx 0.7.x + PHP 5.2.10（FastCGI）搭建胜过Apache十倍的Web服务器（第5版）》</a></p>
<blockquote><p>Tips：Screen</p>
<p>配置时。所在网络环境相当不稳定，经常发生掉线的情况。为避免掉线重新登陆，引起的正在编辑的文件被锁死的问题，建议用screen开启一个不掉线的会话。screnn的用法参考：<a title="http://www.ibm.com/developerworks/cn/linux/l-cn-screen/" href="http://www.ibm.com/developerworks/cn/linux/l-cn-screen/">http://www.ibm.com/developerworks/cn/linux/l-cn-screen/</a></p></blockquote>
<p><strong><span style="font-size: medium">3.服务组件配置调试</span></strong></p>
<p><span style="font-size: x-small"><strong>·PHP编译配置</strong></span></p>
<blockquote><p>PHP编译参数<br />
&#8216;./configure&#8217; &#8216;&#8211;prefix=/usr/local/webserver/php&#8217; &#8216;&#8211;with-config-file-path=/usr/local/webserver/php/etc&#8217; &#8216;&#8211;with-mysql=/usr&#8217; &#8216;&#8211;with-mysqli=/usr/bin/mysql_config&#8217; &#8216;&#8211;with-iconv-dir=/usr/local&#8217; &#8216;&#8211;with-freetype-dir&#8217; &#8216;&#8211;with-jpeg-dir&#8217; &#8216;&#8211;with-png-dir&#8217; &#8216;&#8211;with-zlib&#8217; &#8216;&#8211;with-libxml-dir=/usr&#8217; &#8216;&#8211;enable-xml&#8217; &#8216;&#8211;disable-rpath&#8217; &#8216;&#8211;enable-discard-path&#8217; &#8216;&#8211;enable-safe-mode&#8217; &#8216;&#8211;enable-bcmath&#8217; &#8216;&#8211;enable-shmop&#8217; &#8216;&#8211;enable-sysvsem&#8217; &#8216;&#8211;enable-inline-optimization&#8217; &#8216;&#8211;with-curl&#8217; &#8216;&#8211;with-curlwrappers&#8217; &#8216;&#8211;enable-mbregex&#8217; &#8216;&#8211;enable-fastcgi&#8217; &#8216;&#8211;enable-fpm&#8217; &#8216;&#8211;enable-force-cgi-redirect&#8217; &#8216;&#8211;enable-mbstring&#8217; &#8216;&#8211;with-mcrypt&#8217; &#8216;&#8211;with-gd&#8217; &#8216;&#8211;enable-gd-native-ttf&#8217; &#8216;&#8211;with-openssl&#8217; &#8216;&#8211;with-mhash&#8217; &#8216;&#8211;enable-pcntl&#8217; &#8216;&#8211;enable-sockets&#8217; &#8216;&#8211;with-ldap&#8217; &#8216;&#8211;with-ldap-sasl&#8217; &#8216;&#8211;with-xmlrpc&#8217; &#8216;&#8211;enable-zip&#8217; &#8216;&#8211;enable-soap&#8217; &#8216;&#8211;without-pear&#8217;</p></blockquote>
<p><span style="font-size: x-small">[PHP]编译过程中发生错误-1</span></p>
<blockquote><p>configure: error: Cannot find MySQL header files under /usr</p></blockquote>
<p><span style="font-size: x-small">[PHP]缺少mysql的头文件，需安装以下依赖包</span></p>
<blockquote><p>rpm -ivh MySQL-devel-4.1.12-1.i386.rpm</p></blockquote>
<p>[PHP]编译过程中发生错误-2</p>
<blockquote><p>error: mysql configure failed. Please check config.log for more information.</p></blockquote>
<p>[PHP]64位系统，需指定以下环境变量</p>
<blockquote><p>export LDFLAGS=-L/usr/lib64/mysql</p></blockquote>
<p><strong><span style="font-size: x-small">·Zeus编译配置</span></strong></p>
<p><span style="font-size: x-small">[Zeus]Zeus使用中遇到问题，web端口已打开，访问测试页面却显示空白。</span></p>
<blockquote><p>解决办法：Current Configuration -〉 Bind address    125.65.45.18</p></blockquote>
<p><span style="font-size: x-small"><strong>不使用Zeus自带的PHP，改用我们自己编译的新版本。</strong></span></p>
<blockquote><p>在Current Configuration -〉PHP置为Disable</p></blockquote>
<blockquote><p>在API Support-&gt;FastCGI<br />
Configuring FastCGI Remote Responders<br />
Adding a FastCGI Remote Responder</p>
<p>Directory name: /usr/local/bin/php<br />
Location: Machine name: localhost<br />
Port: 8002<br />
Additional methods supported?: none</p></blockquote>
<blockquote><p>在URL Handling-&gt;Handlers-&gt;Adding a Handler<br />
File Extension: *.php<br />
Specify the path and filename of the handler, relative to the document root: /usr/local/bin/php<br />
HTTP 404 errors are handled by: The handler</p></blockquote>
<p><strong>在Zeus/rc.d目录下，新建一个S05php可执行脚本，<a href="http://99dev.net/wp-content/uploads/2009/11/s05php">s05php</a></strong></p>
<p><strong>运行rc.d/S05php start，初始化php.fcgi进程</strong></p>
<p><strong>在www目录下，放置phpinfo.php页面测试</strong></p>
<blockquote><p>&lt;?phpinfo();?&gt;</p></blockquote>
<p><span style="font-size: x-small;"><em></em></span></p>
<p><span style="font-size: x-small;"><em>&lt;!&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;Notice&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&gt;<br />
</em></span><span style="font-size: x-small;">1.Zeus基于Web界面配置，切记在输入任何参数时，使用英文输入法。<br />
2.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/714/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Original]Linux MySQL备份策略</title>
		<link>http://99dev.net/archives/699</link>
		<comments>http://99dev.net/archives/699#comments</comments>
		<pubDate>Fri, 30 Oct 2009 06:07:16 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[其他Linux技术]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/699</guid>
		<description><![CDATA[MySQL在Linux应用环境中，一般都是最重要的业务，定期备份是必须的。一般有如下几种策略：
1.拷贝文件系统 &#8211; 停止服务，copy 数据库目录；启动服务      (需要停止服务一段时间，期间不接受写入操作)
2.MySQL自带工具mysqldump，这也是最常用的方式      (能在备份的过程lock tables，一定程度上保证数据的一致性)
3.MySQL自带工具mysqlhotcopy      (文件系统级拷贝工具，能在备份过程lock tables，只对MyISAM表格有效)
<span class="readmore"><a href="http://99dev.net/archives/699" title="[Original]Linux MySQL备份策略" target="_blank">阅读全文——共2456字</a></span>]]></description>
			<content:encoded><![CDATA[<p>MySQL在Linux应用环境中，一般都是最重要的业务，定期备份是必须的。一般有如下几种策略：</p>
<blockquote><p>1.拷贝文件系统 &#8211; 停止服务，copy 数据库目录；启动服务      <br />(需要停止服务一段时间，期间不接受写入操作)</p>
<p>2.MySQL自带工具mysqldump，这也是最常用的方式      <br />(能在备份的过程lock tables，一定程度上保证数据的一致性)</p>
<p>3.MySQL自带工具mysqlhotcopy      <br />(文件系统级拷贝工具，能在备份过程lock tables，只对MyISAM表格有效)</p>
<p>4.热备(未跑在生产环境中，等做完发上来)</p>
</blockquote>
<p> <span id="more-699"></span>
<p>· mysql库不支持lock，详细请参考<a title="http://planet.mysql.com/entry/?id=17913" href="http://planet.mysql.com/entry/?id=17913">http://planet.mysql.com/entry/?id=17913</a>     <br />只能使用mysqldump+”&#8211;lock-tables=0”来实现</p>
<p><strong>· UUD*</strong>库使用mysqldump备份有问题，只能采用mysqlhotcopy</p>
<p>· 其他的采用mysqldump和mysqlhotcopy，就看个人习惯</p>
<p>&#160;</p>
<p><strong><font size="2">附上利用python语言写的备份脚本 &#8211; backup_mysql.py        <br />支持备份到本地和远程FTP</font></strong></p>
<blockquote><p>#!/usr/bin/python      <br /># coding=gb2312 </p>
<p>import os      <br />import time       <br />import ftplib       <br />import traceback </p>
<p>#config vars      <br />systempathchr=&quot;/&quot; #路径分割符，*nix用&quot;/&quot; win32用&quot;\\&quot;       <br />dbuser=&quot;mysqlhotcopy&quot; #数据库用户名       <br />dbpwd=&quot;8jsu0uo2dx9d&quot; #数据库密码       <br />dbnamelist=[&quot;fb555&quot;,&quot;114la&quot;] #需要备份那些数据库 </p>
<p>workdir=&quot;/data1/backup_zone/data_mysql&quot; #本地备份文件夹      <br />errlogfile=&quot;databack.log&quot; #错误日志名       <br />ftp_addr=&quot;192.168.0.2&quot; #ftp地址       <br />ftp_port=&quot;2102&quot; #ftp端口       <br />ftp_user=&quot;databack&quot; #ftp用户名       <br />ftp_pwd=&quot;backpwd&quot; #ftp密码       <br />ftp_path=&quot;/&quot; #存放到ftp路径 </p>
<p>ftpqueue=[] </p>
<p>def ftpstor():      <br />&#160;&#160;&#160; #login       <br />&#160;&#160;&#160; bufsize=1024       <br />&#160;&#160;&#160; ftp=ftplib.FTP()       <br />&#160;&#160;&#160; try:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ftp.connect(ftp_addr,ftp_port)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ftp.login(ftp_user,ftp_pwd)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ftp.cwd(ftp_path)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; for filepath in ftpqueue:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #open file for input as binary       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; f=open(filepath,&quot;rb&quot;)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; #store file as binary       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; print getfilename(filepath)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ftp.storbinary(&quot;STOR &quot;+getfilename(filepath),f,bufsize)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; f.close()       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ftp.quit()       <br />&#160;&#160;&#160; except:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; path=os.path.join(workdir,errlogfile)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; traceback.print_exc(file=open(path,&quot;a&quot;)) </p>
<p>def dumpdb(dbname):      <br />&#160;&#160;&#160; global ftpqueue       <br />&#160;&#160;&#160; timeformat=&quot;%Y%m%d&quot;       <br />&#160;&#160;&#160; sqlvalformat=&quot;mysqldump &#8211;socket=/tmp/mysql.sock -u%s -p\&quot;%s\&quot; \&quot;%s\&quot; &gt;\&quot;%s\&quot;&quot;       <br />&#160;&#160;&#160; tarvalformat=&quot;tar &#8211;directory=\&quot;%s\&quot; -zcf \&quot;%s\&quot; \&quot;%s\&quot;&quot;       <br />&#160;&#160;&#160; nowdate=time.strftime(timeformat)       <br />&#160;&#160;&#160; dumpfile=os.path.join(workdir,dbname+&quot;.dump&quot;)       <br />&#160;&#160;&#160; zipfile=os.path.join(workdir,dbname+&quot;_&quot;+nowdate+&quot;.tar.gz&quot;)       <br />&#160;&#160;&#160; sqlval=sqlvalformat % (dbuser,dbpwd,dbname,dumpfile)       <br />&#160;&#160;&#160; result=os.system(sqlval)       <br />&#160;&#160;&#160; tarval=tarvalformat % (workdir,zipfile,dbname+&quot;.dump&quot;) </p>
<p>&#160;&#160;&#160; result=os.system(tarval)      <br />&#160;&#160;&#160; os.remove(dumpfile)       <br />&#160;&#160;&#160; ftpqueue.append(zipfile) </p>
<p>def getfilename(path):      <br />&#160;&#160;&#160; pt=path.rfind(systempathchr)       <br />&#160;&#160;&#160; return path[pt+1:]       <br />def main():       <br />&#160;&#160;&#160; for dbname in dbnamelist:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; dumpdb(dbname)       <br />#&#160;&#160;&#160; ftpstor() </p>
<p>main() </p>
<p>#from <a href="https://d4e.org/showthread.php?t=76803&amp;highlight=mysql+%E5%A4%87%E4%BB%BD">https://d4e.org/showthread.php?t=76803&amp;highlight=mysql+%E5%A4%87%E4%BB%BD</a></p>
</blockquote>
<p><strong></strong></p>
<p><strong>Tips      <br /></strong><strong>·创建用于操作备份过程的mysql账户mysqlhotcopy</strong></p>
<blockquote><p><font size="1">GRANT SELECT ,        <br />RELOAD ,         <br />SHOW DATABASES ,         <br />LOCK TABLES ON * . * TO &#8216;mysqlhotcopy&#8217;@'localhost&#8217; WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;</font></p>
</blockquote>
<p>*UUD=UCenter+UChome+Discuz三者搭配的应用</p>
<p>·执行脚本需要用户有登录shell，空密码即可(保障安全，禁止ssh登陆)   </p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/699/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[original]Ubuntu Server中自定义Mysql dbdir路径</title>
		<link>http://99dev.net/archives/654</link>
		<comments>http://99dev.net/archives/654#comments</comments>
		<pubDate>Tue, 08 Sep 2009 11:59:17 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/654</guid>
		<description><![CDATA[依赖RHEL的使用习惯，以为直接在/etc/my.cnf修改&#8221;dbdir=/var/lib/mysql”即可。事实证明，此经验是行不通的。在Ubuntu Server中，只要按此修改，再启动mysqld’’/etc/init.d/mysql start’’，执行结果一定是failed。
Ubuntu Server采取了Suse的杀手级应用AppArmor，对一些关键业务的读写权限有严格限制。需要改动这些业务，需要在AppArmor模块中加入Allow规则。

具体操作流程如下：
<span class="readmore"><a href="http://99dev.net/archives/654" title="[original]Ubuntu Server中自定义Mysql dbdir路径" target="_blank">阅读全文——共612字</a></span>]]></description>
			<content:encoded><![CDATA[<p>依赖RHEL的使用习惯，以为直接在/etc/my.cnf修改&#8221;dbdir=/var/lib/mysql”即可。事实证明，此经验是行不通的。在Ubuntu Server中，只要按此修改，再启动mysqld’’/etc/init.d/mysql start’’，执行结果一定是failed。</p>
<p>Ubuntu Server采取了Suse的杀手级应用<a href="http://www.linux-cn.com/html/linux/publish/suse/20070411/1153.html">AppArmor</a>，对一些关键业务的读写权限有严格限制。需要改动这些业务，需要在AppArmor模块中加入Allow规则。</p>
<p><span id="more-654"></span></p>
<p>具体操作流程如下：</p>
<p>1.修改MySQL dbdir参数</p>
<blockquote><p>#vim /etc/my.cnf<br />
dbdir = /data0/data_mysql</p></blockquote>
<p>2.在AppArmor中加入Allow规则</p>
<blockquote><p>vim /etc/apparmor.d/usr.sbin.mysqld<br />
/var/lib/mysql/ r,<br />
/var/lib/mysql/** rwk,</p></blockquote>
<p>修改为</p>
<blockquote><p>/data0/data_mysql/ r,<br />
/data0/data_mysql/** rwk,</p></blockquote>
<p>3.重新建立mysql数据库</p>
<blockquote><p>sudo mysql_install_db</p></blockquote>
<p>4.启动mysql服务</p>
<blockquote><p>sudo /etc/init.d/mysql start</p></blockquote>
<p>5.设置数据库密码</p>
<blockquote><p>mysqladmin –u root password ‘newpassword’</p></blockquote>
<p>6.在/etc/mysql/debian.cnf中找到你的debian-sys-maint用户密码，在mysql中重新建立这个用户。</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/654/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Collection]如何导入导出MySQL数据库</title>
		<link>http://99dev.net/archives/398</link>
		<comments>http://99dev.net/archives/398#comments</comments>
		<pubDate>Mon, 05 Jan 2009 13:04:39 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/398</guid>
		<description><![CDATA[1. 概述
MySQL数据库的导入，有两种方法：
1) 先导出数据库SQL脚本，再导入；
2) 直接拷贝数据库目录和文件。
<span class="readmore"><a href="http://99dev.net/archives/398" title="[Collection]如何导入导出MySQL数据库" target="_blank">阅读全文——共1239字</a></span>]]></description>
			<content:encoded><![CDATA[<p>1. 概述<br />
MySQL数据库的导入，有两种方法：<br />
1) 先导出数据库SQL脚本，再导入；<br />
2) 直接拷贝数据库目录和文件。</p>
<p>在不同操作系统或MySQL版本情况下，直接拷贝文件的方法可能会有不兼容的情况发生。<br />
所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。</p>
<p><span id="more-398"></span></p>
<h1>2. 方法一 SQL脚本形式</h1>
<p>操作步骤如下：<br />
2.1. 导出SQL脚本<br />
在原数据库服务器上，可以用phpMyAdmin工具，或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行，导出SQL脚本。<br />
2.1.1 用phpMyAdmin工具<br />
导出选项中，选择导出“结构”和“数据”，不要添加“Drop DATABASE”和“Drop TABLE”选项。<br />
选中“另存为文件”选项，如果数据比较多，可以选中“gzipped”选项。<br />
将导出的SQL文件保存下来。</p>
<p>2.1.2 用mysqldump命令行<br />
命令格式<br />
mysqldump -u用户名 -p 数据库名 &gt; 数据库名.sql<br />
范例：<br />
mysqldump -uroot -p abc &gt; abc.sql<br />
（导出数据库abc到abc.sql文件）</p>
<p>提示输入密码时，输入该数据库用户名的密码。</p>
<p>2.2. 创建空的数据库<br />
通过主控界面/控制面板，创建一个数据库。假设数据库名为abc，数据库全权用户为abc_f。</p>
<p>2.3. 将SQL脚本导入执行<br />
同样是两种方法，一种用phpMyAdmin（mysql数据库管理）工具，或者mysql命令行。<br />
2.3.1 用phpMyAdmin工具<br />
从控制面板，选择创建的空数据库，点“管理”，进入管理工具页面。<br />
在&#8221;SQL&#8221;菜单中，浏览选择刚才导出的SQL文件，点击“执行”以上载并执行。</p>
<p>注意：phpMyAdmin对上载的文件大小有限制，php本身对上载文件大小也有限制，如果原始sql文件<br />
比较大，可以先用gzip对它进行压缩，对于sql文件这样的文本文件，可获得1:5或更高的压缩率。<br />
gzip使用方法：<br />
# gzip xxxxx.sql<br />
得到<br />
xxxxx.sql.gz文件。</p>
<p>2.3.2 用mysql命令行<br />
命令格式<br />
mysql -u用户名 -p 数据库名 &lt; 数据库名.sql<br />
范例：<br />
mysql -uabc_f -p abc &lt; abc.sql<br />
（导入数据库abc从abc.sql文件）</p>
<p>提示输入密码时，输入该数据库用户名的密码。</p>
<h1>3 方法二 直接拷贝</h1>
<p>如果数据库比较大，可以考虑用直接拷贝的方法，但不同版本和操作系统之间可能不兼容，要慎用。<br />
3.1 准备原始文件<br />
用tar打包为一个文件</p>
<p>3.2 创建空数据库</p>
<p>3.3 解压<br />
在临时目录中解压，如：<br />
cd /tmp<br />
tar zxf mydb.tar.gz</p>
<p>3.4 拷贝<br />
将解压后的数据库文件拷贝到相关目录<br />
cd mydb/<br />
cp * /var/lib/mysql/mydb/</p>
<p>对于FreeBSD:<br />
cp * /var/db/mysql/mydb/</p>
<p>3.5 权限设置<br />
将拷贝过去的文件的属主改为mysql:mysql，权限改为660<br />
chown mysql:mysql /var/lib/mysql/mydb/*<br />
chmod 660 /var/lib/mysql/mydb/*</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/398/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Original]已解决：ArchLinux上编译AMP环境错误</title>
		<link>http://99dev.net/archives/281</link>
		<comments>http://99dev.net/archives/281#comments</comments>
		<pubDate>Thu, 13 Nov 2008 10:34:01 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[Web服务器]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://99dev.net/?p=281</guid>
		<description><![CDATA[按照M(MySQL)-A(Apache)-P(PHP)的顺序，从源代码编译安装。在未安装PHP之前，Apache可以正常开启。安装完PHP，apache restart出现如下错误：
[root@myhost php]# /usr/local/httpd/bin/apachectl stop
Syntax error on line 262 of /usr/local/httpd/conf/httpd.conf:
Cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: undefined symbol: sqlite3ExprDeleteGoogle上很多人说是由于libphp5的权限问题和SeLinux安全问题，分析一下，可以否定这2种说法：
<span class="readmore"><a href="http://99dev.net/archives/281" title="[Original]已解决：ArchLinux上编译AMP环境错误" target="_blank">阅读全文——共577字</a></span>]]></description>
			<content:encoded><![CDATA[<p>按照M(MySQL)-A(Apache)-P(PHP)的顺序，从源代码编译安装。在未安装PHP之前，Apache可以正常开启。安装完PHP，apache restart出现如下错误：</p>
<p>[root@myhost php]# /usr/local/httpd/bin/apachectl stop<br />
Syntax error on line 262 of /usr/local/httpd/conf/httpd.conf:<br />
Cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: undefined symbol: sqlite3ExprDelete<span id="more-281"></span>Google上很多人说是由于libphp5的权限问题和SeLinux安全问题，分析一下，可以否定这2种说法：</p>
<p>1.libphp5.so已经是755权限</p>
<p>2.ArchLinux是轻量级Linux，没有集成SeLinux安装功能</p>
<p>依照以往在其他Linux中的经验，问题应该出在最后的PHP之上，重新编译应该OK</p>
<p>依次执行make clean ; ./configure ; make ; make install</p>
<p>重新启动Apache，/path_apache/bin/apachectl start ,OK</p>
<p>放上phpinfo，测试PHP调用正常</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/281/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Original]MySQL4平滑升级到MYSQL5(无中文乱码)</title>
		<link>http://99dev.net/archives/273</link>
		<comments>http://99dev.net/archives/273#comments</comments>
		<pubDate>Tue, 28 Oct 2008 08:51:09 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/?p=273</guid>
		<description><![CDATA[查询目前活动的MySQL数据库，清除废弃的数据库（直接在var/lib/mysql中直接删除对应的目录即可）
关闭MySQL Service，备份/var/lib/mysql目录下的活动数据库（用tar打包并存到其他位置）
卸载MySQL 4.1，并清除mysql数据库（清空/var/lib/mysql/mysql）
安装MySQL 5，并启动
<span class="readmore"><a href="http://99dev.net/archives/273" title="[Original]MySQL4平滑升级到MYSQL5(无中文乱码)" target="_blank">阅读全文——共206字</a></span>]]></description>
			<content:encoded><![CDATA[<p>查询目前活动的MySQL数据库，清除废弃的数据库（直接在var/lib/mysql中直接删除对应的目录即可）</p>
<p>关闭MySQL Service，备份/var/lib/mysql目录下的活动数据库（用tar打包并存到其他位置）</p>
<p>卸载MySQL 4.1，并清除mysql数据库（清空/var/lib/mysql/mysql）</p>
<p>安装MySQL 5，并启动</p>
<p>利用phpMyAdmin重建所有数据库授权用户</p>
<p>将原有数据迁移回去，即可正常运行</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/273/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Original]重启MySQL的正确方法</title>
		<link>http://99dev.net/archives/264</link>
		<comments>http://99dev.net/archives/264#comments</comments>
		<pubDate>Thu, 16 Oct 2008 02:45:35 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/264</guid>
		<description><![CDATA[修改了my.cnf，需要重启MySQL服务
由于是从源码包安装的Mysql，所以系统中是没有红帽常用的servcie mysqld restart这个脚本

只好手工重启
<span class="readmore"><a href="http://99dev.net/archives/264" title="[Original]重启MySQL的正确方法" target="_blank">阅读全文——共260字</a></span>]]></description>
			<content:encoded><![CDATA[<p>修改了my.cnf，需要重启MySQL服务</p>
<p>由于是从源码包安装的Mysql，所以系统中是没有红帽常用的servcie mysqld restart这个脚本</p>
<p><span id="more-264"></span></p>
<p>只好手工重启</p>
<p>有人建议Killall mysql。这种野蛮的方法其实是不行的，强制终止的话，如果造成表损坏，损失是巨大的。</p>
<p>这里推荐安全的重启方法</p>
<p><span style="color: #ff0000;">$mysql_dir/bin/mysqladmin -u root -p shutdown<br />
$mysql_dir/bin/safe_mysqld &amp;</span></p>
<p>mysqladmin和mysqld_safe位于Mysql安装目录的bin目录下，很容易找到的。</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/264/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Original]mysql如何才能远程控制</title>
		<link>http://99dev.net/archives/246</link>
		<comments>http://99dev.net/archives/246#comments</comments>
		<pubDate>Mon, 06 Oct 2008 08:34:49 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/?p=246</guid>
		<description><![CDATA[允许客户从远程连接，要保证两个条件：
1. mysql的身份认证信息中要允许客户从远程连接；
2. 防火墙打开mysql的端口(3306)
远程工具管理工具，推荐SQLyog企业版，一直用它，感觉还不错。
<span class="readmore"><a href="http://99dev.net/archives/246" title="[Original]mysql如何才能远程控制" target="_blank">阅读全文——共593字</a></span>]]></description>
			<content:encoded><![CDATA[<p>允许客户从远程连接，要保证两个条件：<br />
1. mysql的身份认证信息中要允许客户从远程连接；<br />
2. 防火墙打开mysql的端口(3306)</p>
<p>远程工具管理工具，推荐SQLyog企业版，一直用它，感觉还不错。</p>
<p>一般我们只允许用户从本机连接，不建议允许远程连接，这可能会带来额外的安全问题，以及增加网络流量。<span id="more-246"></span>如果客户一定要求，首先要知道对方从哪个IP过来，然后通过supervisor管理界面的MySQL数据库工具，点击左边的mysql数据库，点击User表，<br />
在出现的SQL语句输入框内输入：<br />
grant select, insert, update, delete on testdb001.* to testdb001_f@192.168.0.60 identified by &#8216;changeme&#8217;;<br />
（其中，数据库名是testdb001，用户名：testdb001_f，192.168.0.60是远程ip，changeme是密码。）<br />
执行之后，再执行flush privileges，即生效。</p>
<p>下面列举一个实例</p>
<blockquote><p>mysql&gt; grant all privileges on *.* to root@&#8217;%&#8217; identified by &#8216;iampassword&#8217;;<br />
Query OK, 0 rows affected (0.00 sec)</p>
<p>mysql&gt; flush privileges;<br />
Query OK, 0 rows affected (0.00 sec)</p>
<p>mysql&gt; quit<br />
Bye</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/246/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Collection]MySQL的root密码恢复方法</title>
		<link>http://99dev.net/archives/215</link>
		<comments>http://99dev.net/archives/215#comments</comments>
		<pubDate>Wed, 01 Oct 2008 13:44:18 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/?p=215</guid>
		<description><![CDATA[#/etc/rc.d/init.d/mysqld stop //停止MYSQL
#/bin/mysqld_safe &#8211;skip-grant-tables&#38; //使用“-skip-grant-tables”参数来启动MySQL。
# /usr/bin/mysql -u root
mysql&#62; use mysql
<span class="readmore"><a href="http://99dev.net/archives/215" title="[Collection]MySQL的root密码恢复方法" target="_blank">阅读全文——共275字</a></span>]]></description>
			<content:encoded><![CDATA[<p>#/etc/rc.d/init.d/mysqld stop //停止MYSQL</p>
<p>#/bin/mysqld_safe &#8211;skip-grant-tables&amp; //使用“-skip-grant-tables”参数来启动MySQL。</p>
<p><span id="more-215"></span># /usr/bin/mysql -u root</p>
<p>mysql&gt; use mysql</p>
<p>mysql&gt; UPDATE user SET password=password(&#8216;newpassword&#8217;) WHERE user=&#8217;root&#8217;;</p>
<p>mysql&gt; FLUSH PRIVILEGES;</p>
<p>mysql&gt;quit</p>
<p>#/etc/rc.d/init.d/mysqld restart</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/215/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Original]数据库二进制文件清理</title>
		<link>http://99dev.net/archives/208</link>
		<comments>http://99dev.net/archives/208#comments</comments>
		<pubDate>Wed, 01 Oct 2008 13:32:25 +0000</pubDate>
		<dc:creator>蒼</dc:creator>
				<category><![CDATA[MySQL数据库]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://99dev.net/archives/208</guid>
		<description><![CDATA[系统长期运行后，会产生大量的类似 mysql-bin.000151的日志文件，体积大占空间，且不会定期自动清理。

-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-13 mysql-bin.000140
-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-14 mysql-bin.000141
<span class="readmore"><a href="http://99dev.net/archives/208" title="[Original]数据库二进制文件清理" target="_blank">阅读全文——共734字</a></span>]]></description>
			<content:encoded><![CDATA[<p>系统长期运行后，会产生大量的类似 mysql-bin.000151的日志文件，体积大占空间，且不会定期自动清理。</p>
<p><span id="more-208"></span></p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-13 mysql-bin.000140</p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-14 mysql-bin.000141</p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-15 mysql-bin.000142</p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-16 mysql-bin.000143</p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-17 mysql-bin.000144</p>
<p style="padding-left: 30px; ">-rw-rw&#8212;- 1 mysql mysql 1048577 2007-03-18 mysql-bin.000145</p>
<p> </p>
<p>对于MySQL5以上的版本，可以使用以下命令清除</p>
<p>a.使用mysql客户端连接数据库</p>
<p>b.使用PURGE MASTER或者PURGE MASTER LOGS（二者只需运行其中一个即可）</p>
<p> </p>
<p style="padding-left: 30px;"><span style="color: #000080;">·清理前</span><br />
[root@hqu-mysql bin]# df<br />
Filesystem 1K-块 已用 可用 已用% 挂载点<br />
/dev/ida/c0d0p1 67993588 60106780 4432836 94% /<br />
none 517316 0 517316 0% /dev/shm</p>
<p style="padding-left: 30px;"><span style="color: #000080;">·清理后</span></p>
<p style="padding-left: 30px;">[root@hqu-mysql bin]# df</p>
<p style="padding-left: 30px;">Filesystem 1K-块 已用 可用 已用% 挂载点</p>
<p style="padding-left: 30px;">/dev/ida/c0d0p1 67993588 10680828 53858788 17% /</p>
<p style="padding-left: 30px;">none 517316 0 517316 0% /dev/shm</p>
<p style="padding-left: 30px;"> </p>
<p>整理前后，效果是十分明显的，马上就可以腾出很多空间。</p>
]]></content:encoded>
			<wfw:commentRss>http://99dev.net/archives/208/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
