<?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>后端技术@tjumicy &#187; MySQL</title>
	<atom:link href="http://micy.cn/blog/post/category/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://micy.cn/blog</link>
	<description>for Web Developer</description>
	<lastBuildDate>Mon, 08 Feb 2010 10:34:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>单机启动多个MySQL Server</title>
		<link>http://micy.cn/blog/post/37</link>
		<comments>http://micy.cn/blog/post/37#comments</comments>
		<pubDate>Wed, 23 Sep 2009 08:00:06 +0000</pubDate>
		<dc:creator>Qin Yafei</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://micy.cn/blog/?p=37</guid>
		<description><![CDATA[有时候我们需要在一台服务器启动多个 MySql Server。有一个方法是使用官方的多server管理工具 mysqld_multi ，适合多server运行时的管理，有专用的配置项方便日常管理维护。或者如果不想用 mysqld_multi，我们看看幕后都做了什么，简单的自己动手配置一下。 这篇来讲讲怎么通过自己配置，启动多个mysqld。 无论是发行版包管理工具安装的，还是自己编译安装的，都会默认读取 my.cnf 文件，位置一般是 /etc/my.cnf 、$MYSQL_HOME/my.cnf 等。发行版包管理工具一般只会安装在固定的位置，不方便同时装两个 mysql server。自己编译的话，也不方便临时再 install 到其他位置和读取另外的 my.cnf 文件。 参考 MySQL 官方手册的内容，使用现有的mysql系列可执行程序，在启动server和client时，指定 --defaults-file 参数，即刻达到效果。 1、编辑一个新的 my.cnf 文件用于新的server sudo cp /etc/my.cnf /etc/my.2.cnf sudo vim /etc/my.2.cnf 修改配置，防止和原有配置冲突。主要需要修改的有： 端口(port)、socket 文件路径 (socket)、数据文件路径 (datadir)； 如果用到 InnoDB（一般都会用到），则要修改 InnoDB 数据文件路径 (innodb_data_home_dir)、InnoDB 日志文件路径 (innodb_log_group_home_dir)； 如果用到replication时，还要修改server的唯一id (server-id)、下载到master的binlog的存放路径 (relay-log)等。其他配置修改，则根据具体情况自行调整。 这里注意 datadir 和 InnoDB 的几个dir，根据情况新建目录，并给 mysql [...]]]></description>
			<content:encoded><![CDATA[<p>有时候我们需要在一台服务器启动多个 MySql Server。有一个方法是使用官方的多server管理工具 <a href="http://dev.mysql.com/doc/refman/5.0/en/mysqld-multi.html" target="_blank">mysqld_multi</a> ，适合多server运行时的管理，有专用的配置项方便日常管理维护。或者如果不想用 mysqld_multi，我们看看幕后都做了什么，简单的自己动手配置一下。</p>
<p>这篇来讲讲怎么通过自己配置，启动多个mysqld。</p>
<p>无论是发行版包管理工具安装的，还是自己编译安装的，都会默认读取 my.cnf 文件，位置一般是 /etc/my.cnf 、$MYSQL_HOME/my.cnf 等。发行版包管理工具一般只会安装在固定的位置，不方便同时装两个 mysql server。自己编译的话，也不方便临时再 install 到其他位置和读取另外的 my.cnf 文件。</p>
<p>参考 <a href="http://dev.mysql.com/doc/refman/5.0/en/option-files.html" target="_blank">MySQL 官方手册的内容</a>，使用现有的mysql系列可执行程序，在启动server和client时，指定 <code>--defaults-file</code> 参数，即刻达到效果。</p>
<p><strong>1、编辑一个新的 my.cnf 文件用于新的server</strong></p>
<blockquote><p><code>sudo cp /etc/my.cnf /etc/my.2.cnf<br />
sudo vim /etc/my.2.cnf</code></p></blockquote>
<p>修改配置，防止和原有配置冲突。主要需要修改的有：</p>
<ul>
<li>端口(port)、socket 文件路径 (socket)、数据文件路径 (datadir)；</li>
<li>如果用到 InnoDB（一般都会用到），则要修改 InnoDB 数据文件路径 (innodb_data_home_dir)、InnoDB 日志文件路径 (innodb_log_group_home_dir)；</li>
<li>如果用到replication时，还要修改server的唯一id (server-id)、下载到master的binlog的存放路径 (relay-log)等。其他配置修改，则根据具体情况自行调整。</li>
</ul>
<p>这里注意 datadir 和 InnoDB 的几个dir，根据情况新建目录，并给 mysql 用户读写权限，否则无法启动正常。另外<strong>特别注意</strong>，需要确保这些路径不和 product 环境下对应配置的路径有冲突，除非你的确希望这样做，这可能会损坏对应路径下的数据文件。</p>
<p><strong>2、初始化DB</strong></p>
<blockquote><p><code>sudo /usr/bin/mysql_install_db --defaults-file=/etc/my.2.cnf<br />
sudo cd $datadir<br />
sudo chown mysql:mysql . -R</code></p></blockquote>
<p>这里 $datadir 是新配置的 my.cnf 的 datadir 项所配置的路径。注意需要对文件权限变更为 mysql，否则启动server时会出现文件无权限等错误。</p>
<p><strong>3、启动 mysqld</strong></p>
<blockquote><p><code>/usr/bin/mysqld_safe --defaults-file=/etc/my.2.cnf &amp;</code></p></blockquote>
<p>查看 $datadir/$host.err 观察是否启动成功。</p>
<p><strong>4、启动 client</strong></p>
<blockquote><p><code>/usr/bin/mysql --defaults-file=/etc/my.2.cnf -hlocalhost -uroot</code></p></blockquote>
<p>这些命令为了方便使用，可以写到shell脚本里。上述步骤只叙述了标题相关内容，在权限、性能等无关方面没有特别说明。另外注意 <code>--defaults-file</code> 的 <code>defaults</code> 有个 s，之前我自己写漏了，整个参数被忽律掉，总报错。:-) </ul>
]]></content:encoded>
			<wfw:commentRss>http://micy.cn/blog/post/37/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>读《MySQL性能调优与架构设计》</title>
		<link>http://micy.cn/blog/post/10</link>
		<comments>http://micy.cn/blog/post/10#comments</comments>
		<pubDate>Sat, 05 Sep 2009 09:22:08 +0000</pubDate>
		<dc:creator>Qin Yafei</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://micy.cn/blog/?p=10</guid>
		<description><![CDATA[《MySQL性能调优与架构设计》(豆瓣链接)(卓越链接)是阿里巴巴的DBA 简朝阳的书。 前段时间读了一下，综合来说还不错，少有的几次读的很畅快的书之一了。作者对MySQL的各部分知识掌握扎实全面，有不少内容是需要深入了解MySQL运行机制后才有的结论。 书分基础、优化、架构三部分。 基础篇 各种介绍，属于初步了解MySQL的程序员和DBA入门需要掌握的基础知识。 性能优化篇 展开讲了MySQL常遇到的各种锁机制、Server参数调优、存储引擎调优、Query优化等等。对MySQL性能调优相关内容有兴趣的话，读起来会比较有兴趣。这里涉及的知识是有一两年经验的LAMP程序员和DBA应当了解的相对高级一些的技巧和内部实现原理。 架构设计篇 展开讲了Replication复制原理、Cluster、大型系统的DB切分方案、监控。其中Cluster因为之前一直生产环境下可行性不高，我不太熟悉。Replication部分是比较基本需要了解的。数据切分虽然篇幅比较长，但介绍的比较泛，可能因为面向DBA有关，在与应用程序的结合上表述不多，实际应用时还有许多细节需要考虑。监控方面值得参考，结合附录Server status和variables参数含义一起理解，是目前不多的对监控介绍比较全面的资料。 此外，有一个小遗憾是第一版笔误和文字错误较多，以及部分内容因为篇幅所限略显不够严谨，虽然这些都不影响这是一本对MySQL爱好者不错的书。好消息是第一次印刷因为卖的好，基本上已经卖完了。作者在blog上更新了勘误表，部分勘误已经交付第二次印刷，新买到的应该会好不少。]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://t.douban.com/lpic/s3780587.jpg" title="MySQL性能调优与架构设计" class="alignnone" width="271" height="340" />《MySQL性能调优与架构设计》(<a href="http://www.douban.com/subject/3729677/">豆瓣链接</a>)(<a href="http://www.amazon.cn/mn/detailApp?prodid=bkbk953742">卓越链接</a>)是阿里巴巴的DBA <a href="http://www.jianzhaoyang.com/">简朝阳</a>的书。</p>
<p>前段时间读了一下，综合来说还不错，少有的几次读的很畅快的书之一了。作者对MySQL的各部分知识掌握扎实全面，有不少内容是需要深入了解MySQL运行机制后才有的结论。</p>
<p>书分基础、优化、架构三部分。</p>
<p><strong>基础篇</strong><br />
各种介绍，属于初步了解MySQL的程序员和DBA入门需要掌握的基础知识。</p>
<p><strong>性能优化篇</strong><br />
展开讲了MySQL常遇到的各种锁机制、Server参数调优、存储引擎调优、Query优化等等。对MySQL性能调优相关内容有兴趣的话，读起来会比较有兴趣。这里涉及的知识是有一两年经验的LAMP程序员和DBA应当了解的相对高级一些的技巧和内部实现原理。</p>
<p><strong>架构设计篇</strong><br />
展开讲了Replication复制原理、Cluster、大型系统的DB切分方案、监控。其中Cluster因为之前一直生产环境下可行性不高，我不太熟悉。Replication部分是比较基本需要了解的。数据切分虽然篇幅比较长，但介绍的比较泛，可能因为面向DBA有关，在与应用程序的结合上表述不多，实际应用时还有许多细节需要考虑。监控方面值得参考，结合附录Server status和variables参数含义一起理解，是目前不多的对监控介绍比较全面的资料。</p>
<p>此外，有一个小遗憾是第一版笔误和文字错误较多，以及部分内容因为篇幅所限略显不够严谨，虽然这些都不影响这是一本对MySQL爱好者不错的书。好消息是第一次印刷因为卖的好，基本上已经卖完了。作者在blog上更新了<a href="http://www.jianzhaoyang.com/mysql-performance-tuning-and-architecture/latest-errors-correction">勘误表</a>，部分勘误已经交付第二次印刷，新买到的应该会好不少。</p>
]]></content:encoded>
			<wfw:commentRss>http://micy.cn/blog/post/10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
