<?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>Andrew Morgan's MySQL Cluster Database Blog</title>
	<atom:link href="http://www.clusterdb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.clusterdb.com</link>
	<description>MySQL Cluster database &#38; MySQL Replication</description>
	<lastBuildDate>Mon, 23 Aug 2010 17:30:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>MySQL Cluster 7.1.5 binaries released</title>
		<link>http://www.clusterdb.com/mysql-cluster/mysql-cluster-7-1-5-binaries-released/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/mysql-cluster-7-1-5-binaries-released/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 17:30:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster 7.1]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1246</guid>
		<description><![CDATA[The binary version for MySQL Cluster 7.1.5 has now been made available at http://www.mysql.com/downloads/cluster/ A description of all of the changes (fixes) that have gone into MySQL Cluster 7.1.5 (compared to 7.1.4) can be found in the MySQL Cluster 7.1.5 Change Log.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.clusterdb.com/wp-content/uploads/2010/02/mysql-cluster-logo-150x105.png"><img class="alignright size-full  wp-image-919" title="mysql-cluster-logo-150x105" src="http://www.clusterdb.com/wp-content/uploads/2010/02/mysql-cluster-logo-150x105.png" alt="" width="150" height="105" /></a>The binary version for MySQL Cluster 7.1.5 has now been made available at <a href="http://www.mysql.com/downloads/cluster/" target="_blank">http://www.mysql.com/downloads/cluster/</a></p>
<p>A description of all of the changes (fixes) that have gone into MySQL Cluster 7.1.5 (compared to 7.1.4) can be found in the <a href="http://www.clusterdb.com/wp-content/uploads/2010/08/MySQL_Cluster_7.1.5_ChangeLog.txt" target="_blank">MySQL Cluster 7.1.5 Change Log</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/mysql-cluster-7-1-5-binaries-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming webinar: MySQL Cluster deployment best practices</title>
		<link>http://www.clusterdb.com/mysql-cluster/upcoming-webinar-mysql-cluster-deployment-best-practices/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/upcoming-webinar-mysql-cluster-deployment-best-practices/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 15:10:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster 7.1]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>
		<category><![CDATA[Webcast]]></category>
		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1225</guid>
		<description><![CDATA[On Wednesday 25 August, Johan Anderson and Mat keep will be presenting a free webinar on the best practices for deploying MySQL Cluster. If you&#8217;d like to attend then just register here. Johan has years of MySQL Cluster professional services experience &#8211; and so if you&#8217;re interested in deploying a product ready MySQL Cluster database [...]]]></description>
			<content:encoded><![CDATA[<p>On Wednesday 25 August, Johan Anderson and Mat keep will be presenting a free webinar on the best practices for deploying MySQL Cluster. If you&#8217;d like to attend then just <a href="http://www.mysql.com/news-and-events/web-seminars/display-559.html" target="_blank"><span style="color: #000000;">register here</span></a>.</p>
<p>Johan has years of MySQL Cluster professional services experience &#8211; and so if you&#8217;re interested in deploying a product ready MySQL Cluster database then this is a must-view session. Even if you can&#8217;t make it live, register anyway and you&#8217;ll be sent a link to the recording and charts afterwards.</p>
<p><strong>Content</strong></p>
<p>An invaluable session for those who are about to, or who already have, deployed MySQL Cluster. Delivered by the lead MySQL Cluster professional services consultant in Oracle, this session will present best practices on deploying MySQL Cluster in order to accelerate time to service with the highest levels of availability and performance to support your most critical web and telecoms applications.</p>
<p>The session will cover:</p>
<div id="_mcePaste">
<ul>
<li>identifying suitable applications for MySQL Cluster</li>
<li>comparing differences in functionality and configuration with InnoDB</li>
<li>using triggers and stored procedures to implement foreign key functionality</li>
<li>hardware, networking and file system selection</li>
<li>dimensioning and capacity planning</li>
<li>configuration best practices</li>
<li>disk data deployment</li>
<li>administration and monitoring</li>
<li>services available to get started</li>
</ul>
</div>
<h3>WHEN</h3>
<div id="_mcePaste" style="padding-left: 30px;">Wednesday, August 25, 2010: 09:00 Pacific time (America)</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	06:00 Hawaii time</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	10:00 Mountain time (America)</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	11:00 Central time (America)</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	12:00 Eastern time (America)</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	16:00 UTC</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	17:00 Western European time</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	18:00 Central European time</div>
<div id="_mcePaste" style="padding-left: 30px;">Wed, Aug 25: 	19:00 Eastern European time</div>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/upcoming-webinar-mysql-cluster-deployment-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install, configure and run MySQL Cluster &#8211; demo video</title>
		<link>http://www.clusterdb.com/mysql-cluster/install-configure-and-run-mysql-cluster-demo-video/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/install-configure-and-run-mysql-cluster-demo-video/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 10:27:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[LINUX]]></category>
		<category><![CDATA[MySQL Cluster 7.1]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1216</guid>
		<description><![CDATA[There is a new video available: Demonstration of installing, configuring and running MySQL Cluster (LINUX) to accompany the MySQL Cluster Quick Start guides. The Flash video video lasts for about 7 minutes. If you aren&#8217;t able to view Flash on your device then a (poorer quality) version is included here &#8211; watch the Flash version if [...]]]></description>
			<content:encoded><![CDATA[<p>There is a new video available: <a href="http://www.mysql.com/products/database/cluster/cluster_install_demo_linux.html" target="_blank">Demonstration of installing, configuring and running MySQL Cluster (LINUX)</a> to accompany the <a href="http://www.mysql.com/products/database/cluster/get-started.html#quickstart" target="_blank">MySQL Cluster Quick Start guides</a>. The Flash video video lasts for about 7 minutes.</p>
<p>If you aren&#8217;t able to view Flash on your device then a (poorer quality) version is included here &#8211; <a href="http://www.mysql.com/products/database/cluster/cluster_install_demo_linux.html" target="_blank">watch the Flash version</a> if you&#8217;re able to!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/4OixfzhOJoA&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/4OixfzhOJoA&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/install-configure-and-run-mysql-cluster-demo-video/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>openSUSE 11.3 announces introduction of MySQL Cluster</title>
		<link>http://www.clusterdb.com/mysql-cluster/opensuse-11-3-announces-introduction-of-mysql-cluster/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/opensuse-11-3-announces-introduction-of-mysql-cluster/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 15:57:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1200</guid>
		<description><![CDATA[With the release of openSUSE 11.3 they announced the inclusion of MySQL Cluster. What does this mean as you could already install and run MySQL Cluster on openSUSE (and any other LINUX platform for that matter)? The change is that you can now use their tool (zypper) to install the MySQL Cluster RPMs and most [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1199" class="wp-caption alignright" style="width: 310px"><a href="http://www.clusterdb.com/wp-content/uploads/2010/07/OpenSuSe.jpg"><br />
<img class="size-medium wp-image-1199" title="OpenSuSe" src="http://www.clusterdb.com/wp-content/uploads/2010/07/OpenSuSe-300x240.jpg" alt="" width="300" height="240" /></a><p class="wp-caption-text">openSUSE 11.3 Running MySQL Cluster</p></div>
<p>With the release of openSUSE 11.3 they announced the <a href="http://news.opensuse.org/2010/07/15/opensuse-11-3-is-here/" target="_blank">inclusion of MySQL Cluster</a>. What does this mean as you could already install and run MySQL Cluster on openSUSE (and any other LINUX platform for that matter)? The change is that you can now use their tool (zypper) to install the MySQL Cluster RPMs and most importantly replace the &#8216;regular&#8217; MySQL Server with the one that should be used with MySQL Cluster.</p>
<p>Personally I prefer <a href="http://www.clusterdb.com/mysql-cluster/deploying-mysql-cluster-over-multiple-hosts/" target="_blank">installing MySQL Cluster from the tar ball</a> as it gives me more control (for example, openSUSE is using MySQL Cluster 7.0 but I prefer to use 7.1 as that&#8217;s the latest GA release). Having said that, I was pleasantly surprised at how simple it was using the zypper tool (running as root):</p>
<pre style="padding-left: 30px;"><span style="color: #800000;">linux-b3ga:/home/billy # zypper install mysql-cluster
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: mysql-cluster-7.0.13-2.10.i586 conflicts with namespace:otherproviders(mysql) provided by mysql-community-server-5.1.46-2.18.i586
 Solution 1: Following actions will be done:
 deinstallation of mysql-community-server-5.1.46-2.18.i586
 deinstallation of mysql-community-server-client-5.1.46-2.18.i586
 Solution 2: do not install mysql-cluster-7.0.13-2.10.i586

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

The following NEW packages are going to be installed:
 libmysqlclusterclient16 libmysqlclusterclient_r16 mysql-cluster
 mysql-cluster-client 

The following packages are going to be REMOVED:
 mysql-community-server mysql-community-server-client 

4 new packages to install, 2 to remove.
Overall download size: 8.4 MiB. After the operation, additional 1.4 MiB will be
used.
Continue? [y/n/?] (y): y

Removing mysql-community-server-5.1.46-2.18 [done]
Additional rpm output:
Shutting down service MySQL ..done

Removing mysql-community-server-client-5.1.46-2.18 [done]
Retrieving package libmysqlclusterclient_r16-7.0.13-2.10.i586 (1/4), 484.0 KiB (1.4 MiB unpacked)
Retrieving: libmysqlclusterclient_r16-7.0.13-2.10.i586.rpm [done (455.5 KiB/s)]
Installing: libmysqlclusterclient_r16-7.0.13-2.10 [done]
Retrieving package libmysqlclusterclient16-7.0.13-2.10.i586 (2/4), 483.0 KiB (1.4 MiB unpacked)
Retrieving: libmysqlclusterclient16-7.0.13-2.10.i586.rpm [done (67.2 KiB/s)]
Installing: libmysqlclusterclient16-7.0.13-2.10 [done]
Retrieving package mysql-cluster-client-7.0.13-2.10.i586 (3/4), 150.0 KiB (339.0 KiB unpacked)
Retrieving: mysql-cluster-client-7.0.13-2.10.i586.rpm [done]
Installing: mysql-cluster-client-7.0.13-2.10 [done]
Retrieving package mysql-cluster-7.0.13-2.10.i586 (4/4), 7.3 MiB (26.9 MiB unpacked)
Retrieving: mysql-cluster-7.0.13-2.10.i586.rpm [done (583.8 KiB/s)]
Installing: mysql-cluster-7.0.13-2.10 [done]
</span></pre>
<p>At this point the regular MySQL Server (mysqld) has been replaced with the one designed for use with MySQL Cluster (still works for other storage engines).</p>
<p>As I also want to run the management and data nodes on the same server, I installed those too (along with the tools):</p>
<pre style="padding-left: 30px;"><span style="color: #800000;">linux-b3ga:/home/billy # zypper in mysql-cluster-ndb-management</span></pre>
<pre style="padding-left: 30px;"><span style="color: #800000;">linux-b3ga:/home/billy # zypper in mysql-cluster-ndb-storage</span></pre>
<pre style="padding-left: 30px;"><span style="color: #800000;">linux-b3ga:/home/billy # zypper install mysql-cluster-ndb-tools</span></pre>
<p>Once the installations are complete you can configure, fire up and test MySQL Cluster as described in <a href="http://www.clusterdb.com/mysql-cluster/deploying-mysql-cluster-over-multiple-hosts/" target="_blank">previous post</a>. Note that ndb_mgmd, ndbd/ndbmtd and mysqld will be in /usr/sbin while mysql_install_db, ndb_mgm and mysql will be in /usr/local/bin.</p>
<p>When you connect the mysql client, you&#8217;ll see a confirmation that you&#8217;re using the MySQL Cluster version of the MySQL Server:</p>
<pre style="padding-left: 30px;"><span style="color: #800000;">billy@linux-b3ga:~/my_cluster&gt; mysql -u root -h 127.0.0.1 -P3306 </span></pre>
<pre style="padding-left: 30px;"><span style="color: #800000;">Welcome to the MySQL monitor.  Commands end with ; or \g.
</span><span style="color: #800000;">Your MySQL connection id is 2
</span><span style="color: #800000;"><strong>Server version: 5.1.41-ndb-7.0.13 SUSE MySQL Cluster RPM</strong></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/opensuse-11-3-announces-introduction-of-mysql-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing MEMORY storage engine with MySQL Cluster</title>
		<link>http://www.clusterdb.com/mysql-cluster/replacing-memory-storage-engine-with-mysql-cluster-2/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/replacing-memory-storage-engine-with-mysql-cluster-2/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 15:33:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1187</guid>
		<description><![CDATA[Many people use the MySQL MEMORY storage engine for applications where they don&#8217;t need their data to be highly available or even survive restarts. Where this works best is for applications that are dominated by reads and (obviously) where the data doesn&#8217;t need to survive any kinds of problems (or where it can be recovered [...]]]></description>
			<content:encoded><![CDATA[<p>Many people use the MySQL MEMORY storage engine for applications where they don&#8217;t need their data to be highly available or even survive restarts. Where this works best is for applications that are dominated by reads and (obviously) where the data doesn&#8217;t need to survive any kinds of problems (or where it can be recovered from another source). Typical applications are :<a href="http://www.clusterdb.com/wp-content/uploads/2010/07/Cluster-and-MEMORY-performance.jpg"><img class="alignright size-medium wp-image-1184" title="Cluster and MEMORY performance" src="http://www.clusterdb.com/wp-content/uploads/2010/07/Cluster-and-MEMORY-performance-300x180.jpg" alt="" width="300" height="180" /></a></p>
<div id="_mcePaste">
<ul>
<li>Caching of small tables to reduce the latency of database look-ups.</li>
<li>Simple session management (i.e. with no analytics or reporting on the session data).</li>
<li>Buffering of multiple updates for batched inserts into tables managed by other MySQL storage engines.  (Note requires additional custom application development).</li>
</ul>
</div>
<p>While great for some applications (at least initially), as the application requirements start to grow (need for transactions, data persistence/durability, increasing number of write operations, need to scale) then either you need to migrate away from MEMORY or implement more and more data management functionality needs in your application.</p>
<p>Why not consider using MySQL Cluster instead? While the headline Cluster configurations may scale out horizontally and provide 99.999+% availability, it is simple to configure out those features to provide a pure-memory, single host database as described in &#8220;<a href="http://www.clusterdb.com/mysql-cluster/how-can-a-database-be-in-memory-and-durable-at-the-same-time/" target="_blank">How can a database be in-memory and durable at the same time?</a>&#8220;. What&#8217;s more if/when you need to add extra capabilities such as ACID transactions, scalability and high availability then those features are all available to you.</p>
<p>If you&#8217;re constrained to a single server and your application only reads data then there is a performance impact in using MySQL Cluster (in benchmarks, throughput was 3x higher for MEMORY) <strong>but</strong> remember that you can scale out MySQL Cluster to increase performance and for models with modest write rates MySQL Cluster provides a massive performance boost even when constrained to 1 server (as shown in the graph at the head of this post, Cluster delivers a 30x improvement performance improvement when running a Sysbench benchmark &#8211; together with a 3x reduction in latency). The biggest single reason for the massive performance difference is that MySQL Cluster has row-based locks whereas MEMORY uses table-level locks.</p>
<p>For a more detailed comparison, take a look at the new &#8220;<a href="http://www.mysql.com/why-mysql/white-papers/mysql-wp_cluster-7.0_Cluster_MEMORY.php" target="_blank">Scaling Web Services with MySQL Cluster: An Alternative to the MySQL Memory Storage Engine</a>&#8221; white paper and/or listen to the associated <a href="http://www.mysql.com/news-and-events/web-seminars/display-551.html" target="_blank">webinar</a>.</p>
<h3>Migrating Data from The Memory Storage Engine to MySQL Cluster</h3>
<p>As a starting point, it is important to understand that the MySQL Server (mysqld) binary that is provided as part of MySQL Community Edition or MySQL Enterprise Server is not suitable for use with MySQL Cluster.  Therefore it is necessary to migrate your database to an instance of mysqld that is packaged with the MySQL Cluster software.</p>
<p>This post looks at how to migrate your data from a ‘regular’ MySQL Server to MySQL Cluster. Although MySQL Cluster is typically run over multiple servers to provide High Availability (HA), for this example migration it is run on a single server (the logic being that we’re replacing a MEMORY database that has no HA requirements). If you want to move to a HA configuration then the main change is that the MySQL Cluster configuration should include more nodes (processes) and they should be spread across multiple physical hosts. The example actually goes a step further in compromising HA and turns off the checkpointing of data to disk for the migrated tables – getting closer to the behavior of MEMORY tables.</p>
<p>For this example, there are assumed to be 2 MySQL installations on the server – the original binaries in <span style="color: #333399;">&lt;mysql-bin&gt;</span> and the ones for MySQL Cluster in <span style="color: #333399;">&lt;mysql-cluster-bin&gt;</span>.</p>
<p>Data in MyISAM and InnoDB tables (including system data such as user privileges and stored procedures) will appear in the new MySQL Server automatically.  By default the contents (but not schema) for the MEMORY tables will be lost. If it is important to keep that MEMORY data then use the mysqldump command to make a copy:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-bin&gt;/mysqldump -h 127.0.0.1 -P3306 -u root --no-create-db --no-create-info --result-file=./data.txt --databases clusterdb &gt; memory_data.txt</span></pre>
<p>Create a new configuration file for the MySQL Cluster deployment:</p>
<p><span style="white-space: pre;"> </span><strong>my_db/conf/config.ini:</strong></p>
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndbd default]
</span><span style="color: #993300;">noofreplicas=1
</span><span style="color: #993300;">datadir=/home/billy/mysql/my_db/data
</span><span style="color: #993300;">DataMemory=1000M
</span><span style="color: #993300;">IndexMemory=10M</span></pre>
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=localhost</span></pre>
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndb_mgmd]
</span><span style="color: #993300;">hostname=localhost
</span><span style="color: #993300;">datadir=/home/billy/mysql/my_db/data</span></pre>
<pre style="padding-left: 60px;"><span style="color: #993300;">[mysqld]</span></pre>
<p>Start up the management node and data node for the Cluster:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/ndb_mgmd -f conf/config.ini --configdir=./conf/ --initial
</span><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/ndbd -c 127.0.0.1:1186</span></pre>
<p>Wait until the nodes are started:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/ndb_mgm -e show</span></pre>
<pre style="padding-left: 30px;"><span style="color: #333399;">Connected to Management Server at: localhost:1186
</span><span style="color: #333399;">Cluster Configuration
</span><span style="color: #333399;">---------------------</span></pre>
<pre style="padding-left: 30px;"><span style="color: #333399;">[ndbd(NDB)]</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;"> 1 node(s)
</span><span style="color: #333399;">id=1</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;"> @127.0.0.1</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;"> (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)</span></pre>
<pre style="padding-left: 30px;"><span style="color: #333399;">[ndb_mgmd(MGM)] 1 node(s)
</span><span style="color: #333399;">id=2</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;"> @127.0.0.1</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;">(mysql-5.1.44 ndb-7.1.3)</span></pre>
<pre style="padding-left: 30px;"><span style="color: #333399;">[mysqld(API)]</span><span style="white-space: pre;"><span style="color: #333399;">	</span></span><span style="color: #333399;"> 1 node(s)
</span><span style="color: #333399;">id=3 (not connected, accepting connect from any host)</span></pre>
<p>Edit the configuration file (from the original MySQL Server) by adding the highlighted rows:</p>
<p style="padding-left: 30px;"><strong>my_db/conf/my.cnf:</strong></p>
<pre style="padding-left: 60px;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">ndbcluster
</span><span style="color: #993300;">datadir=/home/billy/mysql/my_db/data
</span><span style="color: #993300;">basedir=/usr/local/mysqlc # The MySQL Cluster installation, not the original</span></pre>
<p>Stop the original MySQL Server:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-bin&gt;/mysqladmin -u root -h 127.0.0.1 -P 3306 shutdown</span></pre>
<p>Start the new MySQL Server:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/mysqld --defaults-file=conf/my.cnf &amp;</span></pre>
<p>Make sure that the original database is upgraded so that the MySQL Cluster version of mysqld can properly use it and you get all of the benefits (for example, real-time reporting with ndbinfo):</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/mysql_upgrade</span></pre>
<p>Convert the MEMORY tables into MySQL Cluster ones (engine=ndb) with checkpointing to disk (logging) turned off:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">[my_db]$ &lt;mysql-cluster-bin&gt;/ mysql -u root -h 127.0.0.1 -P 3306</span></pre>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; SET ndb_table_no_logging=1;
</span><span style="color: #333399;">mysql&gt; ALTER TABLE tab1 engine=ndb;
</span><span style="color: #333399;">mysql&gt; ALTER TABLE tab2 engine=ndb;
</span><span style="color: #333399;">mysql&gt; ALTER TABLE tab3 engine=ndb;
</span><span style="color: #333399;">mysql&gt; SET ndb_table_no_logging=0;</span></pre>
<p>If the contents of the MEMORY tables were backed up then that data can optionally be loaded at this point (original MyISAM and InnoDB table data will already be populated):</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; SOURCE memory_data.txt;</span></pre>
<p>Finally, if there is any intent to use MySQL replication with the new version of the database then check that each of the tables has a primary key defined. If there is a table without a primary key then either make one or more of the existing columns be the primary key or add a new, auto-incrementing one:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; ALTER TABLE tab1 ADD COLUMN id BIGINT AUTO_INCREMENT PRIMARY KEY;</span></pre>
<p>This procedure involves loss of service while the data is migrated (it assumes that there is not enough memory available on the server for both databases to exist in parallel). If there is extra capacity available (at least during the migration) then it is possible to avoid the downtime by using replication.</p>
<p>In many cases, the migration would not be from a single MySQL Server to a single-server MySQL Cluster deployment, but instead from a pool of independent MySQL Servers (where the application shards data across them) to a multi-server MySQL deployment. This allows the application to stop sharding the data as all mysqld instances in the Cluster have visibility of all of the data. In this scenario, if the data from the original MySQL Servers needs to be maintained then a mysqldump would be performed on each of those Servers (for all tables) and the data loaded into any of the MySQL Servers in the MySQL Cluster deployment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/replacing-memory-storage-engine-with-mysql-cluster-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How can a database be in-memory and durable at the same time?</title>
		<link>http://www.clusterdb.com/mysql-cluster/how-can-a-database-be-in-memory-and-durable-at-the-same-time/</link>
		<comments>http://www.clusterdb.com/mysql-cluster/how-can-a-database-be-in-memory-and-durable-at-the-same-time/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 10:18:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[Durability]]></category>
		<category><![CDATA[Durable]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1163</guid>
		<description><![CDATA[There is often confusion as to how it can be claimed that MySQL Cluster delivers in-memory performance while also providing durability (the &#8220;D&#8221; in ACID). This post explains how that can be achieved as well as how to mix and match scalability, High Availability and Durability. As an aside, the user can specify specific MySQL [...]]]></description>
			<content:encoded><![CDATA[<p>There is often confusion as to how it can be claimed that MySQL Cluster delivers in-memory performance while also providing durability (the &#8220;D&#8221; in ACID). This post explains how that can be achieved as well as how to mix and match scalability, High Availability and Durability.</p>
<div id="attachment_1170" class="wp-caption alignright" style="width: 310px"><a href="http://www.clusterdb.com/wp-content/uploads/2010/07/Cluster_Venn1.jpg"><img class="size-medium wp-image-1170" title="Cluster_Venn" src="http://www.clusterdb.com/wp-content/uploads/2010/07/Cluster_Venn1-300x277.jpg" alt="" width="300" height="277" /></a><p class="wp-caption-text">MySQL Cluster deployment options</p></div>
<p>As an aside, the user can specify specific MySQL Cluster tables or columns to be stored on disk rather than in memory &#8211; this is a solution for extra capacity but you don&#8217;t need to take this performance hit just to have the data persisted to disk. This post focuses on the in-memory approach.</p>
<p>There is a great deal of flexibility in how you deploy MySQL Cluster with in-memory data &#8211; allowing the user to decide which features they want to make use of.</p>
<p>The simplest (and least common) topology is represented by the server sitting outside of the circles in the diagram. The data is held purely in memory in a single data node and so if power is lost then so is the data. This is an option if you&#8217;re looking for an alternative to the MEMORY storage engine (and should deliver better write performance as well as more functionality). To implement this, your configuration file would look something like this:</p>
<p style="padding-left: 30px;"><strong>config.ini (no Durability, Scalability or HA)</strong></p>
<pre style="padding-left: 60px;"><strong><span style="font-weight: normal;"><span style="color: #993300;">[ndbd default]
</span></span><span style="font-weight: normal;"><span style="color: #993300;"><strong>NoOfReplicas=1</strong>
</span></span><span style="font-weight: normal;"><span style="color: #993300;">datadir=E:\am233268\Documents\MySQL_Cluster\My_Cluster\data</span></span>

<span style="font-weight: normal;"><span style="color: #993300;">[ndbd]
</span></span><span style="font-weight: normal;"><span style="color: #993300;">hostname=localhost</span></span>

<span style="font-weight: normal;"><span style="color: #993300;">[ndb_mgmd]
</span></span><span style="font-weight: normal;"><span style="color: #993300;">hostname=localhost</span></span>

<span style="font-weight: normal;"><span style="color: #993300;">[mysqld]
</span></span><span style="font-weight: normal;"><span style="color: #993300;">hostname=localhost</span></span>
</strong></pre>
<p>By setting NoOfReplicas to 1, you are indicating that data should not be duplicated on a second data node. By only having one [ndbd] section you are specifying that there should be only 1 data node.</p>
<p>To indicate that the data should not be persisted to disk, make the following change:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; SET ndb_table_no_logging=1;</span></pre>
<p>Once ndb_table_no_logging has been set to 1, any Cluster tables that are subsequently created will be purely in-memory (and hence the contents will be volatile).</p>
<p>Durability can be added as an option. In this case, the changes to the in-memory data is persisted to disk asynchronously (thus minimizing any increase in transaction latency). Persistent is implemented using 2 mechanisms in combination:</p>
<ul>
<li>Periodically a snapshot of the in-memory data in the data node is written to disk &#8211; this is referred to as a Local Checkpoint (LCP)</li>
<li>Each change is written to a Redo log buffer and then periodically these buffers are flushed to a disk-based Redo log file &#8211; this is coordinated across all data nodes in the Cluster and is referred to as a Global Checkpoint (GCP)</li>
</ul>
<p>This checkpointing to disk is enabled by default but if you&#8217;ve previously turned it off then you can turn it back on with:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; SET ndb_table_no_logging=0;</span></pre>
<p>Following this change, any new Cluster tables will be asynchronously persisted to disk. If you have existing, volatile MySQL Cluster tables then you can now make them persistent:</p>
<pre style="padding-left: 30px;"><span style="color: #333399;">mysql&gt; ALTER TABLE tab1 ENGINE=ndb;</span></pre>
<p>High Availability can be implemented by including extra data node(s) in the Cluster and increasing the value of NoOfReplicas (2 is the normal value so that all data is held in 2 data nodes). The set (pair) of data nodes storing the same set of data is referred to as a node group. Data is synchronously replicated between the data nodes in the node group and so changes cannot be lost unless both data nodes fail at the same time. If the 2 data nodes making up a node group are run on different servers then the data can remain available for use even if one of the servers fails. The configuration file for single, 2 data node node group Cluster would look something like:</p>
<p style="padding-left: 30px;"><strong>config.ini (HA but no scalability)</strong></p>
<p style="padding-left: 30px;">
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndbd default]
</span><span style="color: #993300;"><strong>NoOfReplicas=2</strong>
</span><span style="color: #993300;">datadir=E:\am233268\Documents\MySQL_Cluster\My_Cluster\data</span></pre>
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<div id="_mcePaste" style="padding-left: 60px;">
<pre><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.2</span></pre>
</div>
<pre style="padding-left: 60px;"><span style="color: #993300;">[ndb_mgmd]
</span><span style="color: #993300;">hostname=192.168.0.3</span></pre>
<pre style="padding-left: 60px;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<div style="padding-left: 60px;">
<pre><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.2</span></pre>
</div>
<div>If you exceed the capacity or performance of a single node group then you can add extra data node(s) to add 1 or more extra node groups. An example configuration where we want scalability but <strong>not</strong> High Availability would have multiple node groups but each made up of a single data node. The configuration file would look something like this:</div>
<div style="padding-left: 30px;"><strong>config.ini (scalability but not HA)</strong></div>
<div>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndbd default]
</span><span style="color: #993300;"><strong>NoOfReplicas=1</strong>
</span><span style="color: #993300;">datadir=E:\am233268\Documents\MySQL_Cluster\My_Cluster\data</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<div id="_mcePaste" style="padding-left: 60px;">
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.2</span></pre>
</div>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndb_mgmd]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<div style="padding-left: 60px;">
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.2</span></pre>
</div>
</div>
<div>New node groups can be added to a Cluster without taking the database off-line (see <a href="http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster7_architecture.php" target="_blank">MySQL Cluster 7.1 New Features White Paper</a>).</div>
<div>As shown in the diagram at the start of this post it is also possible to implement any combination of Durability, Scalability and High Availability. A typical configuration that has scalability (in this case 2 node-groups), HA (2 data nodes in each node group) and durability (there by default) could be implemented with this configuration file:</div>
<div>
<div style="padding-left: 30px;"><strong>config.ini (Scalability,  HA &amp; Durability)</strong></div>
<div>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndbd default]
</span><span style="color: #993300;"><strong>NoOfReplicas=2</strong>
</span><span style="color: #993300;">datadir=E:\am233268\Documents\MySQL_Cluster\My_Cluster\data</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.1</span></pre>
<div id="_mcePaste" style="padding-left: 60px;">
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[ndbd]
</span><span style="color: #993300;">hostname=192.168.0.2</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[ndbd]
hostname=192.168.0.3</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[ndbd]
hostname=192.168.0.4</span></pre>
</div>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndb_mgmd]
</span><span style="color: #993300;">hostname=192.168.0.5</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[ndb_mgmd]
hostname=192.168.0.6</span></pre>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 60px;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.5</span></pre>
<div style="padding-left: 60px;">
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;"><span style="color: #993300;">[mysqld]
</span><span style="color: #993300;">hostname=192.168.0.6</span></pre>
</div>
</div>
</div>
<div>While that solution now provides you with scalability, durability and HA you are still vulnerable to the loss of the entire Cluster (for example, a catastrophic power failure for the whole data center) &#8211; to avoid this, asynchronous replication (Geo Replication) can be setup between 2 (or more) Clusters running at 2 different locations. There is no limit to the distance between the 2 sites. As with the nodal topology, Geo Replication can be used between Clusters deploying any combination of the features described here and there is no requirement for both sites to be using the same Cluster configuration (or even for the second site to store data in MySQL Cluster at all!). More details on Geo Replication scenarios can be found at<a href="http://www.clusterdb.com/mysql-cluster/setting-up-mysql-asynchronous-replication-for-high-availability/" target="_blank"> http://www.clusterdb.com/mysql-cluster/setting-up-mysql-asynchronous-replication-for-high-availability/</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql-cluster/how-can-a-database-be-in-memory-and-durable-at-the-same-time/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free webinar &#8211; Scaling web apps with MySQL (an alternative to the MEMORY storage engine)</title>
		<link>http://www.clusterdb.com/mysql/free-webinar-scaling-web-apps-with-mysql-an-alternative-to-the-memory-storage-engine/</link>
		<comments>http://www.clusterdb.com/mysql/free-webinar-scaling-web-apps-with-mysql-an-alternative-to-the-memory-storage-engine/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 14:23:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Webcast]]></category>
		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1155</guid>
		<description><![CDATA[Mat Keep and I will be presenting this free webinar on Wednesday 14 July. The MEMORY storage engine has been widely adopted by MySQL users to provide near-instant responsiveness with use cases such as caching and web session management. As these services evolve to support more users, so the scalability and availability demands can start [...]]]></description>
			<content:encoded><![CDATA[<p>Mat Keep and I will be presenting this free webinar on Wednesday 14 July. <a href="http://www.clusterdb.com/wp-content/uploads/2010/02/mysql-cluster-logo-150x105.png"><img class="alignright size-full wp-image-919" title="mysql-cluster-logo-150x105" src="http://www.clusterdb.com/wp-content/uploads/2010/02/mysql-cluster-logo-150x105.png" alt="" width="150" height="105" /></a></p>
<p>The MEMORY storage engine has been widely adopted by MySQL users to provide near-instant responsiveness with use cases such as caching and web session management. As these services evolve to support more users, so the scalability and availability demands can start to exceed the capabilities of the MEMORY storage engine.</p>
<p>The MySQL Cluster database, which itself can be implemented as a MySQL storage engine, is a viable alternative to address these evolving web service demands. MySQL Cluster can be configured and run in the same way as the MEMORY storage engine (ie on a single host with no replication and no persistence). As web services evolve, any of these attributes can then be added in any combination to deliver higher levels of scalability, availability and database functionality, especially for those workloads which predominately access data by the primary key.</p>
<p>As always, the webinar is free of charge but you will need to <a href="http://www.mysql.com/news-and-events/web-seminars/display-551.html" target="_blank">register here</a>.</p>
<p>Time:</p>
<ul>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>06:00 Hawaii time</li>
<li>Wed, Jul 14:  09:00 Pacific time (America)</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>10:00 Mountain time (America)</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>11:00 Central time (America)</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>12:00 Eastern time (America)</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>16:00 UTC</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>17:00 Western European time</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>18:00 Central European time</li>
<li>Wed, Jul 14: <span style="white-space: pre;"> </span>19:00 Eastern European time</li>
</ul>
<p>If you can&#8217;t make the live webinar then register anyway and you&#8217;ll get sent a link to the recording after the event.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql/free-webinar-scaling-web-apps-with-mysql-an-alternative-to-the-memory-storage-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench 5.2 goes GA &#8211; partial support for MySQL Cluster</title>
		<link>http://www.clusterdb.com/mysql/mysql-workbench-5-2-goes-ga-partial-support-for-mysql-cluster/</link>
		<comments>http://www.clusterdb.com/mysql/mysql-workbench-5-2-goes-ga-partial-support-for-mysql-cluster/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 16:48:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>
		<category><![CDATA[MySQL Workbench]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1146</guid>
		<description><![CDATA[The new version of MySQL Workbench (5.2.25) has just gone GA &#8211; see the Workbench BLOG for details. So what&#8217;s the relevance to MySQL Cluster? If you have a Cluster that uses MySQL Servers to provide SQL access then you can now use MySQL Workbench to manage those nodes: Start &#38; stop the mysqld processes [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1147" class="wp-caption alignright" style="width: 310px"><a href="http://www.clusterdb.com/wp-content/uploads/2010/07/wb_config.jpg"><img class="size-medium wp-image-1147" title="wb_config" src="http://www.clusterdb.com/wp-content/uploads/2010/07/wb_config-300x249.jpg" alt="" width="300" height="249" /></a><p class="wp-caption-text">Configure MySQL Server nodes for MySQL Cluster</p></div>
<p>The new version of MySQL Workbench (5.2.25) has just gone GA &#8211; see the <a href="http://wb.mysql.com/?p=611" target="_blank">Workbench BLOG for details</a>.</p>
<p>So what&#8217;s the relevance to MySQL Cluster? If you have a Cluster that uses MySQL Servers to provide SQL access then you can now use MySQL Workbench to manage those nodes:</p>
<ul>
<li>Start &amp; stop the mysqld processes</li>
<li>Configure the per-mysqld configuration data held in my.cnf or my.ini</li>
</ul>
<p>The reason that I describe the support as &#8216;partial&#8217; is that these MySQL Servers are treated as independent entities (no concept of them being part of a Cluster) and there is currently no way to use it to configure or manage the other Cluster processes (data and management nodes). Having said that, what is there provides a lot of value and Workbench is designed to be very extensible  and so hopefully there can be further MySQL Cluster support in the future.</p>
<div id="attachment_1148" class="wp-caption alignright" style="width: 310px"><a href="http://www.clusterdb.com/wp-content/uploads/2010/07/wb_variables.jpg"><img class="size-medium wp-image-1148" title="wb_variables" src="http://www.clusterdb.com/wp-content/uploads/2010/07/wb_variables-300x249.jpg" alt="" width="300" height="249" /></a><p class="wp-caption-text">View MySQL Cluster status variables</p></div>
<p>In addition to MySQL Cluster-specific configuration parameters, you can also access the Cluster-specific status variables (these are the ones starting with ndb).</p>
<p>While I&#8217;ve focussed on what&#8217;s unique to MySQL Cluster, you can of course use the other Workbench features with MySQL Cluster &#8211; for example:</p>
<ul>
<li>Creating (or reverse-engineering) your data model</li>
<li>Define your schema</li>
<li>View/write data to your tables</li>
<li>Create your SQL queries</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql/mysql-workbench-5-2-goes-ga-partial-support-for-mysql-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Syslog with MySQL Cluster</title>
		<link>http://www.clusterdb.com/mysql/using-syslog-with-mysql-cluster/</link>
		<comments>http://www.clusterdb.com/mysql/using-syslog-with-mysql-cluster/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 12:40:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1141</guid>
		<description><![CDATA[By default, MySQL Cluster sends log data to a file but you can also send it to the console or to Syslog; this article explains how to send it to Syslog. The example given here is for LINUX. In this example, I&#8217;ll use the &#8220;user&#8221; syslog facility name and so the first step is to [...]]]></description>
			<content:encoded><![CDATA[<p>By default, MySQL Cluster sends log data to a file but you can also send it to the console or to Syslog; this article explains how to send it to Syslog. The example given here is for LINUX.</p>
<p>In this example, I&#8217;ll use the &#8220;user&#8221; syslog facility name and so the first step is to make sure that syslog is configured to route those messages. If this hasn&#8217;t already been configured then add the following lines to <span style="color: #3366ff;">/etc/rsyslog.conf</span>:</p>
<pre style="padding-left: 30px;"><span style="color: #993300;"># Log user messages to local files
</span><span style="color: #993300;">user.*    /var/log/user</span></pre>
<p>For the changes to take effect, restart the syslog service:</p>
<pre style="padding-left: 30px;"><span style="color: #993300;">[root@ws1 etc]# service rsyslog restart
</span><span style="color: #993300;">Shutting down system logger:                               [  OK  ]
</span><span style="color: #993300;">Starting system logger:                                    [  OK  ]</span></pre>
<p>Note that you should make those changes as root.</p>
<p>Still as root, start up a stream of  any additions to the new log file:</p>
<pre style="padding-left: 30px;"><span style="color: #993300;">[root@ws1 etc]# tail -f /var/log/user</span></pre>
<p>To tell Cluster to use Syslog, add this line into the<span style="color: #3366ff;"> [ndb_mgmd] </span>section in config.ini:</p>
<pre style="padding-left: 30px;"><span style="color: #993300;">LogDestination=SYSLOG:facility=user</span></pre>
<p>and then start up your Cluster as normal.</p>
<p>You should now be able to see that MySQL Cluster information is being logged to<span style="color: #3366ff;"> /var/log/user</span>.</p>
<p>You can adjust how much information is logged either through the config file or from the <span style="color: #3366ff;">ndb_mgm</span> tool, for example &#8211; to see when global checkpoints are written:</p>
<pre style="padding-left: 30px;"><span style="color: #993300;">ndb_mgm&gt; all clusterlog checkpoint=15
</span><span style="color: #993300;">Executing CLUSTERLOG CHECKPOINT=15 on node 3 OK!
</span><span style="color: #993300;">Executing CLUSTERLOG CHECKPOINT=15 on node 4 OK!</span></pre>
<div>Note that a log-level of 15 will show all logs and 0 will show none. Other log categories besides CHECKPOINT are STARTUP, SHUTDOWN, STATISTICS, NODERESTART, CONNECTION, INFO, ERROR, CONGESTION, DEBUG and BACKUP.</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql/using-syslog-with-mysql-cluster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Cluster presentation at Oracle Open World 2010</title>
		<link>http://www.clusterdb.com/mysql/mysql-cluster-presentation-at-oracle-open-world-2010/</link>
		<comments>http://www.clusterdb.com/mysql/mysql-cluster-presentation-at-oracle-open-world-2010/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 10:16:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[MySQL Cluster 7.1]]></category>
		<category><![CDATA[MySQL Cluster CGE]]></category>

		<guid isPermaLink="false">http://www.clusterdb.com/?p=1136</guid>
		<description><![CDATA[As part of &#8220;MySQL Sunday&#8221; at this year&#8217;s Oracle Open World, Mat Keep and I will be presenting on the latest MySQL Cluster features. We&#8217;ll be presenting at 15:30 (Pacific Time) on 19th September (the event starts with a key note at 12:30). If you&#8217;re attending Oracle Open World then please indicate that you&#8217;d like [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.clusterdb.com/wp-content/uploads/2010/06/OracleOpenWorld.jpg"><img class="alignright size-medium wp-image-1137" title="OracleOpenWorld" src="http://www.clusterdb.com/wp-content/uploads/2010/06/OracleOpenWorld-300x89.jpg" alt="" width="300" height="89" /></a>As part of &#8220;MySQL Sunday&#8221; at this year&#8217;s Oracle Open World, Mat Keep and I will be presenting on the latest MySQL Cluster features. We&#8217;ll be presenting at 15:30 (Pacific Time) on 19th September (the event starts with a key note at 12:30).</p>
<p>If you&#8217;re attending Oracle Open World then please indicate that you&#8217;d like to attend the MySQL Sunday when you register. If you aren&#8217;t planning to go to Oracle Open World but will be in the San Francisco area then buying a Discover pass (only $50 if you register by 16 July) will get you into the MySQL Sunday sessions. <a href="http://www.oracle.com/us/openworld/036763.htm" target="_blank">Register here</a>.</p>
<p><a href="http://blogs.sun.com/MySQL/entry/mysql_sunday_tracks_at_oracle" target="_blank">For details on the presentations and speakers, check here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clusterdb.com/mysql/mysql-cluster-presentation-at-oracle-open-world-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
