<?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>ZNJACK Prestashop &#38; PHP Architect &#187; mysql</title>
	<atom:link href="http://www.znjack.com/category/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.znjack.com</link>
	<description>The software architect is the technical driving force behind the project, not a visionary or dreamer.</description>
	<lastBuildDate>Mon, 05 Sep 2011 05:08:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>mysql的一些笔记</title>
		<link>http://www.znjack.com/mysql%e7%9a%84%e4%b8%80%e4%ba%9b%e7%ac%94%e8%ae%b0.html,14</link>
		<comments>http://www.znjack.com/mysql%e7%9a%84%e4%b8%80%e4%ba%9b%e7%ac%94%e8%ae%b0.html,14#comments</comments>
		<pubDate>Tue, 08 Sep 2009 02:01:25 +0000</pubDate>
		<dc:creator>znjack</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.znjack.com/?p=14</guid>
		<description><![CDATA[InnoDB表不支持FULLTEXT索引。所以可以使用myisam 如果大致的行数就足够了，则SHOW TABLE STATUS也可被使用。 alert table 重建索引   建立主从数据库复制的方法： FLUSH TABLES WITH READ LOCK; /*清除select*/ tar -cvf /tmp/mysql-snapshot.tar ./data /*备份数据*/ SHOW MASTER STATE /*获取二进制日志信息和偏移量*/ UNLOCK TABLES;/*解锁*/ [mysqld] log-bin server-id=1 /*主服务器my.ini的配置*/ server-id=2/*从服务器my.ini的配置*/ CHANGE MASTER TO -&#62; MASTER_HOST=&#8217;master_host_name&#8217;, -&#62; MASTER_USER=&#8217;replication_user_name&#8217;, -&#62; MASTER_PASSWord=&#8217;replication_passWord&#8217;, -&#62; MASTER_LOG_FILE=” -&#62; MASTER_LOG_POS=4 /*配置主机信息4是默认配置*/ START SLAVE;/*启动复制线程*/   SELECT &#8230; FROM &#8230; LOCK IN SHARE [...]]]></description>
			<content:encoded><![CDATA[<p>InnoDB表不支持FULLTEXT索引。所以可以使用myisam</p>
<p>如果大致的行数就足够了，则SHOW TABLE STATUS也可被使用。</p>
<p>alert table 重建索引</p>
<p> </p>
<p>建立主从数据库复制的方法：</p>
<p>FLUSH TABLES WITH READ LOCK; /*清除select*/</p>
<p>tar -cvf /tmp/mysql-snapshot.tar ./data /*备份数据*/</p>
<p>SHOW MASTER STATE /*获取二进制日志信息和偏移量*/</p>
<p>UNLOCK TABLES;/*解锁*/</p>
<p>[mysqld]</p>
<p>log-bin</p>
<p>server-id=1 /*主服务器my.ini的配置*/</p>
<p>server-id=2/*从服务器my.ini的配置*/</p>
<p>CHANGE MASTER TO</p>
<p>-&gt; MASTER_HOST=&#8217;master_host_name&#8217;,</p>
<p>-&gt; MASTER_USER=&#8217;replication_user_name&#8217;,</p>
<p>-&gt; MASTER_PASSWord=&#8217;replication_passWord&#8217;,</p>
<p>-&gt; MASTER_LOG_FILE=”</p>
<p>-&gt; MASTER_LOG_POS=4 /*配置主机信息4是默认配置*/</p>
<p>START SLAVE;/*启动复制线程*/</p>
<p> </p>
<p>SELECT &#8230; FROM &#8230; LOCK IN SHARE MODE对读遇到的所有索引记录设置共享的next-key锁定。</p>
<p>SELECT &#8230; FROM &#8230; FOR UPDATE对读遇到的所有索引记录设置独占的next-key锁定。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.znjack.com/mysql%e7%9a%84%e4%b8%80%e4%ba%9b%e7%ac%94%e8%ae%b0.html,14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql的锁定机制</title>
		<link>http://www.znjack.com/mysql%e7%9a%84%e9%94%81%e5%ae%9a%e6%9c%ba%e5%88%b6.html,12</link>
		<comments>http://www.znjack.com/mysql%e7%9a%84%e9%94%81%e5%ae%9a%e6%9c%ba%e5%88%b6.html,12#comments</comments>
		<pubDate>Tue, 08 Sep 2009 01:59:10 +0000</pubDate>
		<dc:creator>znjack</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.znjack.com/?p=12</guid>
		<description><![CDATA[SET AUTOCOMMIT=0;设置所有的事务都不会自动提交。 如果没有设置，可以临时用START TRANSACTION来开始事务，这样开始的也不会自动提交，直到这个事务结束。 普通的，用begin开始。 这是一个实验： CREATE TABLE t (i INT) ENGINE = InnoDB; START TRANSACTION 在A客户端检索SELECT * FROM t; 结果empty 在B客户端INSERT INTO t VALUES (1, 2); 在A客户端检索SELECT * FROM t; 结果empty （因为B客户端还没有提交） 在A客户端检索SELECT * FROM t LOCK IN SHARE MODE 线程等待B客户端提交 在B客户端commit A客户端返回 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#124; 1 &#124; 2 &#124; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 1 row in set [...]]]></description>
			<content:encoded><![CDATA[<p>SET AUTOCOMMIT=0;设置所有的事务都不会自动提交。<br />
如果没有设置，可以临时用START TRANSACTION来开始事务，这样开始的也不会自动提交，直到这个事务结束。<br />
普通的，用begin开始。</p>
<p>这是一个实验：<br />
CREATE TABLE t (i INT) ENGINE = InnoDB;<br />
START TRANSACTION<br />
在A客户端检索SELECT * FROM t;<br />
结果empty</p>
<p>在B客户端INSERT INTO t VALUES (1, 2);<br />
在A客户端检索SELECT * FROM t;<br />
结果empty （因为B客户端还没有提交）</p>
<p>在A客户端检索SELECT * FROM t LOCK IN SHARE MODE<br />
线程等待B客户端提交<br />
在B客户端commit<br />
A客户端返回<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
| 1 | 2 |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
1 row in set</p>
<p>在A客户端检索SELECT * FROM t<br />
结果empty （因为A客户端还处在事务中，由此可见事务对于select的影响）</p>
<p>在A客户端commit<br />
在A客户端检索SELECT * FROM t<br />
A客户端返回<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
| 1 | 2 |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
1 row in set</p>
<p>结论</p>
<ol>
<li>LOCK IN SHARE MODE可以绕过本session事务的限制，读取最新的，已经被commit的结果，但是如果有没有commit的部分，就会加入等待列队</li>
<li>事务对于select也是有很多影响的</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.znjack.com/mysql%e7%9a%84%e9%94%81%e5%ae%9a%e6%9c%ba%e5%88%b6.html,12/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

