<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post">html
<p><span style="white-space:pre"></span><span style="font-size:24px">mycat是最近很火的一款國人發明的分佈式數據庫中間件,它是基於阿里的cobar的基礎上進行開發的</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span> 搭建以前咱們先要配置mysql的主從複製,這個過程很長,我這裏就不寫了,有興趣的能夠看看我寫的這篇文章。</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><a target="_blank" href="http://blog.csdn.net/u011325787/article/details/51422204">linux centos下mysql數據庫的主從複製環境搭建</a></span></span></p> <p><br> </p> <p><span style="white-space:pre"></span><span style="font-size:24px">mycat在應用當中的做用能夠看下圖</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516110849013" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>mycat</span>可讓程序員只須要關心業務代碼的編寫,而不用擔憂後端數據庫集羣的負載均衡,讀寫分離,分庫分表的數據分片邏輯的編寫,只要直接鏈接mycat就能夠了</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>首先咱們準備一臺乾淨的centos機器,安裝好jdk</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516111642055" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>解壓</span>mycat的安裝包到/user/local/下</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516112117151" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>設置</span>mycat的環境變量</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 1728px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_1" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>vi /etc/profile </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_1_6824718" name="code" class="html" style="display: none;"> vi /etc/profile</pre><br> <img src="http://img.blog.csdn.net/20160516112240323" alt=""> <p></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>使</span>配置文件當即生效</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 1914px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_2" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>source /etc/profile </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_2_2648024" name="code" class="html" style="display: none;">source /etc/profile</pre><span style="white-space:pre"></span> <p></p> <p><span style="font-size:24px"><br> </span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>進入mycat的配置文件目錄</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 2071px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_3" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>cd /usr/local/mycat/conf/ </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_3_9442439" name="code" class="html" style="display: none;">cd /usr/local/mycat/conf/</pre><span style="white-space:pre"></span><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 2140px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_4" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_4" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>vi schema.xml </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_4_2964451" name="code" class="html" style="display: none;">vi schema.xml</pre><span style="white-space:pre"> </span>這個配置文件主要是用來配置數據庫節點,邏輯表等等東西的 <p></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 2297px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_5" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_5" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=5&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span class="tag"><?</span><span class="tag-name">xml</span><span> </span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span class="tag">?></span><span> </span></span></li><li class=""><span><!DOCTYPE mycat:schema SYSTEM "schema.dtd"<span class="tag">></span><span> </span></span></li><li class="alt"><span><span class="tag"><</span><span class="tag-name">mycat:schema</span><span> </span><span class="attribute">xmlns:mycat</span><span>=</span><span class="attribute-value">"http://org.opencloudb/"</span><span class="tag">></span><span> </span></span></li><li class=""><span> </span></li><li class="alt"><span> <span class="comments"><!-- 定義MyCat的邏輯庫 --></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">schema</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"pcx_schema"</span><span> </span><span class="attribute">checkSQLschema</span><span>=</span><span class="attribute-value">"false"</span><span> </span><span class="attribute">sqlMaxLimit</span><span>=</span><span class="attribute-value">"100"</span><span> </span><span class="attribute">dataNode</span><span>=</span><span class="attribute-value">"pcxNode"</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">schema</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> </span></li><li class=""><span> <span class="comments"><!-- 定義MyCat的數據節點 --></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">dataNode</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"pcxNode"</span><span> </span><span class="attribute">dataHost</span><span>=</span><span class="attribute-value">"dtHost"</span><span> </span><span class="attribute">database</span><span>=</span><span class="attribute-value">"pcx"</span><span> </span><span class="tag">/></span><span> </span></span></li><li class=""><span> </span></li><li class="alt"><span> </span></li><li class=""><span> <span class="comments"><!-- 定義數據主機dtHost,鏈接到MySQL讀寫分離集羣 ,schema中的每個dataHost中的host屬性值必須惟一--></span><span> </span></span></li><li class="alt"><span> <span class="comments"><!-- dataHost實際上配置就是後臺的數據庫集羣,一個datahost表明一個數據庫集羣 --></span><span> </span></span></li><li class=""><span> <span class="comments"><!-- balance="1",所有的readHost與stand by writeHost參與select語句的負載均衡--></span><span> </span></span></li><li class="alt"><span> <span class="comments"><!-- writeType="0",全部寫操做發送到配置的第一個writeHost,這裏就是咱們的hostmaster,第一個掛了切到還生存的第二個writeHost--></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">dataHost</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"dtHost"</span><span> </span><span class="attribute">maxCon</span><span>=</span><span class="attribute-value">"500"</span><span> </span><span class="attribute">minCon</span><span>=</span><span class="attribute-value">"20"</span><span> </span><span class="attribute">balance</span><span>=</span><span class="attribute-value">"1"</span><span> </span></span></li><li class="alt"><span> <span class="attribute">writeType</span><span>=</span><span class="attribute-value">"0"</span><span> </span><span class="attribute">dbType</span><span>=</span><span class="attribute-value">"mysql"</span><span> </span><span class="attribute">dbDriver</span><span>=</span><span class="attribute-value">"native"</span><span> </span><span class="attribute">switchType</span><span>=</span><span class="attribute-value">"2"</span><span> </span><span class="attribute">slaveThreshold</span><span>=</span><span class="attribute-value">"100"</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="comments"><!--心跳檢測 --></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">heartbeat</span><span class="tag">></span><span>show slave status</span><span class="tag"></</span><span class="tag-name">heartbeat</span><span class="tag">></span><span> </span></span></li><li class=""><span> </span></li><li class="alt"><span> <span class="comments"><!--配置後臺數據庫的IP地址和端口號,還有帳號密碼 --></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">writeHost</span><span> </span><span class="attribute">host</span><span>=</span><span class="attribute-value">"hostMaster"</span><span> </span><span class="attribute">url</span><span>=</span><span class="attribute-value">"192.168.1.6:3306"</span><span> </span><span class="attribute">user</span><span>=</span><span class="attribute-value">"root"</span><span> </span><span class="attribute">password</span><span>=</span><span class="attribute-value">"root"</span><span> </span><span class="tag">/></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">writeHost</span><span> </span><span class="attribute">host</span><span>=</span><span class="attribute-value">"hostSlave"</span><span> </span><span class="attribute">url</span><span>=</span><span class="attribute-value">"192.168.1.7:3306"</span><span> </span><span class="attribute">user</span><span>=</span><span class="attribute-value">"root"</span><span> </span><span class="attribute">password</span><span>=</span><span class="attribute-value">"root"</span><span> </span><span class="tag">/></span><span> </span></span></li><li class=""><span> <span class="tag"></</span><span class="tag-name">dataHost</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> </span></li><li class=""><span> </span></li><li class="alt"><span><span class="tag"></</span><span class="tag-name">mycat:schema</span><span class="tag">></span><span> </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_5_9725847" name="code" class="html" style="display: none;"><?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://org.opencloudb/">mysql
<!-- 定義MyCat的邏輯庫 --> <schema name="pcx_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="pcxNode"></schema> <!-- 定義MyCat的數據節點 --> <dataNode name="pcxNode" dataHost="dtHost" database="pcx" /> <!-- 定義數據主機dtHost,鏈接到MySQL讀寫分離集羣 ,schema中的每個dataHost中的host屬性值必須惟一--> <!-- dataHost實際上配置就是後臺的數據庫集羣,一個datahost表明一個數據庫集羣 --> <!-- balance="1",所有的readHost與stand by writeHost參與select語句的負載均衡--> <!-- writeType="0",全部寫操做發送到配置的第一個writeHost,這裏就是咱們的hostmaster,第一個掛了切到還生存的第二個writeHost--> <dataHost name="dtHost" maxCon="500" minCon="20" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100"> <!--心跳檢測 --> <heartbeat>show slave status</heartbeat> <!--配置後臺數據庫的IP地址和端口號,還有帳號密碼 --> <writeHost host="hostMaster" url="192.168.1.6:3306" user="root" password="root" /> <writeHost host="hostSlave" url="192.168.1.7:3306" user="root" password="root" /> </dataHost>
</mycat:schema> </pre><span style="white-space:pre"></span>接下來配置用戶權限,系統變量linux
<p></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 2887px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_6" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_6" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=6&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>vi server.xml </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_6_5091804" name="code" class="html" style="display: none;"> vi server.xml</pre><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 2956px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_7" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_7" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=7&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span class="tag"><?</span><span class="tag-name">xml</span><span> </span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span> </span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">"UTF-8"</span><span class="tag">?></span><span> </span></span></li><li class=""><span><!-- - - Licensed under the Apache License, Version 2.0 (the "License"); </span></li><li class="alt"><span> - you may not use this file except in compliance with the License. - You </span></li><li class=""><span> may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 </span></li><li class="alt"><span> - - Unless required by applicable law or agreed to in writing, software - </span></li><li class=""><span> distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT </span></li><li class="alt"><span> WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the </span></li><li class=""><span> License for the specific language governing permissions and - limitations </span></li><li class="alt"><span> under the License. --<span class="tag">></span><span> </span></span></li><li class=""><span><!DOCTYPE mycat:server SYSTEM "server.dtd"<span class="tag">></span><span> </span></span></li><li class="alt"><span><span class="tag"><</span><span class="tag-name">mycat:server</span><span> </span><span class="attribute">xmlns:mycat</span><span>=</span><span class="attribute-value">"http://org.opencloudb/"</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">system</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> <span class="comments"><!-- 這裏配置的都是一些系統屬性,能夠本身查看mycat文檔 --></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"defaultSqlParser"</span><span class="tag">></span><span>druidparser</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"charset"</span><span class="tag">></span><span>utf8mb4</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"></</span><span class="tag-name">system</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> </span></li><li class=""><span> </span></li><li class="alt"><span> </span></li><li class=""><span> <span class="comments"><!-- 用戶1,對應的MyCat邏輯庫鏈接到的數據節點對應的主機爲主從複製集羣 --></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">user</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user1"</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span class="tag">></span><span>root</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"schemas"</span><span class="tag">></span><span>pcx_schema</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"></</span><span class="tag-name">user</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> </span></li><li class=""><span> <span class="comments"><!-- 用戶2,只讀權限--></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">user</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user2"</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span class="tag">></span><span>root</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"schemas"</span><span class="tag">></span><span>pcx_schema</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class=""><span> <span class="tag"><</span><span class="tag-name">property</span><span> </span><span class="attribute">name</span><span>=</span><span class="attribute-value">"readOnly"</span><span class="tag">></span><span>true</span><span class="tag"></</span><span class="tag-name">property</span><span class="tag">></span><span> </span></span></li><li class="alt"><span> <span class="tag"></</span><span class="tag-name">user</span><span class="tag">></span><span> </span></span></li><li class=""><span> </span></li><li class="alt"><span><span class="tag"></</span><span class="tag-name">mycat:server</span><span class="tag">></span><span> </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_7_8613815" name="code" class="html" style="display: none;"><?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://org.opencloudb/"> <system> <!-- 這裏配置的都是一些系統屬性,能夠本身查看mycat文檔 --> <property name="defaultSqlParser">druidparser</property> <property name="charset">utf8mb4</property> </system>程序員
<!-- 用戶1,對應的MyCat邏輯庫鏈接到的數據節點對應的主機爲主從複製集羣 --> <user name="user1"> <property name="password">root</property> <property name="schemas">pcx_schema</property> </user> <!-- 用戶2,只讀權限--> <user name="user2"> <property name="password">root</property> <property name="schemas">pcx_schema</property> <property name="readOnly">true</property> </user>
</mycat:server> </pre><span style="white-space:pre"></span>修改防火牆,容許mycat的端口被外界訪問sql
<p></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 3654px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_8" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_8" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=8&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>vi /etc/sysconfig/iptables </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_8_1820182" name="code" class="html" style="display: none;"> vi /etc/sysconfig/iptables</pre><span style="white-space:pre"> </span><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 3776px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_9" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_9" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=9&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>-A INPUT -m state --state NEW -m tcp -p tcp --dport 8066 -j ACCEPT </span></span></li><li class=""><span>-A INPUT -m state --state NEW -m tcp -p tcp --dport 9066 -j ACCEPT </span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_9_6978395" name="code" class="html" style="display: none;">-A INPUT -m state --state NEW -m tcp -p tcp --dport 8066 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9066 -j ACCEPT</pre><br> <p><span style="white-space:pre"></span><span style="font-size:24px">而後重啓防火牆<br> </span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 3951px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_10" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_10" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=10&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>service iptables restart </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_10_2136609" name="code" class="html" style="display: none;">service iptables restart</pre><span style="white-space:pre"> </span><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 4073px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_11" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_11" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=11&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>cd /usr/local/mycat/bin/ </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_11_7818210" name="code" class="html" style="display: none;">cd /usr/local/mycat/bin/</pre><br> 進入mycat的腳本目錄<p></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516130746419" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>運行</span>啓動命令</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 4464px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_12" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_12" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=12&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>./mycat start </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_12_2976424" name="code" class="html" style="display: none;"> ./mycat start</pre><span style="white-space:pre"> </span>咱們可使用mysql客戶端鏈接或者navicat來鏈接mycat<p></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516130911468" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516131020917" alt=""></span></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"><br> </span></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"><span style="white-space:pre"></span>接下來</span>咱們</span>測試一下讀寫分離</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>進入mycat的日誌目錄</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p><div class="dp-highlighter bg_html"><div class="bar"><div class="tools"><b>[html]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" target="_blank">view plain</a><span data-mod="popu_168"> <a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" target="_blank">copy</a><div style="position: absolute; left: 763px; top: 5532px; width: 18px; height: 18px; z-index: 99;"><embed id="ZeroClipboardMovie_13" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="18" height="18" name="ZeroClipboardMovie_13" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=13&width=18&height=18" wmode="transparent"></div></span><span data-mod="popu_169"> <a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" target="_blank">print</a></span><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;" target="_blank">?</a></div></div><ol start="1" class="dp-xml"><li class="alt"><span><span>cd /usr/local/mycat/logs/ </span></span></li></ol></div><pre code_snippet_id="1685092" snippet_file_name="blog_20160516_13_8658025" name="code" class="html" style="display: none;">cd /usr/local/mycat/logs/</pre><span style="white-space:pre"> <img src="http://img.blog.csdn.net/20160516131316442" alt=""></span><p></p> <p></p> <p><span style="font-size:24px"><span style="white-space:pre"></span></span></p> <p><br> </p> <p><br> </p> <p><span style="white-space:pre"></span><span style="font-size:24px">先測試一下讀操做</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>咱們鏈接到mycat發送一句select *命令試試</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516132451739" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516132501239" alt=""></span></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>能夠看到select 操做被路由到了192.168.1.7也就是咱們的slave節點</span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>那麼咱們執行屢次看看</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516132631991" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>結果</span>仍是被路由到了讀節點</span></p> <p><span style="font-size:24px"><br> </span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>接下來咱們測試一下寫操做</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516133047691" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516133108560" alt=""><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>可見</span>插入被路由到了master節點</span></p> <p><span style="font-size:24px"><br> </span></p> <p><span style="font-size:24px"><span style="white-space:pre"></span>最後咱們看看master的數據是否被同步到slave</span></p> <p><span style="font-size:24px"><span style="white-space:pre"><img src="http://img.blog.csdn.net/20160516133316751" alt=""></span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><br> </span></span></p> <p><span style="font-size:24px"><span style="white-space:pre"><span style="white-space:pre"></span>記錄</span>成功的同步過來了,可見讀寫分離搭建成功。</span></p>數據庫
</div>express