<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3812360659149323517</id><updated>2012-02-24T15:15:21.992-07:00</updated><category term='user groups'/><category term='warehouse'/><category term='goscon'/><category term='Gnome3'/><category term='MySQL'/><category term='explain'/><category term='mysql facebook'/><category term='MySQL Utilities'/><category term='community'/><category term='events'/><category term='Triggers'/><category term='MySQL Replication'/><category term='mysql summary tables'/><category term='Baron'/><category term='full text search'/><category term='Oracle Ace'/><category term='MySQL Oracle ACE'/><category term='mysql cluster'/><category term='MySQL Training'/><category term='earthquake'/><category term='mysql meetup colorado'/><category term='Stored procedures'/><category term='MySQL and NetAPP'/><category term='feedback'/><category term='MySQL community Oracle open world'/><category term='mysql bugs'/><category term='innodb'/><category term='MySQL Events'/><category term='mysql RMOUG'/><category term='mysql community'/><category term='Developer Day'/><category term='Contribute'/><category term='ETl'/><category term='MySQL user groups'/><category term='labs'/><category term='debian'/><category term='Launchpad'/><category term='menagerie database'/><category term='mysql 5.6'/><category term='workbench'/><category term='Oracle Open World'/><category term='Scale'/><category term='OOW'/><category term='mysql drupal'/><category term='mysql developer days'/><category term='replication'/><category term='Xfce'/><title type='text'>sqlhjalp</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3146789272245186561</id><published>2012-02-21T13:05:00.001-07:00</published><updated>2012-02-21T13:07:53.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql drupal'/><title type='text'>Oracle at DrupalCon Denver Conference 2012</title><content type='html'>&lt;div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"&gt;&lt;a href="http://denver2012.drupal.org/register"&gt;&lt;img border="0" src="http://denver2012.drupal.org/sites/default/files/sponsor_160x310.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;Oracle is pleased to be a Bronze Sponsor of DrupalCon Denver. &lt;br /&gt;&amp;nbsp;                  &lt;br /&gt;DrupalCon will be held the Colorado Convention Center in Denver on&amp;nbsp; March 19-23, 2012. There are  community events scheduled throughout the entire week, some officially  by DrupalCon, others by sponsors and other community members.&lt;br /&gt;&lt;br /&gt;Come visit &lt;b&gt;Oracle Booth #400&lt;/b&gt; and find out the latest information about MySQL and Linux!&amp;nbsp;                                   &lt;/span&gt;&lt;/span&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;I will be at the booth so please stop by and say hello. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;           &lt;br /&gt;For event information and to register, &lt;a href="http://denver2012.drupal.org/register" target="_blank"&gt;click here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;&amp;nbsp;Oracle Events page with additional information can be found &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=148466&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=239"&gt;here&lt;/a&gt;. &amp;nbsp; &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=148466&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=239%20"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3146789272245186561?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3146789272245186561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/oracle-at-drupalcon-denver-conference.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3146789272245186561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3146789272245186561'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/oracle-at-drupalcon-denver-conference.html' title='Oracle at DrupalCon Denver Conference 2012'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4615192159670000215</id><published>2012-02-20T10:04:00.000-07:00</published><updated>2012-02-20T10:04:51.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='innodb'/><title type='text'>InnoDB Tablespace Automatically Expanding Issues</title><content type='html'>I recently received a question asking about InnoDB and the ability to autoextend the ibdata files.&lt;br /&gt;&lt;br /&gt;The question was basically this:&lt;br /&gt;If the database has 1 ibdata file that is using autoextend but also has a max value set, will it start a new file once the max value is reached.&lt;br /&gt;&lt;br /&gt;The answer is no it will not create a new file.You are able to use autoextend and have more than 1 ibdate file though. &lt;br /&gt;&lt;br /&gt;For example I made a simple example via a &lt;a href="https://www.virtualbox.org/"&gt;virtual box&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Started using: &lt;br /&gt;innodb_data_file_path&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = ibdata1:20M:autoextend:max:100M&lt;br /&gt;innodb_autoextend_increment&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 50M&lt;br /&gt;&lt;br /&gt;&amp;nbsp;I downloaded the full &lt;a href="https://launchpad.net/test-db/"&gt;employees dataset from launchpad&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Started the server and I have the 20M file.&lt;br /&gt;-rw-rw---- 1 mysql mysql&amp;nbsp; 20M Feb 20 10:53 ibdata1&lt;br /&gt;&lt;br /&gt;mysql -t &amp;lt; employees.sql&lt;br /&gt;ERROR 1114 (HY000) at line 18 in file: 'load_salaries.dump': The table 'salaries' is full&lt;br /&gt;&lt;br /&gt;I see the file grew to 100M and stopped. &lt;br /&gt;-rw-rw---- 1 mysql mysql 100M Feb 20 10:48 ibdata1&lt;br /&gt;&lt;br /&gt;I can start over to prove this does work as well.&lt;br /&gt;innodb_data_file_path&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = ibdata1:20M:autoextend:max:2G&lt;br /&gt;innodb_autoextend_increment&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 50M&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mysql -t &amp;lt; employees.sql&lt;br /&gt;...&lt;br /&gt;+------------------+&lt;br /&gt;| INFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;+------------------+&lt;br /&gt;| LOADING salaries |&lt;br /&gt;+------------------+&lt;br /&gt;-rw-rw---- 1 mysql mysql 1020M Feb 20 10:54 ibdata1 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You are able to use autoextend when using more than 1 ibdata file as well.&lt;br /&gt;&lt;br /&gt;innodb_data_file_path&amp;nbsp; = ibdata1:20M;ibdata2:20M:autoextend:max:2G&lt;br /&gt;innodb_autoextend_increment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 50M&lt;br /&gt;&lt;br /&gt;These are just simple examples but I hope this answers the question.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4615192159670000215?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4615192159670000215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/innodb-tablespace-automatically.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4615192159670000215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4615192159670000215'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/innodb-tablespace-automatically.html' title='InnoDB Tablespace Automatically Expanding Issues'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2181750946172500005</id><published>2012-02-17T11:55:00.000-07:00</published><updated>2012-02-17T11:55:39.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><category scheme='http://www.blogger.com/atom/ns#' term='user groups'/><title type='text'>MySQL User Group Day on FreeNode !</title><content type='html'>&lt;div class="beeki-body" style="padding: 5px 10px 5px 10px;"&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt; As MySQL Community Managers, Dave an myself are always looking for ways to gather feedback on MySQL.&amp;nbsp;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt; We want to make ourselves available to you. The current plan is the last  Monday of every month Dave and Myself will be on #freenode and join a  chat room called MySQL_user_groups.&amp;nbsp;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt; We will also try to be available as much as possible in a chat room called MySQL_Community.&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt; You can join us and ask questions or just let us know your opinions.&amp;nbsp;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt; We want to hear about everything from your best presentation topics, to  the worst. What is the biggest struggle you find with user groups ?&amp;nbsp;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;How  could Oracle help?&amp;nbsp;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="bki-p" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2181750946172500005?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2181750946172500005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/mysql-user-group-day-on-freenode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2181750946172500005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2181750946172500005'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/mysql-user-group-day-on-freenode.html' title='MySQL User Group Day on FreeNode !'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-850160079283086527</id><published>2012-02-16T11:46:00.000-07:00</published><updated>2012-02-16T11:46:11.742-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Training'/><title type='text'>MySQL for Database Administrators Training on Demand</title><content type='html'>I ran across the "Training on Demand" option for a MySQL for Database Administrators class. I thought I would share in case you missed it. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogs.oracle.com/MySQL/entry/mysql_for_dbas_training_on"&gt;https://blogs.oracle.com/MySQL/entry/mysql_for_dbas_training_on&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61762GC20"&gt;http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61762GC20&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They also are offering a&amp;nbsp; new course &lt;span style="font-size: small;"&gt;:&amp;nbsp; &lt;b&gt;MySQL Performance Tuning&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61820GC20"&gt;http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61820GC20&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;More information can be found on the &lt;b&gt;MySQL Database Administration and Development - Learning Path&lt;/b&gt; site.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getlppage?page_id=212&amp;amp;path=SDAD"&gt;http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getlppage?page_id=212&amp;amp;path=SDAD&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-850160079283086527?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/850160079283086527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/mysql-for-database-administrators.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/850160079283086527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/850160079283086527'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/mysql-for-database-administrators.html' title='MySQL for Database Administrators Training on Demand'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6006477412756237167</id><published>2012-02-14T16:43:00.000-07:00</published><updated>2012-02-14T16:43:08.595-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql summary tables'/><category scheme='http://www.blogger.com/atom/ns#' term='Stored procedures'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Summary Tables with MySQL</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in } --&gt; &lt;/style&gt;   &lt;div style="margin-bottom: 0in;"&gt;I was recently talking with a few people and the concept of summary tables came up as solutions for them. The issue is, they never thought of it. Hopefully this post will help them as well as others.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Summary Tables are not a new concept. They are exactly what they sound like, basically summary of existing data. Aggregated tables, materialized views and summary tables are very dominate in data warehouses. You can also take advantage of these concepts as part of your reporting systems as well.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So summary tables are real tables. So you can take advantage of indexes and etc with them. In the examples I am using, I consider them more of a summary table than aggregated tables . Depending on your application and needs it could grow into more of an aggregated tables and or materialized views situation.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;How you separate your data and tables is dependent on your reporting and application needs.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The following is a high level example of how you can use summary tables.  &lt;/div&gt;&lt;div style="border-bottom: 2.50pt double #000000; border-left: none; border-right: none; border-top: none; margin-bottom: 0in; padding-bottom: 0.03in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"&gt; &lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Let us assume that you have a report that is populated with different website traffic aspects.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This could be a report that includes impressions, hits and leads gathered via your site from some other sources. Other in the company, of course, want to spend money where it best makes money. So they need updated information reliably and do not want to wait for it.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Currently you have table for your reporting tools and you calculate ROI  per report request via SQL.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;For example:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE TABLE `some_report` (  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`traffic_source_id` int(5) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`ad_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliate_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliates_key` varchar(25) DEFAULT '',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`date_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`impressions` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`hits` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`leads` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;UNIQUE KEY `traffic` (`traffic_source_id`,`affiliate_id`,`ad_id`,`date_time`,`affiliates_key`), &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;KEY `date_time` (`date_time`)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;) ENGINE=InnoDB ;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This table is populated hourly, so an insert could be similar to the query below. Your system executes  queries like this thousands+ of time per day because it is based on different traffic sources as well as affiliate and their affiliate keys. So this table is going to grow dynamically, hours per day * traffic_source_id * affiliate_id * ad_id * affiliates_key.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;For example:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report VALUES (100,4343,9839,'SomeID',DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00'),89832,44916,22458);&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report VALUES (100,4343,9839,'SomeID2',DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00'),93332,34716,23438);&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report VALUES (100,2343,9839,'SomeID',DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00'),543232,44316,458);&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report VALUES (100,2343,9839,'SomeID2',DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00'),89832,24916,2458);&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report VALUES (100,5343,9839,'SomeID',DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00'),1239832,2344916,2538);&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Just for reference lets assume :&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;100 = Google.com&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;4343 = An ad words ad for MySQL&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;9839 = Some Marketing Company&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;SomeID = affiliates_key of some marketing company  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;You have reviewed your explains per query and your SQL query is the fastest you can get it. It just takes time to calculate all the ROIs when reports are spanning a lot of different entities. The web pages are taking to long and people are getting upset.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So you decide to change your tables and create a process to roll up your data across different summary tables using an ETL or Events or cron job based scripts. So your system populates the RETURN_VALUED per ad_id &amp;amp; affiliate_id. You do not know what the affiliate is paying out to other affiliates_keys but you are aware of what you spent and what the lead returns to you.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;First start with our lowest common denominator. Here you have data per hour.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE TABLE `some_report_hour` (  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`traffic_source_id` int(5) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`ad_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliate_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliates_key` varchar(25) DEFAULT '',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`date_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`impressions` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`hits` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`leads` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`cost` decimal(9,2) DEFAULT '00.00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`roi` decimal(7,2) DEFAULT '00.00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;UNIQUE KEY `traffic` (`traffic_source_id`,`affiliate_id`,`ad_id`,`date_time`,`affiliates_key`), &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;KEY `date_time` (`date_time`)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;) ENGINE=InnoDB ;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Then every hour it populates more data into the new table via your ETL / Event / Stored Procedure / Cron job Script. It depends on how you want to handle and decide your values for  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;For example:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DELIMITER // &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE PROCEDURE some_report_hour_procedure(IN affiliate_id int(6) , RETURN_VALUED int(6) , COST decimal(5,3)  ) &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;BEGIN &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO some_report_hour &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;SELECT traffic_source_id, ad_id, affiliate_id, affiliates_key, date_time, impressions, hits, leads, COST,   ROUND((SUM(leads * RETURN_VALUED ) / COST),2)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;FROM some_report r  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;WHERE r.date_time = DATE_FORMAT(NOW() ,'%Y-%m-%d %H:00:00')&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;GROUP BY traffic_source_id, ad_id, affiliate_id, affiliates_key; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;END // &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DELIMITER ;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE EVENT some_report_hour_event &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;ON SCHEDULE &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;EVERY 1 HOUR &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;COMMENT ' just an example. Depends on you how you want to populate these values. This is for just 1 affiliate_id ' &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DO &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;                                                            &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CALL some_report_hour_procedure(9839,5,100000); # (&lt;span style="font-size: xx-small;"&gt;affiliate_id , RETURN_VALUED , COST&lt;/span&gt;)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So the data is much like the following: &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+---------------------+-------------+---------+-------+-----------+---------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| traffic_source_id | ad_id | affiliate_id | affiliates_key | date_time           | impressions | hits    | leads | cost      | roi     | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+---------------------+-------------+---------+-------+-----------+---------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  2343 |         9839 | SomeID         | 2012-02-14 16:00:00 |      543232 |   44316 |   458 | 100000.00 |   22.90 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  2343 |         9839 | SomeID2        | 2012-02-14 16:00:00 |       89832 |   24916 |  2458 | 100000.00 |  122.90 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  4343 |         9839 | SomeID         | 2012-02-14 16:00:00 |       89832 |   44916 | 22458 | 100000.00 | 1122.91 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  4343 |         9839 | SomeID2        | 2012-02-14 16:00:00 |       93332 |   34716 | 23438 | 100000.00 | 1171.91 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  5343 |         9839 | SomeID         | 2012-02-14 16:00:00 |     1239832 | 2344916 |  2538 | 100000.00 |  126.90 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+---------------------+-------------+---------+-------+-----------+---------+&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Nothing is dynamically different but you have removed the ROI from your query. It will be a simple select now. But now you can use your ETL/Event/Cron Job Script to keep the day table updated as well.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE TABLE `some_report_day` (  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`traffic_source_id` int(5) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`ad_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliate_id` int(10) unsigned NOT NULL DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`affiliates_key` varchar(25) DEFAULT '',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`date_time` date NOT NULL DEFAULT '0000-00-00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`impressions` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`hits` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`leads` int(5) unsigned DEFAULT '0',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`cost` decimal(9,2) DEFAULT '00.00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;`roi` decimal(7,2) DEFAULT '00.00',  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;UNIQUE KEY `traffic` (`traffic_source_id`,`affiliate_id`,`ad_id`,`date_time`,`affiliates_key`), &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;KEY `date_time` (`date_time`)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;) ENGINE=InnoDB ;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Notice I left the field date_time labeled as date_time. This is assuming you might have your report presented via column names and you just adjust the FROM table on selects based on what type of report needed. This is of course dependent on your application.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Notice that your inserts are going to be “group by” to match your key.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;For example:  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE EVENT some_report_day_event&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;ON SCHEDULE&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;EVERY 1 HOUR&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;COMMENT 'updates some_report_day hourly'&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DO&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;REPLACE INTO some_report_day SELECT traffic_source_id, ad_id, affiliate_id, affiliates_key , DATE_FORMAT(NOW() ,'%Y-%m-%d') as date_time, SUM(impressions), SUM(hits), SUM(leads), SUM(cost), ROUND( SUM(leads) * 5 / SUM(cost) ,2) as ROI  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;FROM some_report_hour r  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;WHERE r.date_time BETWEEN DATE_FORMAT(NOW() ,'%Y-%m-%d 00:00:00') AND DATE_FORMAT(NOW() ,'%Y-%m-%d 23:59:59')  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;GROUP BY traffic_source_id, ad_id, affiliate_id, affiliates_key;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Now the reports that gather data per day and not per hour are going to be faster as they are going to be simple selects as well.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So the data is much like the following: &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+------------+-------------+---------+-------+-----------+------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| traffic_source_id | ad_id | affiliate_id | affiliates_key | date_time  | impressions | hits    | leads | cost      | roi  | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+------------+-------------+---------+-------+-----------+------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  2343 |         9839 | SomeID         | 2012-02-14 |      543232 |   44316 |   458 | 100000.00 | 0.02 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  2343 |         9839 | SomeID2        | 2012-02-14 |       89832 |   24916 |  2458 | 100000.00 | 0.12 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  4343 |         9839 | SomeID         | 2012-02-14 |       89832 |   44916 | 22458 | 100000.00 | 1.12 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  4343 |         9839 | SomeID2        | 2012-02-14 |       93332 |   34716 | 23438 | 100000.00 | 1.17 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|               100 |  5343 |         9839 | SomeID         | 2012-02-14 |     1239832 | 2344916 |  2538 | 100000.00 | 0.13 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+-------------------+-------+--------------+----------------+------------+-------------+---------+-------+-----------+------+&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in } --&gt; &lt;/style&gt;   &lt;div style="margin-bottom: 0in;"&gt;You can continue this concept for monthly and yearly data.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;You could also build summary tables broken down by affiliate_id and day for example.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;It really depends on what your after.  Just remember data is never deleted but just copied into summary table for ease of use and speed.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This is a very simple example but hopefully it gets you thinking and started on how you can summarize your data easily.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6006477412756237167?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6006477412756237167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/summary-tables-with-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6006477412756237167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6006477412756237167'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/summary-tables-with-mysql.html' title='Summary Tables with MySQL'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7185526411364042880</id><published>2012-02-07T16:06:00.004-07:00</published><updated>2012-02-08T08:21:17.091-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute'/><title type='text'>The community helping customers restore faster with mysqldump</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in }  A:link { so-language: zxx } --&gt; &lt;/style&gt;&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in } --&gt;&lt;/style&gt;   A big thanks to Xiaobin Lin for taking the time to submit and the related patch for &lt;a href="http://bugs.mysql.com/bug.php?id=64248"&gt;bug #64248&lt;/a&gt;. &lt;strike&gt;&lt;/strike&gt;The     patch is based on 5.5.20 &lt;br /&gt;This should help users to restore their database faster thanks to fast index creation. More information is available via the &lt;a href="http://bugs.mysql.com/bug.php?id=64248"&gt;bugs page&lt;/a&gt;. I have heard that this is just one of several patches he has contributed.  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Contributions such as this, help MySQL to continue to deliver an always improving product.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;So a big “Thank You” from the MySQL team.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7185526411364042880?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7185526411364042880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/community-helping-customers-restore.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7185526411364042880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7185526411364042880'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/community-helping-customers-restore.html' title='The community helping customers restore faster with mysqldump'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4283927102006869754</id><published>2012-02-03T10:45:00.000-07:00</published><updated>2012-02-03T10:45:36.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql RMOUG'/><title type='text'>RMOUG Training Days 2012</title><content type='html'>The Rocky Mountain Oracle User Group ( &lt;a href="http://www.rmoug.org/"&gt;RMOUG&lt;/a&gt; ) &lt;a href="http://www.teamycc.com/RMOUG_2012_Conference/index.html"&gt;Training days&lt;/a&gt; are almost here.&amp;nbsp;&amp;nbsp; This year they are going to have a MySQL Oracle ACE Director, &lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:3039779342908998::NO:4:P4_ID:1820"&gt;Ronald Bradford&lt;/a&gt; talk on &lt;a href="http://www.technicalconferencesolutions.com/pls/caat/caat_abstract_reports.display_presenter_abstract?conference_id=99&amp;amp;presenter_id=443&amp;amp;abstract_id=294993"&gt;MySQL Security Essentials.&amp;nbsp; &lt;/a&gt;I will also be having a &lt;a href="http://www.technicalconferencesolutions.com/pls/caat/caat_abstract_reports.display_presenter_abstract?conference_id=99&amp;amp;presenter_id=470&amp;amp;abstract_id=301585"&gt;MySQL Crash Course &lt;/a&gt;. I was going to talk about replication but after attending the IOUG User summit and the seeing the vast interest in MySQL from Oracle users, I decided to take a step back and do this talk 1st. I have had a similar talk at a RMOUG meetup hands on labs in the past, but it has been updated.&lt;br /&gt;&lt;br /&gt;Alex Gorbachev of Pythian also has a session, &lt;a href="http://www.technicalconferencesolutions.com/pls/caat/caat_abstract_reports.display_presenter_abstract?conference_id=99&amp;amp;presenter_id=86&amp;amp;abstract_id=295470"&gt;Monitoring MySQL with Oracle Cloud Control 12c&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Look forward to seeing everyone and I think great things are on the horizon with&amp;nbsp; RMOUG and MySQL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4283927102006869754?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4283927102006869754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/rmoug-training-days-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4283927102006869754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4283927102006869754'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/02/rmoug-training-days-2012.html' title='RMOUG Training Days 2012'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2966934235251436681</id><published>2012-01-30T12:32:00.000-07:00</published><updated>2012-01-30T12:32:23.999-07:00</updated><title type='text'>MySQL Knowledge Zone</title><content type='html'>A recent trip to the &lt;a href="http://www.socallinuxexpo.org/"&gt;SCALE Conference&lt;/a&gt; raised a few common questions. One of them was: does Oracle does offer a MySQL 5.5 exam ? I hope the links below help all of those that asked and others who might have the same question.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/show_desc.redirect?dc=D61918GC10"&gt;&lt;span style="font-size: small;"&gt;MySQL for Beginners (SQL-4401)&lt;/span&gt;&lt;/a&gt;&lt;em&gt; &lt;span style="font-size: small; font-weight: normal;"&gt;This exam has been validated for MySQL 5.0, 5.1 and 5.5. They also offer a &lt;/span&gt;&lt;/em&gt;&lt;a href="http://www.blogger.com/"&gt;&lt;span style="font-size: small;"&gt;&lt;em&gt;&amp;nbsp; &lt;/em&gt;MySQL 5 Certified Associate Exam&lt;span id="goog_435680013"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;br /&gt;Oracle also now offers,&amp;nbsp; &lt;a href="http://www.oracle.com/partners/campaign/mysql-spec-criteria-1402384.html"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;MySQL Specialization Criteria&lt;/b&gt;.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Related Press Release :&lt;a href="http://www.blogger.com/goog_435679988"&gt;&lt;span style="font-size: small;"&gt;New Oracle PartnerNetwork (OPN) Specialization for MySQL Enables Partners to Showcase Expertise&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2966934235251436681?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2966934235251436681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/mysql-knowledge-zone.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2966934235251436681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2966934235251436681'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/mysql-knowledge-zone.html' title='MySQL Knowledge Zone'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-897753116502661388</id><published>2012-01-27T10:50:00.000-07:00</published><updated>2012-01-27T10:50:12.888-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql developer days'/><title type='text'>Oracle MySQL Developer Days - Germany &amp; France</title><content type='html'>MySQL is coming to Frankfurt am Main in Germany for a MySQL Developer Day, Febuary 9th.&lt;br /&gt;&lt;br /&gt;This developer day has a wide range of sessions and two great resources: &amp;nbsp;Johannes Schlüter, MySQL Software Developer (great PHP resource as well) and&amp;nbsp;Giuseppe Maxia, Oracle ACE Director for MySQL.&lt;br /&gt;&lt;br /&gt;Take advantage of this chance to learn more about MySQL ! &amp;nbsp;More information on the event in Germany can be found &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=148478&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=240"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149253&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=259"&gt;Paris France will also host a Developer day in March 21st&lt;/a&gt;. More information on this will becoming soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-897753116502661388?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/897753116502661388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/oracle-mysql-developer-days-germany.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/897753116502661388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/897753116502661388'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/oracle-mysql-developer-days-germany.html' title='Oracle MySQL Developer Days - Germany &amp; France'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3296841237914721232</id><published>2012-01-27T09:38:00.000-07:00</published><updated>2012-01-27T09:38:10.011-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Oracle ACE'/><title type='text'>Well deserved !</title><content type='html'>&lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:8993671484232109::NO:4:P4_ID:3200"&gt;Giuseppe Maxia&lt;/a&gt; and &lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:3248641211547121::NO:4:P4_ID:3560"&gt;Sarah Novotny&lt;/a&gt; both have now been awarded Oracle ACE Directors for MySQL !&lt;br /&gt;&lt;br /&gt;They both are well respected in the MySQL community and have achieved great things so far. We look forward to seeing what they will do next.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3296841237914721232?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3296841237914721232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/well-deserved.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3296841237914721232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3296841237914721232'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/well-deserved.html' title='Well deserved !'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4601452051076251481</id><published>2012-01-25T15:26:00.000-07:00</published><updated>2012-01-25T15:26:12.292-07:00</updated><title type='text'>Oracle has MySQL Ace Members up against the wall!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The Oracle User Group Leaders Summit is over and it appears that Oracle has some of the MySQL ACE Members (George, Sheeri, Ronald) backed up against the wall!&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HoT-7ZOzvTg/TyB89jaFG0I/AAAAAAAAAG0/8gdLnC_qJcc/s1600/IMG_0980.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-HoT-7ZOzvTg/TyB89jaFG0I/AAAAAAAAAG0/8gdLnC_qJcc/s320/IMG_0980.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;It was great to get the user groups together and we need more MySQL User Groups to attend next year! You can follow IOUC on twitter @IOUC_Conference &amp;amp; &lt;a href="http://www.iouc.org/"&gt;http://www.iouc.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4601452051076251481?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4601452051076251481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/oracle-has-mysql-ace-members-up-against.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4601452051076251481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4601452051076251481'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/oracle-has-mysql-ace-members-up-against.html' title='Oracle has MySQL Ace Members up against the wall!'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HoT-7ZOzvTg/TyB89jaFG0I/AAAAAAAAAG0/8gdLnC_qJcc/s72-c/IMG_0980.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5043726359985577110</id><published>2012-01-25T10:44:00.000-07:00</published><updated>2012-01-25T10:44:44.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><title type='text'>User Group Leadership Summit</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in } --&gt; &lt;/style&gt;   Day three of the User Group Leadership Summit is here and MySQL has continued to have a valid presence from the community as well as the Oracle Team.&lt;br /&gt;&lt;br /&gt;George Trujillo introduced MySQL for the Oracle DBA to a very attentive audience.&lt;br /&gt;Ronald Bradford gave a great presentation on why people should use MySQL.  &lt;br /&gt;Sheeri Cabral talked on the MySQL Community and user groups.  Members of Oracle user groups showed great interest in the MySQL User groups.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So how can I summarize the summit in one line:  &lt;br /&gt;Oracle DBA user group members are interested in MySQL and the community!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5043726359985577110?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5043726359985577110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/user-group-leadership-summit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5043726359985577110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5043726359985577110'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/user-group-leadership-summit.html' title='User Group Leadership Summit'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4138359045328520572</id><published>2012-01-24T14:17:00.000-07:00</published><updated>2012-01-24T14:17:46.729-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Events'/><title type='text'>Events</title><content type='html'>Take advantage of the &lt;a href="http://events.oracle.com/search/search?group=Events&amp;amp;keyword=mysql"&gt;events.oracle.com&lt;/a&gt; site and get a RSS feed of local events on your area.&lt;br /&gt;&lt;br /&gt;Currently :&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" summary="Results"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;&lt;table border="0" summary="result1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td nowrap="nowrap"&gt;January 31, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Webcast&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail1"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314536&amp;amp;Act=19&amp;amp;pcode=WWMK11042754MPP015"&gt;Oracle Webcast: &lt;b&gt;MySQL&lt;/b&gt; Embedded Online Forum                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_1" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result2"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 02, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Raleigh&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail2"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314534&amp;amp;Act=248&amp;amp;pcode=WWMK11042736MPP126"&gt;&lt;b&gt;MySQL&lt;/b&gt; TechTours: Raleigh, NC                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_2" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result3"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 08, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Irving&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail3"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314536&amp;amp;Act=29&amp;amp;pcode=WWMK11042754MPP021"&gt;Oracle's &lt;b&gt;MySQL&lt;/b&gt; Tech Tour - Dallas                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_3" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result4"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 08, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;El Segundo&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail4"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314534&amp;amp;Act=249&amp;amp;pcode=WWMK11042736MPP127"&gt;You're Invited - Oracle's &lt;b&gt;MySQL&lt;/b&gt; Tech Tour Event – El Segundo                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_4" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result5"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 09, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Santa Clara&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail5"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314534&amp;amp;Act=247&amp;amp;pcode=WWMK11042736MPP125"&gt;You're Invited - Oracle's &lt;b&gt;MySQL&lt;/b&gt; Tech Tour Event – Santa Clara                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_5" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result6"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 09, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Frankfurt am Main&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail6"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314534&amp;amp;Act=240&amp;amp;pcode=WWMK11042736MPP119"&gt;Oracle Technology Network Developer Day: &lt;b&gt;MySQL&lt;/b&gt;                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_6" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&amp;nbsp;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;             &lt;td nowrap="nowrap" style="font-size: 11px; padding-left: 6px;" valign="top"&gt;                 &lt;table border="0" summary="result7"&gt;&lt;tbody&gt;&lt;tr&gt;                             &lt;td nowrap="nowrap"&gt;February 23, 2012 &amp;nbsp;&lt;/td&gt;                         &lt;/tr&gt;&lt;tr&gt;                             &lt;td&gt;&lt;i&gt;Kista&lt;/i&gt; &lt;/td&gt;                         &lt;/tr&gt;&lt;/tbody&gt;                 &lt;/table&gt;&lt;/td&gt;             &lt;td width="60"&gt;&amp;nbsp;&lt;/td&gt;             &lt;td align="left" colspan="2" valign="top" width="100%"&gt;             &lt;table border="0" style="width: 400px;" summary="resultDetail7"&gt;&lt;tbody&gt;&lt;tr&gt;                         &lt;td align="left" colspan="5" style="padding-bottom: 10px;" width="100%"&gt;                             &lt;strong&gt;                                 &lt;a href="http://www.oracle.com/go/?&amp;amp;Src=7314534&amp;amp;Act=245&amp;amp;pcode=WWMK11042736MPP123"&gt;Oracle High Availability Solutions for &lt;b&gt;MySQL&lt;/b&gt;                             &lt;/a&gt;                             &lt;/strong&gt;                                                                                                             &lt;/td&gt;                     &lt;/tr&gt;&lt;tr&gt;                             &lt;td id="register_7" nowrap="nowrap" style="color: red; cursor: pointer; font-weight: bold; padding-right: 10px; width: 5em;"&gt;&lt;span style="font-weight: normal; text-decoration: underline;"&gt;Register&lt;/span&gt;&lt;/td&gt;                             &lt;td nowrap="nowrap" style="cursor: pointer; padding-left: 2px;"&gt;&lt;br /&gt;&lt;/td&gt;                             &lt;td colspan="2" nowrap="nowrap" style="cursor: pointer; padding-left: 10px;"&gt;&lt;br /&gt;&lt;/td&gt;                                                               &lt;td width="100%"&gt;&lt;br /&gt;&lt;/td&gt;                     &lt;/tr&gt;&lt;/tbody&gt;             &lt;/table&gt;&lt;/td&gt;           &lt;/tr&gt;&lt;tr&gt;             &lt;td colspan="4"&gt;&lt;hr color="#f0f0f0" width="100%" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4138359045328520572?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4138359045328520572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/events.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4138359045328520572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4138359045328520572'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/events.html' title='Events'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2855187745747546118</id><published>2012-01-24T09:01:00.000-07:00</published><updated>2012-01-24T09:01:59.424-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL user groups'/><title type='text'>More User Groups</title><content type='html'>Day one of the User Group Leaders Conference is complete and day two is about to begin. MySQL has nine sessions including three provided by MySQL ACEs.&lt;br /&gt;&lt;br /&gt;The take away from day 1 --- Need more user groups ! Oracle user group leaders from around the world are asking and it is up to the community to provide MySQL user groups in their area.&lt;br /&gt;&lt;br /&gt;A list of user groups is available &lt;a href="https://wikis.oracle.com/display/mysql/List+of+MySQL+User+Groups" target="_blank"&gt;here. &lt;/a&gt;This list includes &lt;a href="http://www.facebook.com/" target="_blank"&gt;Facebook&lt;/a&gt; and &lt;a href="http://mysql.meetup.com/cities/us/94404/"&gt;Meetup.com&lt;/a&gt; groups.&amp;nbsp; If you are aware if a group in your area please support it. If you feel a user group is missing please &lt;a href="http://www.mysql.com/about/contact/?topic=community"&gt;let us know&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2855187745747546118?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2855187745747546118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/more-user-groups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2855187745747546118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2855187745747546118'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/more-user-groups.html' title='More User Groups'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8526180641295119429</id><published>2012-01-21T16:44:00.000-07:00</published><updated>2012-01-21T16:44:30.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Scale'/><title type='text'>SCALE</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-5swlROMlbOs/TxtNKnqxQ7I/AAAAAAAAAGs/0x7_xVwsDQE/s1600/tux.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-5swlROMlbOs/TxtNKnqxQ7I/AAAAAAAAAGs/0x7_xVwsDQE/s320/tux.JPG" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Great turn out at SCALE !&lt;br /&gt;MySQL Day on Friday was a great success. MySQL sessions packed all day.&lt;br /&gt;&lt;br /&gt;So far Saturday has had a great turn out at the booth with numerous questions about MySQL.&lt;br /&gt;&lt;br /&gt;Tux even gave us a visit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8526180641295119429?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8526180641295119429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/scale.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8526180641295119429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8526180641295119429'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/scale.html' title='SCALE'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-5swlROMlbOs/TxtNKnqxQ7I/AAAAAAAAAGs/0x7_xVwsDQE/s72-c/tux.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7463993750630582953</id><published>2012-01-15T08:27:00.000-07:00</published><updated>2012-01-15T08:27:50.499-07:00</updated><title type='text'>MySQL Day at SCALE</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Y2--HHB3m0E/TxLvwQam9jI/AAAAAAAAAGY/Crn8CEYTwLw/s1600/scale_10x_1.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Y2--HHB3m0E/TxLvwQam9jI/AAAAAAAAAGY/Crn8CEYTwLw/s1600/scale_10x_1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;MySQL Day at &lt;a href="http://www.socallinuxexpo.org/" target="_blank"&gt;SCALE&lt;/a&gt; is just a few days away. I will be giving a &lt;a href="http://www.socallinuxexpo.org/scale10x/presentations/mysql-replication-0" target="_blank"&gt;replication session&lt;/a&gt; that covers the concept, different configurations and then goes into the MySQL 5.6 Features for Replication as well. To name a few: Slave tables for replication, Replication Checksums, Time Delayed Replication (my favorite) and Optimized Row Based Replication. The 5.6 Features will include examples for setup, as all features tested with the latest DMR.&lt;br /&gt;&lt;br /&gt;I look forward to seeing everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7463993750630582953?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7463993750630582953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/mysql-day-at-scale.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7463993750630582953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7463993750630582953'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/mysql-day-at-scale.html' title='MySQL Day at SCALE'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Y2--HHB3m0E/TxLvwQam9jI/AAAAAAAAAGY/Crn8CEYTwLw/s72-c/scale_10x_1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4572512294446953544</id><published>2012-01-09T10:21:00.000-07:00</published><updated>2012-01-09T10:21:59.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Replication'/><title type='text'>“Stay hungry, stay foolish” ...... but have a backup :)</title><content type='html'>As we all settle into 2012, I remember the great saying “Stay hungry, stay foolish.”&lt;br /&gt;&lt;br /&gt;The famous“Stay hungry, stay foolish” reference is from the last &lt;a href="ttp://www.wholeearth.com/" target="_blank"&gt;Whole Earth Catalog&lt;/a&gt; and also made popular via the &lt;a href="http://www.blogger.com/goog_904551615"&gt;Steve Jobs 2005 Commencement Address at Stanfor&lt;/a&gt;&lt;a href="http://www.youtube.com/watch?v=UF8uR6Z6KLc" target="_blank"&gt;d&lt;/a&gt;, for those that do not know. Computers today would be a very different place without the numerous people that did stay hungry and&amp;nbsp; foolish as it all came together.&amp;nbsp; How does that apply to the DBA of today? &lt;br /&gt;&lt;br /&gt;Hopefully we are all still hungry but not foolish with our data. MySQL is running most of the databases that power the web these days and we cannot afford to be foolish with that data.&amp;nbsp; When it comes to data integrity and security we should “wag more bark less.” By that I mean, be excited about the options you have, anticipate issues before they arise, “wag more , be hungry.” Do not be stuck in a “bark or foolish” situation of lost data and tables, downtime, or lost backups. &lt;br /&gt;&lt;br /&gt;How many of you have had to recover a critical table that someone, you thought never would, decided to truncate. Granted accidents happens and it is hard to anticipate all of the possible situations you might find yourself in. Which is why you need a stable backup solution. Now, how long did it take you to recover that truncated data?&amp;nbsp; How long it took for you to be notified? How far behind was your replicated slave database? Could you stop replication and dump the table for a recovery?&amp;nbsp; This is why I, and many others, are excited about the &lt;a href="http://dev.mysql.com/doc/refman/5.6/en/replication-delayed.html" target="_blank"&gt;Delayed Replication options with MySQL 5.6&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I was at Oracle Open World 2011 and I sat in on a few of the replication sessions. During one I heard someone mention, “Why would you want to delay replication?” Live Rolling backups I immediately thought and this person soon realized the benefits. It depends on the database size and activity and disks are becoming cheaper and cheaper for you to handle the logs. Would you rather pull your database off a tape, load it, dump the table then fix what was lost?&amp;nbsp; I touched on this some before in a &lt;a href="http://sqlhjalp.blogspot.com/2011/11/database-chain.html%20" target="_blank"&gt;Database Chain blog post&lt;/a&gt;. With the Delayed Replication option you can now address some of your backups concerns with a live replicated database chain.&amp;nbsp; Consider this, Server A is your slave, Server B&amp;nbsp; gets time delayed set to a Day (&amp;nbsp; CHANGE MASTER TO MASTER_DELAY=86400 ), Server C gets 6 Days (So a week back from master , CHANGE MASTER TO MASTER_DELAY=518400 ), Server D gets set to 24 Days back (~month from master , CHANGE MASTER TO MASTER_DELAY=2073600&amp;nbsp; ). Now you have full access to historical data if needed. Live rolling backups ! &lt;br /&gt;&lt;br /&gt;Don't be foolish with data. Of course, you can still dump to tape the pending logs and database backups for a serious disaster. But the option to have live historical data native to MySQL replication is fantastic.&lt;br /&gt;&lt;br /&gt;Lastly, To quote from &lt;a href="http://catb.org/%7Eesr/writings/homesteading/" target="_blank"&gt;Eric Raymond's the The Cathedral and the Bazaar&lt;/a&gt;, “The next best thing to having good ideas is recognizing good ideas from your users.”&amp;nbsp; Delayed Replication is a community driven idea and&amp;nbsp; was entered as a bugs in 2006 and 2007&amp;nbsp; &lt;a href="http://bugs.mysql.com/bug.php?id=21639"&gt;http://bugs.mysql.com/bug.php?id=21639&lt;/a&gt; , &lt;a href="http://bugs.mysql.com/bug.php?id=22072"&gt;http://bugs.mysql.com/bug.php?id=22072&lt;/a&gt;,&amp;nbsp; &lt;a href="http://bugs.mysql.com/bug.php?id=28760"&gt;http://bugs.mysql.com/bug.php?id=28760&lt;/a&gt;&amp;nbsp; then entered into the worklogs in 2010 &lt;a href="http://forge.mysql.com/worklog/task.php?id=344" target="_blank"&gt;WL#344: Time-delayed Replication&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;More data on this topic:&lt;br /&gt;&lt;a href="http://www.clusterdb.com/mysql-replication/delayed-replication-in-mysql-5-6-development-release/"&gt;http://www.clusterdb.com/mysql-replication/delayed-replication-in-mysql-5-6-development-release/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://datacharmer.blogspot.com/2011/01/first-look-at-delayed-replication-in.html"&gt;http://datacharmer.blogspot.com/2011/01/first-look-at-delayed-replication-in.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See ya soon at SCALE !&amp;nbsp; ( &lt;a href="https://www.socallinuxexpo.org/scale10x/schedule"&gt;https://www.socallinuxexpo.org/scale10x/schedule&lt;/a&gt; )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4572512294446953544?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4572512294446953544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/stay-hungry-stay-foolish-but-have.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4572512294446953544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4572512294446953544'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2012/01/stay-hungry-stay-foolish-but-have.html' title='“Stay hungry, stay foolish” ...... but have a backup :)'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7415294984865685480</id><published>2011-12-16T13:18:00.000-07:00</published><updated>2011-12-16T13:18:28.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql facebook'/><title type='text'>In Case you missed these</title><content type='html'>Just in case you missed these posts....&lt;br /&gt;&lt;br /&gt;Facebook has some interesting blogs on benchmarks, InnoDB and etc...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1534846500"&gt;W&lt;/a&gt;&lt;a href="http://www.facebook.com/note.php?note_id=10150415675620933" target="_blank"&gt;hat is in the InnoDB buffer pool?&lt;/a&gt; 12/15/2011 02:14 PM&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/note.php?note_id=10150369924180933" target="_blank"&gt;Dynamic padding for tpcc-mysql&lt;/a&gt; 11/21/2011 11:51 AM&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/note.php?note_id=10150360889140933" target="_blank"&gt;The shutdown benchmark&lt;/a&gt; 11/15/2011 05:29 PM&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/note.php?note_id=10150348315455933" target="_blank"&gt;The effect of page size on InnoDB compression&lt;/a&gt; 11/07/2011 11:40 AM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7415294984865685480?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7415294984865685480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/in-case-you-missed-these.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7415294984865685480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7415294984865685480'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/in-case-you-missed-these.html' title='In Case you missed these'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7262147976455976510</id><published>2011-12-16T09:26:00.000-07:00</published><updated>2011-12-16T09:26:49.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql bugs'/><title type='text'>Bugs and Spam don't mix</title><content type='html'>A big thank you to the MySQL web team and engineers for helping combat spam and keeping the &lt;a href="http://bugs.mysql.com/"&gt;bugs.mysql.com&lt;/a&gt; site spam free.&lt;br /&gt;&lt;br /&gt;reCaptcha is now installed and is a requirement when adding a comment to a current bug. We want the community to be able to review and comment on bugs with little spam as possible getting in the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7262147976455976510?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7262147976455976510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/bugs-and-spam-dont-mix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7262147976455976510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7262147976455976510'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/bugs-and-spam-dont-mix.html' title='Bugs and Spam don&apos;t mix'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8022230286521377656</id><published>2011-12-11T13:12:00.001-07:00</published><updated>2011-12-11T13:14:07.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql cluster'/><title type='text'>MySQL Cluster to MySQL Server ... Part 2</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  PRE.cjk { font-family: "WenQuanYi Zen Hei", monospace }  P { margin-bottom: 0.08in }  A:link { so-language: zxx }  CODE.cjk { font-family: "WenQuanYi Zen Hei", monospace } --&gt; &lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;I previously posted  blog about the topic of a MySQL Cluster set up and replication to a MySQL Server. The first blog was just the installation, now lets test the cluster and get replication started. Both are extremely easy.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Some people might ask, “Why set up replication from a cluster? It is a HA system why replication?”&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The ability to move data out of the cluster and allow others to do reporting, data exports, simple backups all can be done easily with it replicated into another MySQL server. Yes a Cluster can do all of those queries, but taking advantage of the replication to keep some users and queries out of your production database is rarely a bad thing.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Testing the Cluster Install. Of course more MySQL Documentation:  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-quick.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-quick.html&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; SHOW ENGINES\G &lt;br /&gt;*************************** 1. row ***************************&lt;br /&gt;Engine: ndbcluster&lt;br /&gt;Support: YES&lt;br /&gt;Comment: Clustered, fault-tolerant tables&lt;br /&gt;Transactions: YES&lt;br /&gt;XA: NO&lt;br /&gt;Savepoints: NO&lt;br /&gt;&lt;br /&gt;*************************** 3. row ***************************&lt;br /&gt;Engine: ndbinfo&lt;br /&gt;Support: YES&lt;br /&gt;Comment: MySQL Cluster system information storage engine&lt;br /&gt;Transactions: NO&lt;br /&gt;XA: NO&lt;br /&gt;Savepoints: NO&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;  USE test;&lt;br /&gt;Database changed&lt;br /&gt;mysql&amp;gt;;  CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;&lt;br /&gt;Query OK, 0 rows affected (0.28 sec)&lt;br /&gt;&lt;br /&gt;mysql&amp;gt;  SHOW CREATE TABLE ctest \G&lt;br /&gt;*************************** 1. row ***************************&lt;br /&gt;Table: ctest&lt;br /&gt;Create Table: CREATE TABLE `ctest` (&lt;br /&gt;`i` int(11) DEFAULT NULL&lt;br /&gt;) ENGINE=ndbcluster DEFAULT CHARSET=latin1&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;That was easy enough...Table is built and using the ndbcluster engine. &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So lets set up replication from a cluster to a MySQL Innodb Server.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;1&lt;sup&gt;st&lt;/sup&gt; create a user for the replication.  &lt;/div&gt;&lt;code&gt;&lt;br /&gt;GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'10.%' IDENTIFIED BY '&lt;/code&gt;&lt;code&gt;&lt;code class="western"&gt;&amp;lt;password&amp;gt;&lt;/code&gt;&lt;/code&gt;&lt;code&gt;';&lt;br /&gt;flush privileges;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;For this example I am jut using a Windows Virtual Box instance.   The MySQL windows installer worked great. For a guy who ever runs windows, it was nice that this was so easy. (&lt;span style="color: navy;"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a href="http://dev.mysql.com/downloads/installer/"&gt;http://dev.mysql.com/downloads/installer/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;)&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;On the Cluster server, I made sure to have my server_id and big logs set.  &lt;/div&gt;&lt;code&gt;&lt;br /&gt;vi /etc/my.cnf &lt;br /&gt;[mysqld]&lt;br /&gt;server-id=1&lt;br /&gt;log-bin                                 = /var/lib/mysql/mysql_demo-bin&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;restarted the sql server and confirmed it was running:  &lt;/div&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; show master status\G&amp;lt; &lt;br /&gt;*************************** 1. row *************************** &lt;br /&gt;File: mysql_demo-bin.000001 &lt;br /&gt;Position: 112 Binlog_Do_DB:  &lt;br /&gt;Binlog_Ignore_DB:   1 &lt;br /&gt;row in set (0.00 sec) &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So lets create a simple table that we can use for test later.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;b&gt;PLEASE take note&lt;/b&gt;... This is just a table to show it replicated. If you create tables for real use in a Cluster and replicated ... &lt;b&gt;ALWAYS have a primary key&lt;/b&gt;!&lt;/div&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt;  CREATE TABLE slave_test (i INT) ENGINE=NDBCLUSTER;&lt;br /&gt;Query OK, 0 rows affected (0.28 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Now back on my windows mysql server. Since it came with workbench I used this to set the server_id (server_id =2) and restart the server. I then  opened the sql editor and added the master settings.  &lt;/div&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;via_mysql_workbench&amp;gt;&lt;/code&gt;&lt;code&gt; &lt;code class="western"&gt;CHANGE&lt;/code&gt;&lt;code class="western"&gt; &lt;/code&gt;&lt;code class="western"&gt;MASTER&lt;/code&gt;&lt;code class="western"&gt; &lt;/code&gt;&lt;code class="western"&gt;TO&lt;/code&gt;&lt;br /&gt;-&amp;gt; &lt;code class="western"&gt;MASTER_HOST='10.132.241.18',&lt;/code&gt;&lt;br /&gt;-&amp;gt; &lt;code class="western"&gt;MASTER_PORT=3306,&lt;/code&gt;&lt;br /&gt;-&amp;gt; &lt;code class="western"&gt;MASTER_USER='slave_user',&lt;/code&gt;&lt;br /&gt;-&amp;gt; &lt;code class="western"&gt;MASTER_PASSWORD='&amp;lt;password&amp;gt;';&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;via_mysql_workbench&amp;gt;&lt;/code&gt;&lt;code&gt; start slave;  &lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;via_mysql_workbench&amp;gt;&lt;/code&gt;&lt;code&gt;use test;  &lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;via_mysql_workbench&amp;gt; SHOW CREATE TABLE slave_test ;&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;'slave_test', 'CREATE TABLE `slave_test` (&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;`i` int(11) DEFAULT NULL&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;) ENGINE=InnoDB DEFAULT CHARSET=latin1'&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;mysql&amp;gt; show slave status;   &lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;...&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;Slave_IO_Running, Yes&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;Slave_SQL_Running Yes&lt;/code&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;...&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So now via these blog posts.. I have a cluster with a geolocated node both on Oracle Linux 6&amp;nbsp; being replicated to another remote location MySQL server running Windows via a Virtual box instance.&amp;nbsp; I can also now use Workbench to connect to the local windows server as well as the cluster if needed. This is not a production system but it does show that Cluster can be installed easily, remotely, and takes advantage of commodity systems.&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-1.html" target="_blank"&gt;Part 1 -- The Install &lt;/a&gt;&lt;br /&gt;&lt;a href="http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-2.html" target="_blank"&gt;Part 2 -- Testing Cluster more and Replication Setup&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8022230286521377656?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8022230286521377656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8022230286521377656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8022230286521377656'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-2.html' title='MySQL Cluster to MySQL Server ... Part 2'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6877889607607222399</id><published>2011-12-09T13:25:00.001-07:00</published><updated>2011-12-09T13:48:04.909-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Oracle ACE'/><title type='text'>Congrats to three more MySQL Oracle ACE members...</title><content type='html'>It is truly amazing the amount of knowledge and talent that work with and support MySQL and the MySQL community. Thanks to all of you.&lt;br /&gt;&lt;br /&gt;Over the last month the MySQL ACE list has grown even more: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:2711759788968511::NO:4:P4_ID:257" target="_blank"&gt;George J. Trujillo&lt;/a&gt; is now an Oracle ACE and a MySQL Oracle ACE.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:2711759788968511::NO:4:P4_ID:4541" target="_blank"&gt;Wagner Bianchi&lt;/a&gt;&amp;nbsp; became a MySQL Oracle ACE not long ago. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:2068608714442270::NO:4:P4_ID:4561" target="_blank"&gt;Roland Bouman&lt;/a&gt; is the latest addition as a MySQL Oracle ACE.&lt;br /&gt;&lt;br /&gt;Congrats to all of them !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6877889607607222399?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6877889607607222399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/congrats-to-three-more-mysql-oracle-ace.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6877889607607222399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6877889607607222399'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/congrats-to-three-more-mysql-oracle-ace.html' title='Congrats to three more MySQL Oracle ACE members...'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8351832600180962627</id><published>2011-12-09T10:52:00.003-07:00</published><updated>2011-12-11T13:13:19.535-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql cluster'/><title type='text'>MySQL Cluster to MySQL Server Part 1</title><content type='html'>Recently I was working on a MySQL Cluster that is replicated to a MySQL server. I will create a few  blog posts to show how all of this can be done. This is of course not the only way to do this.. Any feedback or other options are welcomed in comments for the community to use.&lt;br /&gt;&lt;br /&gt;Part one:  the install&lt;br /&gt;&lt;br /&gt;First the MySQL Documentation about MySQL Cluster is very good I will make references to it for your convenience. &lt;br /&gt;You can go about this a few different ways but this is a simple RPM install:&lt;br /&gt;&lt;br /&gt;Download all the related rpms from &lt;a href="http://dev.mysql.com/downloads/cluster/"&gt;http://dev.mysql.com/downloads/cluster/&lt;/a&gt;  and install. &lt;br /&gt;&lt;br /&gt;MySQL Documentation (&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-linux-rpm.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-linux-rpm.html&lt;/a&gt;) is here to help you with the installs as well.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -ihv MySQL-Cluster-gpl-*.rpm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok that was easy enough ... Make sure we have what we expected...&lt;br /&gt;&lt;code&gt;&lt;br /&gt;rpm -qa | grep MySQL&lt;br /&gt;&lt;br /&gt;MySQL-Cluster-gpl-debuginfo-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-client-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-clusterj-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-test-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-server-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-devel-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-management-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-extra-7.1.17-1.el6.i686&lt;br /&gt;MySQL-Cluster-gpl-storage-7.1.17-1.el6.i686&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Just so this can be a tiny bit of a more real world example, I also installed an external node in a remote (out of the subnet/datacenter) location. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[root@remote_cluster src]# rpm -ihv MySQL-Cluster-gpl-storage-*.rpm&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OK software install is straight forward and easy, but what do you do now ?&lt;br /&gt;&lt;br /&gt;MySQL Documentation (&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-configuration.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-configuration.html&lt;/a&gt;) on how to configure the cluster are straight forward and very easy to follow.&lt;br /&gt;&lt;br /&gt;Based on that documentation, I have set all the ips  in all the related configuration files ...&lt;br /&gt;&lt;br /&gt;My Config file looks like this after removal of comments. I have a local node and a remote node for this simple example.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#/var/lib/mysql-cluster/config.ini &lt;br /&gt;[ndb_mgmd]&lt;br /&gt;# Management process options:&lt;br /&gt;hostname=10.132.241.18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;          # Hostname or IP address of MGM node&lt;br /&gt;datadir=/var/lib/mysql-cluster  # Directory for MGM node log files&lt;br /&gt;NodeId=1&lt;br /&gt;&lt;br /&gt;[ndbd default]&lt;br /&gt;# Options affecting ndbd processes on all data nodes:&lt;br /&gt;NoOfReplicas=4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    # Number of replicas&lt;br /&gt;datadir=/var/lib/mysql-cluster  # Directory for MGM node log files&lt;br /&gt;DataMemory=80M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # How much memory to allocate for data storage&lt;br /&gt;IndexMemory=18M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # How much memory to allocate for index storage&lt;br /&gt;&lt;br /&gt;[ndbd]&lt;br /&gt;hostname=mysql_demo.localdomain&lt;br /&gt;NodeId=3&lt;br /&gt;&lt;br /&gt;[ndbd]&lt;br /&gt;hostname=10.159.37.130&lt;br /&gt;NodeId=4&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;Nodeid=10&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;Nodeid=30&lt;br /&gt;&lt;br /&gt;[mysqld]&lt;br /&gt;Nodeid=40&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nodes... Start your engines..... ok so really, lets get it started...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MySQL Documentation &lt;a href="http://www.blogger.com/%28http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-first-start.html"&gt;(http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-install-first-start.html&lt;/a&gt;) on how to start it up for the 1st time..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On Localhost&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini&lt;br /&gt;MySQL Cluster Management Server mysql-5.1.56 ndb-7.1.17&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;On Localhost /  Data Node&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/usr/sbin/ndbd&lt;br /&gt;2011-12-08 12:21:16 [ndbd] INFO     -- Angel connected to 'localhost:1186'&lt;br /&gt;2011-12-08 12:21:16 [ndbd] INFO     -- Angel allocated nodeid: 3&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On remote node :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;./ndbd&lt;br /&gt;2011-12-08 12:25:39 [ndbd] INFO     -- Angel connected to '10.132.241.18:1186'&lt;br /&gt;2011-12-08 12:25:40 [ndbd] INFO     -- Angel allocated nodeid: 6&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;On Localhost Start the sql server and check the nodes.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# /etc/init.d/mysql start&lt;br /&gt;&lt;br /&gt;# /usr/local/bin/ndb_mgm -e show&lt;br /&gt;Connected to Management Server at: localhost:1186&lt;br /&gt;Cluster Configuration&lt;br /&gt;&lt;br /&gt;---------------------&lt;br /&gt;[ndbd(NDB)]     4 node(s)&lt;br /&gt;id=3    @127.0.0.1  (mysql-5.1.56 ndb-7.1.17, starting, Nodegroup: 0)&lt;br /&gt;id=4 (not connected, accepting connect from mysql_demo.localdomain)&lt;br /&gt;id=5    @10.159.37.130  (mysql-5.1.56 ndb-7.1.17, starting, Nodegroup: 0)&lt;br /&gt;id=6    @10.159.37.130  (mysql-5.1.56 ndb-7.1.17, starting, Nodegroup: 0)&lt;br /&gt;&lt;br /&gt;[ndb_mgmd(MGM)] 1 node(s)&lt;br /&gt;id=1    @10.132.241.18  (mysql-5.1.56 ndb-7.1.17)&lt;br /&gt;&lt;br /&gt;[mysqld(API)]   3 node(s)&lt;br /&gt;id=10 (not connected, accepting connect from any host)&lt;br /&gt;id=30 (not connected, accepting connect from any host)&lt;br /&gt;id=40 (not connected, accepting connect from any host)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OK lets log in and test it ?&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# mysql&lt;br /&gt;&lt;br /&gt;Welcome to the MySQL monitor.  Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 3&lt;br /&gt;Server version: 5.1.56-ndb-7.1.17-cluster-gpl MySQL Cluster Server (GPL)&lt;br /&gt;Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;This software comes with ABSOLUTELY NO WARRANTY. This is free software,&lt;br /&gt;and you are welcome to modify and redistribute it under the GPL v2 license&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;&lt;br /&gt;mysql&amp;gt; select VERSION();&lt;br /&gt;+-------------------------------+&lt;br /&gt;| VERSION() |&lt;br /&gt;+-------------------------------+&lt;br /&gt;| 5.1.56-ndb-7.1.17-cluster-gpl |&lt;br /&gt;+-------------------------------+&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Of course if you need to stop and restart (MySQL Documentation:&amp;nbsp; &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-install-shutdown-restart.html"&gt;http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-install-shutdown-restart.html&lt;/a&gt;) a cluster, it is a simple process.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/usr/local/bin/ndb_mgm -e shutdown&lt;br /&gt;/etc/init.d/mysql stop&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Others posts on cluster installs:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-installation.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-installation.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://alexyu.se/comment/37"&gt;http://alexyu.se/comment/37&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dbperf.wordpress.com/2011/03/04/mysql-cluster-setup-and-replication-between-ndb-and-non-ndb-engines-2/"&gt;http://dbperf.wordpress.com/2011/03/04/mysql-cluster-setup-and-replication-between-ndb-and-non-ndb-engines-2/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mine:&lt;br /&gt;&lt;a href="http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-1.html" target="_blank"&gt;Part 1 -- The Install &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1344035517"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-2.html" target="_blank"&gt;Part 2 -- Testing Cluster more and Replication Setup&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8351832600180962627?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8351832600180962627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8351832600180962627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8351832600180962627'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/12/mysql-cluster-to-mysql-server-part-1.html' title='MySQL Cluster to MySQL Server Part 1'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2291173306471164902</id><published>2011-11-30T09:05:00.000-07:00</published><updated>2011-11-30T09:05:58.794-07:00</updated><title type='text'>XFCE TO LXDE</title><content type='html'>Wow how things change quickly sometimes. As per a previous &lt;a href="http://sqlhjalp.blogspot.com/2011/11/gnome-3-to-xfce.html" target="_blank"&gt;post&lt;/a&gt; I have recently moved to XFCE. It was great and things worked very well. Then, it just went nuts...&lt;br /&gt;&lt;br /&gt;Active windows failed to work and I was stuck on a single desktop (I live with multi-desktop), mouse failures and etc. To quote the great &lt;a href="http://www.imdb.com/title/tt0087332/quotes" target="_blank"&gt;Dr. Peter Venkman&lt;/a&gt;,&amp;nbsp; "Human sacrifice, dogs and cats living together... mass hysteria!  " &lt;br /&gt;&lt;br /&gt;Anyway, I needed to get something done at the moment and not fight with it so I did a quick yum install of LXDE. I had to go to the gnome session to do this, that is how crazy the XFCE went. But I am currently happy with the &lt;a href="http://lxde.org/" target="_blank"&gt;LXDE&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;I will get back to XFCE and see if I can find out what in the world made it go nuts but everything takes time.&lt;br /&gt;&lt;br /&gt;Now I am not going to say I am at home yet, after all I did that with XFCE and things went crazy. But it is working very well so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2291173306471164902?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2291173306471164902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/xfce-to-lxde.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2291173306471164902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2291173306471164902'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/xfce-to-lxde.html' title='XFCE TO LXDE'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1896057854119996831</id><published>2011-11-29T15:42:00.000-07:00</published><updated>2011-11-29T15:42:48.554-07:00</updated><title type='text'>OTN MySQL User Forum</title><content type='html'>One thing I enjoy about this job is being able to meet face to face the with MySQL Community. We have a big community and it is hard to keep up ! Sadly, I will not be able to make the OTN MySQL User Forum in Brazil but I want to encourage the community to attend the &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=142130&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=204&amp;amp;evite=204" target="_blank"&gt;event&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is a free forum,&lt;span style="background-color: #e6ecf9;"&gt;&lt;/span&gt;&lt;span&gt; full  of technical sessions, taught by engineers and leaders of the MySQL open  source community will also explore Oracle's strategy with regard to  MySQL, as well as the new MySQL Enterprise innovation and what to expect  from MySQL 5.6.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best of luck to the&lt;a href="https://www.facebook.com/group.php?gid=18535339984" target="_blank"&gt; MySQL Brazil Community&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1896057854119996831?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1896057854119996831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/otn-mysql-user-forum.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1896057854119996831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1896057854119996831'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/otn-mysql-user-forum.html' title='OTN MySQL User Forum'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4429526236271150390</id><published>2011-11-28T10:47:00.000-07:00</published><updated>2011-11-28T10:47:44.709-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>MySQL and Debian Linux</title><content type='html'>It is available now ! MySQL 5.5.18 now offers Debian Linux (.deb) packages. &lt;br /&gt;&lt;br /&gt;They are available via the &lt;a href="http://dev.mysql.com/downloads/mysql"&gt;http://dev.mysql.com/downloads/mysql&lt;/a&gt; site !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally the Debian community can upgrade easily to MySQL 5.5 !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4429526236271150390?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4429526236271150390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/mysql-and-debian-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4429526236271150390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4429526236271150390'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/mysql-and-debian-linux.html' title='MySQL and Debian Linux'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8248333937939779822</id><published>2011-11-22T14:07:00.000-07:00</published><updated>2011-11-22T14:07:51.098-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='replication'/><title type='text'>Database Chain</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:OfficeDocumentSettings&gt;   &lt;o:AllowPNG/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:DrawingGridHorizontalSpacing&gt;18 pt&lt;/w:DrawingGridHorizontalSpacing&gt;   &lt;w:DrawingGridVerticalSpacing&gt;18 pt&lt;/w:DrawingGridVerticalSpacing&gt;   &lt;w:DisplayHorizontalDrawingGridEvery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:DisplayVerticalDrawingGridEvery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:DontAutofitConstrainedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;   &lt;/w:Compatibility&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" LatentStyleCount="276"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}&lt;/style&gt; &lt;![endif]--&gt;    &lt;!--StartFragment--&gt;  &lt;br /&gt;&lt;div class="MsoNormal" style="line-height: 150%; text-indent: .5in;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;I was at an event recently and the topic of replication stirred the curiosity of the audience. A few audience members had Master to Master but they wanted to move away from that. Others had multiple slaves but wanted little downtime and backend work if a master failed. Relayed replication or a database chain is an option to solve some of their issues. Another option would be Cluster but it depends on your infrastructure, budget and application, some of them are looking into this as well. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Is a chain the best solution for everyone, of course not. While I cannot do consultant work to help them, I can blog about it…&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UC104H_Kf3w/TswJYnn-JhI/AAAAAAAAAF4/Qf-P8fCH3ko/s1600/chain_text.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-UC104H_Kf3w/TswJYnn-JhI/AAAAAAAAAF4/Qf-P8fCH3ko/s200/chain_text.jpg" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; A relayed replication environment allows you to, of course, have replicated databases but also have a replication environment that is still available if or when the master fails.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The image to the left shows a simple example of how the databases work together. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;One of the first things to keep in mind is that your application/&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;environment&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&amp;nbsp;needs to be able to handle a master switch. That means do not reference the master by IP or hostname. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Instead use NIS, LDAP, alias in host files, or just DNS.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Something simple as Server A == Master, then your MySQL clients and applications reference master when doing connections. This allows you to adjust the reference point quickly when a master fails. So if Server A crashed, adjust reference to Server B == Master. You still have 2 slaves running as well. You can then stop slave on Server B, examine Server A and gather any data you feel might have been lost. Sometimes starting the Slave on Server B to pull anything left over from Server A can work but auto increment ids could cause a conflict easily, so use caution when doing this. Once I am done with Server A, I move that to become a new slave of Server D, I now have four servers again.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I like to have at least four servers when doing a chain. If I only had three servers then I am very dependant on Server B, the 1&lt;sup&gt;st&lt;/sup&gt; slave.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;If that box was to fail I am left building a slave from backups or off the master. If I have four and Server B crashes I can move the Master to Server C and still have a replicated system.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Now, this of course is entirely dependant on your slaves staying up to date. Building your application to process data that will not slow down a slave can help support this type of environment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Another nice feature coming soon with MySQL is timed delayed replication. This option can be used with a chain as well. The time delayed option pulls all data and only applies it to the db based on the threshold you set. So you could build out a live backup solution using a database chain. Server A is your slave, Server B can get time delayed set to a Day, Server C gets 6 Days (So a week back from master), Server D gets set to 24 Days back (~month from master). Now you have full access to historical data if needed. If a user drops a table that shouldn’t have, it is a lot easier to dump that table and import it rather than pulling it off a tape or disk 1&lt;sup&gt;st&lt;/sup&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Do not let the slave servers go to waste either. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;Allow your database handles to use the all of the slaves accordingly.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; Keep all the reads you can off the master.&amp;nbsp;&lt;/span&gt;Create a script/class that uses a handle for your master that uses an account with appropriate access. Then create another script/class to handle connections to the slaves. This slave connection can be created to accomplish a few things. First allow it to have a default of seconds back from master per query passed to it.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Second create it to use the aliases of all the slaves and connect to check what is the seconds back, then use the valid server per threshold. This is a very fast check but the process can be enhanced to have times set on a schedule with another script, depends on your application. Now this allows your slave connection to take a query that has a threshold of 1 day (running a report for all of yesterday for example) and push that down to execute on Slave D as long as it is within the threshold. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8248333937939779822?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8248333937939779822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/database-chain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8248333937939779822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8248333937939779822'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/database-chain.html' title='Database Chain'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-UC104H_Kf3w/TswJYnn-JhI/AAAAAAAAAF4/Qf-P8fCH3ko/s72-c/chain_text.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-689161466070101752</id><published>2011-11-21T18:08:00.000-07:00</published><updated>2011-11-21T18:08:14.927-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xfce'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome3'/><title type='text'>Gnome 3 to XFCE</title><content type='html'>So I recently moved my laptop onto Fedora 16. I had some issues with the previous Linux distro and figured I would go with this for my laptop.&lt;br /&gt;&lt;br /&gt;Issues with Gnome 3 are not new but I figured I would collect a few links for everyone so hey can get past the issues with this.&lt;br /&gt;&lt;br /&gt;1st - Get icons back on your desktop -&lt;br /&gt;&lt;a href="http://json8.wordpress.com/2011/08/05/enabling-desktop-icons-in-gnome-3/"&gt;http://json8.wordpress.com/2011/08/05/enabling-desktop-icons-in-gnome-3/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2nd - Get workspaces to work on more than 1 monitor. ( THIS DROVE ME CRAZY)&lt;br /&gt;&lt;a href="http://gregcor.com/2011/05/07/fix-dual-monitors-in-gnome-3-aka-my-workspaces-are-broken/"&gt;http://gregcor.com/2011/05/07/fix-dual-monitors-in-gnome-3-aka-my-workspaces-are-broken/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3rd. The wireless worked great so that was helpful.&lt;br /&gt;&lt;br /&gt;4th&amp;nbsp; Set your shortcuts to switch to workspace because going to activities everytime to get anyplace drives me crazy. Shows some outside users testing was needed more. &lt;br /&gt;&lt;br /&gt;So if this is enough for you then great!&amp;nbsp; But remember gnome 3 is not the only option :&lt;br /&gt;&lt;a href="http://digitizor.com/2011/08/04/linus-torvalds-ditches-gnome-for-xfce/"&gt;http://digitizor.com/2011/08/04/linus-torvalds-ditches-gnome-for-xfce/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://linux.slashdot.org/story/11/08/04/0115232/linus-torvalds-ditches-gnome-3-for-xfce"&gt;http://linux.slashdot.org/story/11/08/04/0115232/linus-torvalds-ditches-gnome-3-for-xfce&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A quick yum install of xfce and my life was so much better.&lt;br /&gt;&lt;br /&gt;If your a long time Gnome user, like myself, KDE was not an option. No reason I am just not a KDE guy. However, I did come to find that I am a XFCE guy. Within seconds of entering the XFCE environment I was home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-689161466070101752?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/689161466070101752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/gnome-3-to-xfce.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/689161466070101752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/689161466070101752'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/gnome-3-to-xfce.html' title='Gnome 3 to XFCE'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3303825345872048300</id><published>2011-11-17T15:32:00.000-07:00</published><updated>2011-11-17T15:32:48.776-07:00</updated><title type='text'>OTN Developer Day: MySQL - Minneapolis, MN</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qrC37WNXzMQ/TsWIwkEjbuI/AAAAAAAAAFs/8g5TNe0R4pw/s1600/mn.jPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-qrC37WNXzMQ/TsWIwkEjbuI/AAAAAAAAAFs/8g5TNe0R4pw/s320/mn.jPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Thanks to the community for a great turn out at the OTN Developer Day: MySQL in Minneapolis, MN.&lt;br /&gt;&lt;br /&gt;The room was packed and we had to bring more tables in to handle the crowd. Sessions covered enterprise, replication, overviews and perfomance.&lt;br /&gt;&lt;br /&gt;I hope the local MySQL user group can support the new members in their area.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.meetup.com/mn-mysql/"&gt;http://www.meetup.com/mn-mysql/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Best of luck to everyone and thanks again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3303825345872048300?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3303825345872048300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/otn-developer-day-mysql-minneapolis-mn.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3303825345872048300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3303825345872048300'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/otn-developer-day-mysql-minneapolis-mn.html' title='OTN Developer Day: MySQL - Minneapolis, MN'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-qrC37WNXzMQ/TsWIwkEjbuI/AAAAAAAAAFs/8g5TNe0R4pw/s72-c/mn.jPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5914470822954307917</id><published>2011-11-08T15:50:00.000-07:00</published><updated>2011-11-08T15:50:04.952-07:00</updated><title type='text'>Easy Phone Number Checks</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;So this is a simple free example of how to check a phone number via a mysql database. Yes more complete validation options are available, some even have to pay for, but this is better than no check at all.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The data is available here :   wget -q &lt;a href="http://www.blogger.com/goog_1505256468"&gt;http://www.telcodata.us/custom/telcodata.dum&lt;/a&gt;&lt;a href="http://www.telcodata.us/custom/telcodata.dump" target="_blank"&gt;p &lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;It loads a table like this:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; CREATE TABLE `telcodata` ( &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `npa` int(3) NOT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `exchange` int(3) NOT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `thousands` int(3) NOT NULL DEFAULT '-1', &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `company` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `ratecenter` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `clli` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `type` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `emaildomain` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `parentco` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `state` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `zip` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `lat` float(9,5) DEFAULT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `lon` float(9,5) DEFAULT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `latanum` int(11) DEFAULT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `ocn` varchar(4) NOT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `ilec` varchar(4) DEFAULT NULL, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `ilecname` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  `tandem` text, &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  KEY `rcstate` (`ratecenter`(11),`state`(2)), &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  KEY `npaexch` (`npa`,`exchange`,`thousands`) &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;)  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Once the data is loaded you can use this with data you have gathered. This could be from websites or data warehouse data who knows...  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Then you can check to see what type of a phone number it is ?&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;SELECT npa,exchange,thousands, company , ratecenter , type, parentco, CONCAT(npa,exchange,'0000','@',emaildomain) as send_a_txt &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;FROM telcodata where npa=303 and exchange=335 and ( thousands=8 or thousands &amp;lt; 0 )&amp;nbsp; ORDER BY thousands desc LIMIT 1 \G&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;       npa: 303 &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  exchange: 335 &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; thousands: 8 &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;   company: CELLCO PARTNERSHIP DBA VERIZON WIRELESS - CO &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;ratecenter: DENVER &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;      type: WIRELESS &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  parentco: Verizon &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;send_a_txt: 3033350000@vtext.com &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;1 row in set (0.00 sec)&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I have placed  0000 in place of the thousands field, if you wanted a valid thousands option you would replace it with your data.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A none cell looks like this&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;SELECT npa,exchange,thousands, company , ratecenter , type, parentco ,&amp;nbsp; CONCAT(npa,exchange,'0000','@',emaildomain) as send_a_txt FROM telcodata where npa=303 and exchange=623 and ( thousands=9 or thousands &amp;lt; 0 ) \G&lt;br /&gt;*************************** 1. row ***************************&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; npa: 303&lt;br /&gt;&amp;nbsp; exchange: 623&lt;br /&gt;&amp;nbsp;thousands: -1&lt;br /&gt;&amp;nbsp;&amp;nbsp; company: QWEST CORPORATION&lt;br /&gt;ratecenter: DENVER&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type: RBOC&lt;br /&gt;&amp;nbsp; parentco: NULL&lt;br /&gt;send_a_txt: NULL&lt;br /&gt;1 row in set (0.05 sec)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;In this case  you can check to see if the data given is a cell phone or not by checking the type field. Your tests are  only as good as your data but this is a start.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5914470822954307917?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5914470822954307917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/easy-phone-number-checks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5914470822954307917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5914470822954307917'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/easy-phone-number-checks.html' title='Easy Phone Number Checks'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8255735012079213753</id><published>2011-11-04T14:52:00.000-06:00</published><updated>2011-11-04T14:52:58.543-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Utilities'/><category scheme='http://www.blogger.com/atom/ns#' term='Launchpad'/><title type='text'>MySQL Utilities</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;I recently explored the mysql-utilities scripts available on launchpad ( &lt;a href="https://launchpad.net/mysql-utilities"&gt;https://launchpad.net/mysql-utilities&lt;/a&gt; ) The examples below are from my local test db.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The code is available via a quick bzr download after you sign in with your launchpad id of course.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;bzr launchpad-login &amp;lt;user_id_ from_launchpad&amp;gt;&lt;/i&gt;&amp;nbsp;  &lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;bzr branch lp:~mysql/mysql-utilities/trunk&lt;/i&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;MySQL Utilities code does have some requirements, Python between 2.6 and 3.x . So check your python version , some of the distributions have older versions. ( &lt;i&gt;# python –version &lt;/i&gt;) If you want the manuals, then  Sphinx (which also requires Jinja) is also required. Of course a connector to the database would be helpful. You can get the latest python connector, via launchpad as well, at &lt;a href="https://launchpad.net/myconnpy"&gt;https://launchpad.net/myconnpy&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;If your curious about more of the options for setup the help commands will give you a full list. (  &lt;i&gt;python setup.py –help-commands &lt;/i&gt;). Otherwise a quick set up is as simple as &lt;i&gt;python setup.py install&lt;/i&gt;.  I happen to not have the /etc/profile.d/mysql-utilities.sh on my system and the set up tossed an error. A simple touch of this file and all worked fine.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So you have it all installed, now what? You will find inside the scripts directory (../trunk/scripts) approximately 15 different python scripts.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;mysqldbcompare.py , mysqldbcopy.py, mysqldbexport.py ,mysqldbimport.py , mysqldiff.py , mysqldiskusage.py , mysqlindexcheck.py, mysqlmetagrep.py , mysqlprocgrep.py , mysqlreplicate.py, mysqlrplcheck.py , mmysqlrplshow.py , mmysqlserverclone.py, mmysqlserverinfo.py , mysqluserclone.py &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Some quick examples via the &lt;a href="http://dev.mysql.com/doc/index-other.html" target="_blank"&gt;employee database&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Index Checks:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;./mysqlindexcheck –server=&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt;  employees &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# Source on 192.168.0.2: ... connected. &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# The following indexes are duplicates or redundant for table employees.dept_emp: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;CREATE INDEX emp_no ON employees.dept_emp (emp_no) USING BTREE &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;#     may be redundant or duplicate of: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;ALTER TABLE employees.dept_emp ADD PRIMARY KEY (emp_no, dept_no) &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# The following indexes are duplicates or redundant for table employees.dept_manager: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;CREATE INDEX emp_no ON employees.dept_manager (emp_no) USING BTREE &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;#     may be redundant or duplicate of: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;ALTER TABLE employees.dept_manager ADD PRIMARY KEY (emp_no, dept_no) &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# The following indexes are duplicates or redundant for table employees.salaries: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;CREATE INDEX emp_no ON employees.salaries (emp_no) USING BTREE &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;#     may be redundant or duplicate of: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;ALTER TABLE employees.salaries ADD PRIMARY KEY (emp_no, from_date) &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# The following indexes are duplicates or redundant for table employees.titles: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;CREATE INDEX emp_no ON employees.titles (emp_no) USING BTREE &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;#     may be redundant or duplicate of: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;ALTER TABLE employees.titles ADD PRIMARY KEY (emp_no, title, from_date) &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Quick Server information:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; &lt;i&gt;./mysqlserverinfo --server=&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt; employees &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# Source on 192.168.0.2: ... connected. &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------+---------------+------------------+----------+--------------------------+--------------+----------------------+-----------------+------------+----------------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| server               | version       | datadir          | basedir  | plugin_dir               | config_file  | binary_log           | binary_log_pos  | relay_log  | relay_log_pos  | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------+---------------+------------------+----------+--------------------------+--------------+----------------------+-----------------+------------+----------------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;192.168.0.2:3306  | 5.6.3-m6-log  | /var/lib/mysql/  | /usr     | /usr/lib64/mysql/plugin  | /etc/my.cnf  | mysql-bin.000340  | 717             | None       | None           | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------+---------------+------------------+----------+--------------------------+--------------+----------------------+-----------------+------------+----------------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;If you need grep the tables to find something?  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; &lt;i&gt;./mysqlmetagrep --server=&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt; --pattern=emp_no &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------------+--------------+---------------+------------+-------------+----------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| Connection                 | Object Type  | Object Name   | Database   | Field Type  | Matches  | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------------+--------------+---------------+------------+-------------+----------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| kdl:*@192.168.0.2:3306  | TABLE        | dept_emp      | employees  | COLUMN      | emp_no   | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| kdl:*@192.168.0.2:3306  | TABLE        | dept_manager  | employees  | COLUMN      | emp_no   | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| kdl:*@192.168.0.2:3306  | TABLE        | employees     | employees  | COLUMN      | emp_no   | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| kdl:*@192.168.0.2:3306  | TABLE        | salaries      | employees  | COLUMN      | emp_no   | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| kdl:*@192.168.0.2:3306  | TABLE        | titles        | employees  | COLUMN      | emp_no   | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+----------------------------+--------------+---------------+------------+-------------+----------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Disk Usage:&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;./mysqldiskusage --server=&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# Source on 192.168.0.2: ... connected. &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# Database totals: &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+---------------------+-----------------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;| db_name             |          total  | &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+---------------------+-----------------+ &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;…&lt;i&gt;.&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Total database disk usage = 24,721,809,136 bytes or 23.00 GB &lt;/i&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;They are tools that are quick and easy to get installed and use to help and enhance your MySQL experience.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;MySQL Utilities are part of the MySQL Workbench but they can be used as a stand alone option.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Also available is the testing suite “mut” which is available under the mysql-test directory.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;# ./mut.py --server=&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;HOST&amp;gt;:&amp;lt;PORT&amp;gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;MySQL Utilities Testing - MUT &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Parameters used:  &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Display Width       = 75 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Sorted              = True &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Force               = False &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Test directory      = './t' &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Utilities directory = '../scripts' &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Starting port       = 3310 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Servers: &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;i&gt;Connecting to 192.168.0.2 as user kdl on port 3306: CONNECTED &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;--------------------------------------------------------------------------- &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;TEST NAME                                                     STATUS   TIME &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;=========================================================================== &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;experimental.t1                                               [pass]     48 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;experimental.t2                                               [pass]     14 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;experimental.t3                                               [pass]      3 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;experimental.t4                                               [pass]     10 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;main.check_index                                              [FAIL] &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;ERROR: Result file mismatch: &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;- # Source on localhost: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;+ # Source on 192.168.0.2: ... connected. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;--------------------------------------------------------------------------- &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Testing completed: Friday 04 November 2011 14:38:02 &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;4 of 75 tests completed. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;The following tests failed or were skipped: check_index  &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Deleting temporary files...success. &lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;More information is available :&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Chuck Bell's Blog &lt;a href="http://drcharlesbell.blogspot.com/2011/10/mysql-utilities-release-103.html"&gt;http://drcharlesbell.blogspot.com/2011/10/mysql-utilities-release-103.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Lars Thalmann's Blog &lt;a href="http://larsthalmann.blogspot.com/2011/04/mysql-workbench-utilities.html"&gt;http://larsthalmann.blogspot.com/2011/04/mysql-workbench-utilities.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;You can of course find this and numerous other MySQL code instances, some are old, at &lt;a href="https://launchpad.net/mysql"&gt;https://launchpad.net/mysql&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8255735012079213753?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8255735012079213753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/mysql-utilities.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8255735012079213753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8255735012079213753'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/mysql-utilities.html' title='MySQL Utilities'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5246334849277307712</id><published>2011-11-03T15:21:00.000-06:00</published><updated>2011-11-03T15:21:32.771-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL Oracle ACE'/><title type='text'>Shlomi Noach and the MySQL Oracle ACE</title><content type='html'>&amp;nbsp;A big congrats to Shlomi Noach&amp;nbsp; for his &lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:3833960713106406::NO:4:P4_ID:4520"&gt;MySQL Oracle ACE&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can find Shlomi's code and blogs at &lt;a href="http://code.openark.org/blog/"&gt;http://code.openark.org/blog/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5246334849277307712?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5246334849277307712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/shlomi-noach-and-mysql-oracle-ace.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5246334849277307712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5246334849277307712'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/11/shlomi-noach-and-mysql-oracle-ace.html' title='Shlomi Noach and the MySQL Oracle ACE'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7162971526827476377</id><published>2011-10-31T15:07:00.000-06:00</published><updated>2011-10-31T15:07:16.332-06:00</updated><title type='text'>Don't forget to mysql_upgrade</title><content type='html'>I recently upgraded MySQL to the DMR release of 5.6.3.&amp;nbsp; Available here :&lt;a href="http://dev.mysql.com/downloads/mysql/5.6.html#downloads"&gt;http://dev.mysql.com/downloads/mysql/5.6.html#downloads&lt;/a&gt;&amp;nbsp; &lt;br /&gt;I was reminded of a some questions about mysql_upgrade I have gotten lately. While it is easy to skip, do not forget to run &lt;br /&gt;/usr/bin/mysql_upgrade&amp;nbsp; after you upgrade. &lt;br /&gt;&lt;br /&gt;Yes it is typical to see clean tables.&lt;br /&gt;&lt;br /&gt;Simple example:&lt;br /&gt;employees.departments&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;employees.dept_emp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;employees.dept_manager&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;employees.employees&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;employees.salaries&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;employees.titles&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OK &lt;br /&gt;&lt;br /&gt;I do not want to repeat what others have said so more on mysql_upgrade can be found by these community posts if needed:&lt;br /&gt;&lt;a href="http://nilinfobin.com/2011/08/how-to-use-mysql_upgrade-script/"&gt;http://nilinfobin.com/2011/08/how-to-use-mysql_upgrade-script/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mysqlperformanceblog.com/2010/05/14/mysql_upgrade-and-innodb-tables/"&gt;http://www.mysqlperformanceblog.com/2010/05/14/mysql_upgrade-and-innodb-tables/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7162971526827476377?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7162971526827476377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/dont-forget-to-mysqlupgrade.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7162971526827476377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7162971526827476377'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/dont-forget-to-mysqlupgrade.html' title='Don&apos;t forget to mysql_upgrade'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6957193165084107660</id><published>2011-10-14T19:43:00.000-06:00</published><updated>2011-10-14T19:43:41.743-06:00</updated><title type='text'>Thank you RMOUG</title><content type='html'>I big thank you to the Rocky Mountain Oracle Users Group (RMOUG) because, they invited me out for a night of MySQL for Oracle DBA's. It was a great night. I took feedback from OOW and rebuilt a presentation just for them. I also built out a hands on lab for MySQL and let them loose... &lt;br /&gt;&lt;br /&gt;Over those 2 hours we covered the basics of MySQL and everyone got to get their hands into the MySQL 5.5 Database via the command line. They then walked away with another hands on lab for MySQL Workbench. &lt;br /&gt;&lt;br /&gt;I wish them all the best and I appreciate the positive feedback. &lt;br /&gt;&lt;br /&gt;Keith&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6957193165084107660?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6957193165084107660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/thank-you-rmoug.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6957193165084107660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6957193165084107660'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/thank-you-rmoug.html' title='Thank you RMOUG'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4722434514374871487</id><published>2011-10-13T13:02:00.000-06:00</published><updated>2011-10-13T13:02:07.718-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><category scheme='http://www.blogger.com/atom/ns#' term='feedback'/><title type='text'>Looking for feedback</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;We are looking for users of the &lt;a href="http://dev.mysql.com/downloads/mysql/"&gt;MySQL Community Edition 5.5&lt;/a&gt; and/or users who tested some of MySQL 5.6&amp;nbsp; (via the &lt;a href="http://labs.mysql.com/"&gt;labs.mysql.com&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Have you tested the &lt;a href="https://launchpad.net/mysql-utilities"&gt;MySQL utilities&lt;/a&gt; ? &lt;br /&gt;&lt;br /&gt;Have you tested &lt;a href="http://dev.mysql.com/downloads/cluster/"&gt;Cluster&lt;/a&gt; ?&lt;br /&gt;&lt;br /&gt;What replication topologies do you prefer?&lt;br /&gt;&lt;br /&gt;We want to know your thoughts on features and how it has helped you.&amp;nbsp; Your feedback helps drive the future! Don't be shy ! Please contact me with your feedback.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;keith larson&lt;br /&gt;[first.last[@]oracle.com]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4722434514374871487?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4722434514374871487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/looking-for-feedback.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4722434514374871487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4722434514374871487'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/looking-for-feedback.html' title='Looking for feedback'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7898533305347144636</id><published>2011-10-11T14:23:00.000-06:00</published><updated>2011-10-11T14:23:54.231-06:00</updated><title type='text'>Thanks for letting us know.</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;A recent &lt;a href="http://www.chriscalender.com/?p=278"&gt;post&lt;/a&gt; was brought to our attention. Thanks for letting us know. This has now been fixed. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7898533305347144636?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7898533305347144636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/thanks-for-letting-us-know.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7898533305347144636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7898533305347144636'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/thanks-for-letting-us-know.html' title='Thanks for letting us know.'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5398643465313235300</id><published>2011-10-07T17:15:00.000-06:00</published><updated>2011-10-07T17:15:40.298-06:00</updated><title type='text'>Many thanks to the MySQL Community</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KtA6K6Moy8U/To-FH7R3NuI/AAAAAAAAAFg/OCxYJiMxWGo/s1600/mysql_sal.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-KtA6K6Moy8U/To-FH7R3NuI/AAAAAAAAAFg/OCxYJiMxWGo/s320/mysql_sal.jpg" width="205" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;Many thanks to the MySQL Community. The Oracle Open world sessions had veterans (Sheeri, Sarah, Giuseppe, Ronald, Baron, to just list a few) and a wealth of newcomers.&amp;nbsp; We evan had Oracle DBAs taking entire MySQL sessions at OOW! They also commented on how open the MySQL community is to everyone. &lt;br /&gt;&lt;br /&gt;It was great to see the excitement about the future &lt;a href="http://dev.mysql.com/downloads/mysql/5.6.html"&gt;5.6&lt;/a&gt; Release of MySQL and &lt;a href="http://dev.mysql.com/downloads/cluster/7.2.html"&gt;7.2&lt;/a&gt; of MySQL Cluster.&lt;br /&gt;&lt;br /&gt;Now that I have made it back I look forward to testing the &lt;a href="http://dev.mysql.com/downloads/"&gt;DMR releases&lt;/a&gt;. Personally, I am excited about the enhancements with replication and the continued stability of InnoDB. Look for future posts on this.&lt;br /&gt;&lt;br /&gt;Feel free to contact me for anything, (keith.larson[@]oracle[.]com)&lt;br /&gt;&lt;br /&gt;And yes.. the Dolphin pictured was waiting for me when I arrived home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5398643465313235300?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5398643465313235300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/many-thanks-to-mysql-community.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5398643465313235300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5398643465313235300'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/many-thanks-to-mysql-community.html' title='Many thanks to the MySQL Community'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-KtA6K6Moy8U/To-FH7R3NuI/AAAAAAAAAFg/OCxYJiMxWGo/s72-c/mysql_sal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4693418086194955685</id><published>2011-10-06T17:03:00.000-06:00</published><updated>2011-10-06T17:03:20.638-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL and NetAPP'/><title type='text'>It's a WRAP with NetApp!</title><content type='html'>MySQL @ #OOW11 is complete and we finished off with a very interactive session with Karthikeyan from NetApp. This was the most interactive session I had seen @ #OOW this year.&lt;br /&gt;&lt;br /&gt;Some topics covered included:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; NetApp :&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Deduplication &lt;/li&gt;&lt;ul&gt;&lt;li&gt;30% to 40% space savings for MySQL on NetApp&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;nbsp;Snapshot and instant point in time data copies with minimal storage space&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://media.netapp.com/documents/tr-3601.pdf"&gt;ONLINE MYSQL BACKUP USING NETAPP SNAPSHOT TECHNOLOGY&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/goog_1089631066"&gt;&amp;nbsp;&lt;/a&gt;&lt;a href="http://communities.netapp.com/community/netapp-blogs/planet/blog/2010/03/18/netapp-solutions-for-mysql"&gt;&lt;span style="font-size: small;"&gt;What is Snap Creator?&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://communities.netapp.com/community/products_and_solutions/databases_and_enterprise_apps/snapcreator"&gt;Snap Creator Community&amp;nbsp;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.netapp.com/us/products/platform-os/flexclone.html"&gt;FlexClone&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;"A snapshot that is writable"&lt;/li&gt;&lt;li&gt;"Understanding Snap Creator and FlexClone is a career builder" -- Bill Heffelfinger &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;DataONTAP Compression&lt;/li&gt;&lt;ul&gt;&lt;li&gt;75% compression in testing so far and they are eager to find more real world customers to test with.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Multitencacy &lt;/li&gt;&lt;li&gt;DataMotion&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Movement of MySQL Data across storage systems&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Protection Manager&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Policy-Based Data Management&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;nbsp;NetApp &amp;amp; MySQL Customer Use Cases&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Siemens IT Solutions and Services&lt;/li&gt;&lt;li&gt;Vantage Media&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;We ran a little long because but it was good to end OOW with an interactive session and not just an empty room. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is are a few related items for NetApp &amp;amp; MySQL:&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1089631040"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1 class="sp-sectionHead"&gt;&lt;a href="http://www.netapp.com/us/solutions/applications/mysql/mysql-overview.html"&gt;&lt;span style="font-size: small;"&gt;NetApp Storage Solutions for MySQL® Enterprise&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h1 class="sp-sectionHead"&gt;                 &lt;/h1&gt;&lt;h1 class="sp-sectionHead"&gt;&lt;a href="http://www.netapp.com/us/solutions/applications/mysql/mysql-backup-recovery.html"&gt;&lt;span style="font-size: small;"&gt;MySQL Enterprise Backup &amp;amp; Recovery&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h1 class="sp-sectionHead"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://media.netapp.com/documents/tr-3657.pdf"&gt;Best Practices Guidelines for MySQL &lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h2&gt;&lt;a href="http://communities.netapp.com/community/netapp-blogs/planet/blog/2010/03/18/netapp-solutions-for-mysql"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;a class="font-color-normal" href=""&gt;NetApp Solutions for MySQL&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h1 class="sp-sectionHead"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4693418086194955685?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4693418086194955685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/its-wrap-with-netapp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4693418086194955685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4693418086194955685'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/its-wrap-with-netapp.html' title='It&apos;s a WRAP with NetApp!'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5390189441246085740</id><published>2011-10-06T11:40:00.000-06:00</published><updated>2011-10-06T11:40:52.057-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><title type='text'>Very Encouraging</title><content type='html'>The last day of #OOW is here and MySQL events continue. Even after the big Sting concert last night. I am now sitting in a MySQL Crash Course talk given by Alexander Nozdrin and Dmitry Lenev. The room is packed (~100) ! A poll of the room&amp;nbsp; showed that the majority here are all new to MySQL. Very encouraging to see the MySQL community growing !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5390189441246085740?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5390189441246085740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/very-encouraging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5390189441246085740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5390189441246085740'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/very-encouraging.html' title='Very Encouraging'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3302090549827106512</id><published>2011-10-04T19:06:00.000-06:00</published><updated>2011-10-04T19:06:35.010-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql 5.6'/><title type='text'>MySQL 5.6 Roadmap</title><content type='html'>The MySQL Roadamap session @ OOW was a wealth of information.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Gier was able to talk some in-depth about the MySQL optimizer , ICP , Batched Key Access ("BKA") and Multi-Range Read ("MRR") , 'explain' updates, as well as traces.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;You can catch up on this as well with Rob Young's blog post available &lt;a href="http://blogs.oracle.com/MySQL/entry/more_early_access_features_in"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yoshinori also has a great blog post about 5.6.3: &lt;a href="http://yoshinorimatsunobu.blogspot.com/2011/10/testing-mysql-563-network-performance.html%20"&gt;yoshinorimatsunobu.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rob young also talked on MySQL Database Goals:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp; Re-factored architecture&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Pluggable feature set&lt;/li&gt;&lt;li&gt;Deprecate legacy "baggage"&lt;/li&gt;&lt;li&gt;Real data dictionary&amp;nbsp; (remove .frm files)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;nbsp; Better Cloud, Hosting, Saas features&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Auto-sharding, load balancing , automatic failover&amp;nbsp;&lt;/li&gt;&lt;li&gt;Online operations&lt;/li&gt;&lt;li&gt;Multi-tenancy, schema/catalogs, resource control, "elastic resources"&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Windows platforms&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Continue improvements &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;MySQL Cluster Goals &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ease of use&lt;/li&gt;&lt;li&gt;Enhanced API&lt;/li&gt;&lt;li&gt;Performance &amp;amp; Capacity increases&lt;/li&gt;&lt;li&gt;Wider Deployment options&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.6.html#downloads"&gt;Get MySQL 5.6.3 now&lt;/a&gt; and test out these great options !&lt;br /&gt;MySQL 7.2.1 beta is available &lt;a href="http://dev.mysql.com/downloads/cluster/7.2.html"&gt;here&lt;/a&gt;. &lt;br /&gt;Look for more blog posts on this topics as myself and the community tests and enjoys these features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3302090549827106512?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3302090549827106512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-56-roadmap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3302090549827106512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3302090549827106512'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-56-roadmap.html' title='MySQL 5.6 Roadmap'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-776586185895985242</id><published>2011-10-04T10:05:00.000-06:00</published><updated>2011-10-04T10:05:56.220-06:00</updated><title type='text'>MySQL DAY @OOW</title><content type='html'>Today will be a busy day for MySQL @OOW.&amp;nbsp; The sessions today cover a wide range of MySQL users.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technocation.org/files/doc/2011_OOW_MySQL_Content.html"&gt;Sessions include&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Advanced MySQL Replication&amp;nbsp;&lt;/li&gt;&lt;li&gt;Getting to know the MySQL Enterprise Monitor&lt;/li&gt;&lt;li&gt;MySQL Performance Tuning&lt;/li&gt;&lt;li&gt;Introduction to InnoDB&lt;/li&gt;&lt;li&gt; Getting the most out of MySQL on Windows&lt;/li&gt;&lt;li&gt;MySQL for Beginners&lt;/li&gt;&lt;li&gt;The MySQL Roadmap &lt;/li&gt;&lt;/ul&gt;Today also includes a MySQL WorkBench Hands on Lab and we then get to end the day with the &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140041&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=83&amp;amp;evite=83"&gt;MySQL Community Reception&lt;/a&gt;.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;The wealth of knowledge here from MySQL is outstanding.&amp;nbsp; We have even heard from attendees that are here only for MySQL.&lt;br /&gt;&lt;br /&gt;Ok time to get started...!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-776586185895985242?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/776586185895985242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-day-oow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/776586185895985242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/776586185895985242'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-day-oow.html' title='MySQL DAY @OOW'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4380080824092408583</id><published>2011-10-03T17:13:00.000-06:00</published><updated>2011-10-03T17:13:44.994-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><title type='text'>MySQL Resources</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;So Sunday &amp;amp; Monday have been great! I was glad to be able to visit and talk with so many people from the MySQL community.  While talking with the community, we often directed people to Sheeri's QR tag, which directed them to  &lt;a href="http://kimtag.com/MySQL"&gt;http://kimtag.com/MySQL&lt;/a&gt;. ( She posted about this &lt;a href="http://palominodb.com/blog/2011/09/22/what-community-resources-should-be-oracle-openworld"&gt;here&lt;/a&gt;. ) This simple page is a great way to get a lot of resources in front of people with very  few clicks. I was curious  why mysql.com doesn't have something similar so we can help out.  So, we made one.   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So we took a quick look around and gathered some quick links for you. It is a simple list of resources that can be used to help direct people to top content about MySQL. Hopefully, you all find this page as useful as the QR tag was so far at OOW. You can find the new page here: &lt;a href="http://dev.mysql.com/resources/"&gt;http://dev.mysql.com/resources/&lt;/a&gt; it is also labeled community resources in the devzone.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Topics include:  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Scripts and Code&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Tips and tricks&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Recommended books&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; MySQL Events  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; MySQL User Groups&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; MySQL Oracle ACEs&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Contribute Code&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Subscribe to the Newsletter&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Bugs Database&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; MySQL Technical Support&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; Training and Certification&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; MySQL Community Relations Team&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;We are looking forward to your help/links to update these pages. If, like Sheeri, you maintain your own list of helpful MySQL Resources, or, if you have a favorite book, or a favorite script, or a favorite tool, please let us know ! Put the &lt;b&gt;MySQL Community Team&lt;/b&gt;&lt;span style="font-weight: normal;"&gt; &lt;/span&gt;to work, we are here to help you!&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4380080824092408583?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4380080824092408583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-resources.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4380080824092408583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4380080824092408583'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/mysql-resources.html' title='MySQL Resources'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1038700122860471404</id><published>2011-10-02T22:05:00.000-06:00</published><updated>2011-10-02T22:05:35.457-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='OOW'/><title type='text'>Oracle Open World Day 1</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Xna7hri4PyM/TokzZ82v84I/AAAAAAAAAFc/Vmcxeozfj80/s1600/photo.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Xna7hri4PyM/TokzZ82v84I/AAAAAAAAAFc/Vmcxeozfj80/s1600/photo.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It was a good to put &amp;nbsp;face to the names today at day 1 of #oow11 .&lt;br /&gt;&lt;br /&gt;Tried to spend most of the day supporting the MySQL Community Kiosk with Sherri, Sarah and Dave. I was able to step into a couple sessions to show support as well.&lt;br /&gt;&lt;br /&gt;Day two the MySQL sessions will be at the Marriot Marquis Hotel. Moscone South will have MySQL demos at the Exhibition Hall and Moscone West will have the MySQL Community Kiosk. Come on down and support MySQL!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1038700122860471404?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1038700122860471404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/oracle-open-world-day-1.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1038700122860471404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1038700122860471404'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/10/oracle-open-world-day-1.html' title='Oracle Open World Day 1'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Xna7hri4PyM/TokzZ82v84I/AAAAAAAAAFc/Vmcxeozfj80/s72-c/photo.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5942851127226549675</id><published>2011-09-30T11:15:00.000-06:00</published><updated>2011-09-30T11:15:58.307-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL community Oracle open world'/><title type='text'>Focus on MySQL | Oracle OpenWorld 2011</title><content type='html'>Oracle OpenWorld is just a few days away now!&lt;br /&gt;&lt;br /&gt;As a reminder, you can attend all of the &lt;a href="http://www.oracle.com/openworld/oow11-focuson-mysql-486114.pdf"&gt;Sunday MySQL sessions&lt;/a&gt; organized by IOUG and the MySQL community with a full OOW pass.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140041&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=83&amp;amp;evite=83"&gt;MySQL community reception&lt;/a&gt; is also available to everyone on Tuesday .&lt;br /&gt;&lt;br /&gt;See you soon !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5942851127226549675?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5942851127226549675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/focus-on-mysql-oracle-openworld-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5942851127226549675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5942851127226549675'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/focus-on-mysql-oracle-openworld-2011.html' title='Focus on MySQL | Oracle OpenWorld 2011'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1043687768419923107</id><published>2011-09-23T15:45:00.002-06:00</published><updated>2011-09-23T15:46:14.223-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='workbench'/><title type='text'>Workbench Scripts</title><content type='html'>A was checking out the new Workbench today after I saw this blog post &lt;a href="http://wb.mysql.com/?p=1169"&gt;http://wb.mysql.com/?p=1169&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It all worked great and very easy.&amp;nbsp; Nice clean code that helps out the PHP Developer.&lt;br /&gt;example: &lt;br /&gt;$host="localhost";&lt;br /&gt;$port=3306;&lt;br /&gt;$socket="";&lt;br /&gt;$user="";&lt;br /&gt;$password="";&lt;br /&gt;$dbname="";&lt;br /&gt;&lt;br /&gt;$con = new mysqli($host, $user, $password, $dbname, $port, $socket)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; or die ('Could not connect to the database server' . mysqli_connect_error());&lt;br /&gt;&lt;br /&gt;//$con-&amp;gt;close();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$query = "SELECT * FROM exampledb";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if ($stmt = $con-&amp;gt;prepare($query)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $stmt-&amp;gt;execute();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $stmt-&amp;gt;bind_result($field1, $field2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ($stmt-&amp;gt;fetch()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //printf("%s, %s\n", $field1, $field2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $stmt-&amp;gt;close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;While this is a simple example it is a fantastic way for new developers to get started and learn how things are done.&lt;br /&gt;&lt;br /&gt;A DBA can easily write a complex query and hand over PHP code to the developer. Nice work!&lt;br /&gt;&lt;br /&gt;The ability to then write your own plugins really opens it up for some advanced developers.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;This is a step in the right direction and supports working together between DBA and developer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1043687768419923107?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1043687768419923107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/workbench-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1043687768419923107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1043687768419923107'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/workbench-scripts.html' title='Workbench Scripts'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2673761479863969755</id><published>2011-09-23T12:59:00.001-06:00</published><updated>2011-09-23T13:08:42.382-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Open World'/><title type='text'>MySQL Oracle Open World Session Calendar</title><content type='html'>With 47 MySQL sessions at Oracle Open World this year we are going to be busy. Keeping updated on them in a easy fashion will be best for all of us.&lt;br /&gt;&lt;br /&gt;Sheeri has a matrix here: &lt;a href="http://technocation.org/files/doc/2011_OOW_MySQL_Content.html%20"&gt;http://technocation.org/files/doc/2011_OOW_MySQL_Content.html&amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oracle as a PDF here : &lt;a href="http://www.oracle.com/openworld/oow11-focuson-mysql-486114.pdf%20"&gt;http://www.oracle.com/openworld/oow11-focuson-mysql-486114.pdf &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I went ahead and made public calendars so we can sync this information across our phones and etc....&amp;nbsp; I will update them when I find out&amp;nbsp; about any changes and then of course it should sync out to all of you who use them. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SESSIONS &lt;br /&gt;&lt;br /&gt;XML &lt;a class="moz-txt-link-freetext" href="https://www.google.com/calendar/feeds/pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com/public/basic"&gt;https://www.google.com/calendar/feeds/pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com/public/basic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ICAL &lt;a href="https://www.google.com/calendar/ical/pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com/public/basic.ics" target="_blank"&gt;https://www.google.com/calendar/ical/pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com/public/basic.ics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HTML &lt;b&gt;&lt;a href="https://www.google.com/calendar/embed?src=pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com" style="font-weight: normal;" target="_blank"&gt;https://www.google.com/calendar/embed?src=pj443o2ojeggqfofr82p08jqo0%40group.calendar.google.com&lt;/a&gt;       &lt;br /&gt;&lt;br /&gt;&lt;/b&gt;DEMOs&lt;br /&gt;&lt;br /&gt;XML - &lt;a class="moz-txt-link-freetext" href="https://www.google.com/calendar/feeds/irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com/public/basic"&gt;https://www.google.com/calendar/feeds/irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com/public/basic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ICAL &lt;a class="moz-txt-link-freetext" href="https://www.google.com/calendar/ical/irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com/public/basic.ics"&gt;https://www.google.com/calendar/ical/irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com/public/basic.ics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HTML &lt;a class="moz-txt-link-freetext" href="https://www.google.com/calendar/embed?src=irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com"&gt;https://www.google.com/calendar/embed?src=irv222fjo1mqo7neukv6dqfuto%40group.calendar.google.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2673761479863969755?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2673761479863969755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/mysql-oracle-open-world-session.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2673761479863969755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2673761479863969755'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/mysql-oracle-open-world-session.html' title='MySQL Oracle Open World Session Calendar'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-4131530235564691948</id><published>2011-09-23T09:36:00.000-06:00</published><updated>2011-09-23T09:36:31.892-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Open World'/><title type='text'>Come Swim with the Dolphins !</title><content type='html'>An Oracle Open World blog post for us ! It has highlights and links for you to see all the great MySQL content at Open World. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.oracle.com/oracleopenworld/entry/come_swim_with_the_dolphins"&gt;http://blogs.oracle.com/oracleopenworld/entry/come_swim_with_the_dolphins&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-4131530235564691948?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/4131530235564691948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/come-swim-with-dolphins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4131530235564691948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/4131530235564691948'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/come-swim-with-dolphins.html' title='Come Swim with the Dolphins !'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3224772436439611393</id><published>2011-09-21T12:07:00.000-06:00</published><updated>2011-09-21T12:07:57.342-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL community Oracle open world'/><title type='text'>Oracle Open World MySQL Sessions</title><content type='html'>&lt;style type="text/css"&gt; &lt;!--  @page { margin: 0.79in }  P { margin-bottom: 0.08in }  A:link { so-language: zxx } --&gt; &lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Just ten days until Oracle Open World and MySQL is going to have a big presence!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; “Focus on MySQL” overall schedule is available here: &lt;a href="http://www.oracle.com/openworld/oow11-focuson-mysql-486114.pdf"&gt;http://www.oracle.com/openworld/oow11-focuson-mysql-486114.pdf&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Here are a couple thoughts of mine about the week:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Support and visit the MySQL Community Kiosk at Moscone West Hall Level 2 as much as possible.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Sunday @ Moscone West&amp;nbsp; &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;A great line-up of presentations by the IOUG/MySQL Community itself. It will be hard to pick which sessions to see.  MySQL ACE members Ronald Bradford and Giuseppe Maxia are some examples of the experts talking on Sunday. &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Monday @ Marriot Marquis&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The MySQL keynote by Tomas Ulin, of course, should not be missed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Catch sessions by Oracle engineers and MySQL ACE members such as Sherri Cabral, Sarah Novotny, and Yoshinori Matsunobu. &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Tuesday &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;@ Marriot Marquis&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Looks to have great sessions on MySQL replication, MySQL for Oracle DBAs, MySQL on Windows, as well as InnoDB and the MySQL roadmap.  All look to be good to see. &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Also take note of the hands on labs and learn from the expert himself.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;&lt;i&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MySQL Workbench: Developing MySQL Applications on Windows&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;&lt;i&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Mike Zinner, Software Development Director, Oracle&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Tuesday at 11:45am – Marriott Marquis Salon 10/11&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The MySQL Community Reception &lt;/span&gt;&lt;/span&gt;&lt;span class="bodycopy"&gt;&lt;/span&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; is also open to everyone,&amp;nbsp; &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140041&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=83&amp;amp;evite=83"&gt;space is limited so register today. &lt;/a&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span class="bodycopy"&gt;&lt;span style="color: red; font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Wednesday &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;@ Marriot Marquis&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;NoSQL, backup,monitor, data recovery and protection, scalability and Oracle integration talks from the experts. Mat Keep, Andrew Morgan, Rob Young, Lars Thalmann just to name a few.  &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Thursday &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;@ Marriot Marquis&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;NoSQL Interfaces to MySQL Cluster, by Craig Russell, and What causes MySQL downtime, by Baron Schwartz a MySQL ACE member,&amp;nbsp; both look like good sessions. Cloud Computing solutions for MySQL is another good one by Charles Bell. &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Arial,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;These are just a few of the 47 MySQL Sessions. All of the sessions are going to be loaded with knowledge from MySQL experts and it will be tough to pick&amp;nbsp; which expert you want to listen and learn from.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3224772436439611393?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3224772436439611393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/oracle-open-world-mysql-sessions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3224772436439611393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3224772436439611393'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/oracle-open-world-mysql-sessions.html' title='Oracle Open World MySQL Sessions'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6090692122564697588</id><published>2011-09-15T16:29:00.002-06:00</published><updated>2011-09-15T17:26:47.419-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><category scheme='http://www.blogger.com/atom/ns#' term='Developer Day'/><title type='text'>Developer Day MySQL - Minneapolis</title><content type='html'>Another MySQL Developer Day is available. I will be joining the MySQL team in Minneapolis &lt;span class="bodycopy"&gt;&lt;b&gt;Thursday, November 17, 2011.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;You can &lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140384&amp;amp;src=7328803&amp;amp;src=7328803&amp;amp;Act=41%20"&gt;register here.&lt;/a&gt; &lt;/span&gt;&lt;span class="bodycopy"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6090692122564697588?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6090692122564697588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/developer-day-mysql-minneapolis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6090692122564697588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6090692122564697588'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/developer-day-mysql-minneapolis.html' title='Developer Day MySQL - Minneapolis'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5465604845130930560</id><published>2011-09-02T10:31:00.000-06:00</published><updated>2011-09-02T10:31:22.001-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql meetup colorado'/><title type='text'>Colorado MySQL meetup group</title><content type='html'>   	 	 	 	&lt;style type="text/css"&gt;	&lt;!--		@page { margin: 0.79in }		P { margin-bottom: 0.08in }		A:link { so-language: zxx }	--&gt;	&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;I just started a Colorado MySQL meetup group. This is long overdue !&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;If your in the Colorado area feel free to join and we can work on getting some meetings started.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.meetup.com/Colorado-MySQL-Meetup-Group/"&gt;http://www.meetup.com/Colorado-MySQL-Meetup-Group/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.facebook.com/#%21/groups/mysqlcolorado/"&gt;http://www.facebook.com/#!/groups/mysqlcolorado/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5465604845130930560?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5465604845130930560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/colorado-mysql-meetup-group.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5465604845130930560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5465604845130930560'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/colorado-mysql-meetup-group.html' title='Colorado MySQL meetup group'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6071854261753773135</id><published>2011-09-01T14:46:00.000-06:00</published><updated>2011-09-01T14:46:11.136-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='explain'/><title type='text'>Explain....</title><content type='html'>&lt;style type="text/css"&gt;	&lt;!--		@page { margin: 0.79in }		P { margin-bottom: 0.08in }		A:link { so-language: zxx }	--&gt;	&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Explain&lt;/i&gt;.... It is a  very simple command that I feel is one of the most overlooked commands by new MySQL users. It is also a very valuable command available for MySQL. I realize I am preaching to the choir for a lot of MySQL users. However, for everyone who uses explain, we are bound to have many who do not.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The MySQL documentation on this is great and&lt;a href="http://dev.mysql.com/doc/refman/5.6/en/explain.html"&gt; available here&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: helvetica, arial, sans-serif; font-size: x-small; font-weight: bold; line-height: 23px;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.6/en/using-explain.html"&gt;Optimizing Queries with&amp;nbsp;&lt;code class="literal" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #026789; font-family: 'courier new', courier, fixed, monospace; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;EXPLAIN&lt;/code&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Developer and a dba issues will continue for years, &amp;nbsp;but we can at least start on a level playing field. When writing a query, regardless of what it is, it is a good practice is to start it with explain first. This can achieve a couple things for you.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;It checks your syntax to help you 	avoid mistakes.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;Allows you to display information 	from the optimizer&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Using the world example data for avoiding mistakes via explain. (innodb version)&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/index-other.html"&gt;http://dev.mysql.com/doc/index-other.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (world) &amp;gt; explain extended SELECT City.CountryCode , City.Name , Country.Name , Country.Capital , Country.Population FROM City , Country WHERE Country.Continent = 'North America' AND City.CountryCode = Country.Code; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+---------+------+---------------+-------------+---------+--------------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| id | select_type | table   | type | possible_keys | key         | key_len | ref                | rows | filtered | Extra       | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+---------+------+---------------+-------------+---------+--------------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | Country | ALL  | PRIMARY       | NULL        | NULL    | NULL               |  200 |   100.00 | Using where | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | City    | ref  | CountryCode   | CountryCode | 3       | world.Country.Code |   18 |   100.00 |             | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+---------+------+---------------+-------------+---------+--------------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;2 rows in set, 1 warning (0.00 sec) &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This query does work but I would never write it this way. It works for such a small data set but a join would work better.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (world) &amp;gt; explain extended SELECT C.CountryCode , C.Name , Y.Name , Y.Capital , Y.Population  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;-&amp;gt; FROM City C &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;-&amp;gt; INNER JOIN Country Y ON Y.Code = C.CountryCode ; WHERE Y.Continent = 'North America'  ; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| id | select_type | table | type | possible_keys | key         | key_len | ref          | rows | filtered | Extra | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | Y     | ALL  | PRIMARY       | NULL        | NULL    | NULL         |  200 |   100.00 |       | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | C     | ref  | CountryCode   | CountryCode | 3       | world.Y.Code |   18 |   100.00 |       | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;2 rows in set, 1 warning (0.00 sec) &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE Y.Continent = 'North America'' at line 1 &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (world) &amp;gt; &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;An error! Explain found this simple typo. While updating query to use a join,  I adjusted my table references to aliases and a semicolon was placed before the where.  Simple typo, but in the real world it could have been worse.  What if your typo, enabled a full table scan across a table with billions of rows of data?  Real world issues are usually related to “such an easy query” issues, so it is rushed. Then code gets pushed and nothing worked as planned. We can all write, clean, effective, and optimized queries, if we pay attention and understand what we are executing.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So error fixed .  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (world) &amp;gt; explain extended SELECT C.CountryCode , C.Name , Y.Name , Y.Capital , Y.Population  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;-&amp;gt; FROM City C &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;-&amp;gt; INNER JOIN Country Y ON Y.Code = C.CountryCode WHERE Y.Continent = 'North America'  ; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| id | select_type | table | type | possible_keys | key         | key_len | ref          | rows | filtered | Extra       | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | Y     | ALL  | PRIMARY       | NULL        | NULL    | NULL         |  200 |   100.00 | Using where | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | C     | ref  | CountryCode   | CountryCode | 3       | world.Y.Code |   18 |   100.00 |             | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+---------------+-------------+---------+--------------+------+----------+-------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;2 rows in set, 1 warning (0.01 sec) &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;i&gt;Using the employee example data to display information from the optimizer via explain. (innodb version)&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/index-other.html"&gt;http://dev.mysql.com/doc/index-other.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The real use and best use of explain is to “display information from the optimizer about the query execution plan.” (refman) When executing joins across tables you need to understand what your pulling and make sure the best indexes are being used.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (employees) &amp;gt; explain SELECT e.first_name , e.last_name , e.gender , e.hire_date , t.title , s.salary &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;FROM employees e &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;INNER JOIN titles t ON t.emp_no = e.emp_no AND e.hire_date BETWEEN t.from_date and t.to_date &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;INNER JOIN salaries s ON s.emp_no = e.emp_no AND e.hire_date BETWEEN s.from_date and s.to_date &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;WHERE e.gender='M' &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;ORDER BY e.hire_date ASC; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+----------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| id | select_type | table | type | possible_keys  | key     | key_len | ref                | rows   | Extra          | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+----------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | e     | ALL  | PRIMARY        | NULL    | NULL    | NULL               | 300030 | Using filesort | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | t     | ref  | PRIMARY,emp_no | PRIMARY | 4       | employees.e.emp_no |      1 | Using where    | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | s     | ref  | PRIMARY,emp_no | PRIMARY | 4       | employees.t.emp_no |      4 | Using where    | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+----------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;150291 rows in set (3.88 sec) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;300030 rows ?  NULL KEY ? &amp;nbsp;ick.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (employees) &amp;gt;  ALTER TABLE employees ADD KEY gender (gender); &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;mysql [localhost] {root} (employees) &amp;gt; explain SELECT e.first_name , e.last_name , e.gender , e.hire_date , t.title , s.salary &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;FROM employees e &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;INNER JOIN titles t ON t.emp_no = e.emp_no AND e.hire_date BETWEEN t.from_date and t.to_date &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;INNER JOIN salaries s ON s.emp_no = e.emp_no AND e.hire_date BETWEEN s.from_date and s.to_date &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;WHERE e.gender='M' &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;ORDER BY e.hire_date ASC; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+-----------------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;| id | select_type | table | type | possible_keys  | key     | key_len | ref                | rows   | Extra                       | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+-----------------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | e     | ref  | PRIMARY,gender | gender  | 1       | const              | 150015 | Using where; Using filesort | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | t     | ref  | PRIMARY,emp_no | PRIMARY | 4       | employees.e.emp_no |      1 | Using where                 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;|  1 | SIMPLE      | s     | ref  | PRIMARY,emp_no | PRIMARY | 4       | employees.t.emp_no |      4 | Using where                 | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;+----+-------------+-------+------+----------------+---------+---------+--------------------+--------+-----------------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: xx-small;"&gt;3 rows in set (0.00 sec)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Now I am not doing a full table scan but using the index on gender and only across 15k rows.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Explain shows this information so we can adjust when required.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;These are simple examples I realize.  Adding an index also has to be reviewed and just not put on everything.&lt;br /&gt;&lt;br /&gt;Take the time to use explain. Make it a habit.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Other blog posts about explain over the years:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.mysqlperformanceblog.com/2006/07/24/extended-explain/"&gt;http://www.mysqlperformanceblog.com/2006/07/24/extended-explain/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://mysql-tips.blogspot.com/2005/04/mysql-explain-example.html"&gt;http://mysql-tips.blogspot.com/2005/04/mysql-explain-example.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.xaprb.com/blog/2007/07/29/introducing-mysql-visual-explain/"&gt;http://www.xaprb.com/blog/2007/07/29/introducing-mysql-visual-explain/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.databasejournal.com/features/mysql/article.php/1382791/Optimizing-MySQL-Queries-and-Indexes.htm"&gt;http://www.databasejournal.com/features/mysql/article.php/1382791/Optimizing-MySQL-Queries-and-Indexes.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://explainextended.com/2010/11/03/10-things-in-mysql-that-wont-work-as-expected/"&gt;http://explainextended.com/2010/11/03/10-things-in-mysql-that-wont-work-as-expected/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mysqlperformanceblog.com/2006/07/24/mysql-explain-limits-and-errors/"&gt;http://www.mysqlperformanceblog.com/2006/07/24/mysql-explain-limits-and-errors/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6071854261753773135?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6071854261753773135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/explain.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6071854261753773135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6071854261753773135'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/09/explain.html' title='Explain....'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1035110883541169447</id><published>2011-08-31T15:36:00.000-06:00</published><updated>2011-08-31T15:36:07.156-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL community Oracle open world'/><title type='text'>MySQL Community Reception at Oracle OpenWorld</title><content type='html'>&lt;br /&gt;&lt;div style="font-family: Helvetica; margin-bottom: 0in;"&gt;Save the date !&amp;nbsp;&lt;b&gt;Tuesday, October 04, 2011&amp;nbsp;&lt;/b&gt;7:00 PM – 9:00 PM&lt;/div&gt;&lt;div style="font-family: Helvetica; margin-bottom: 0in;"&gt;You’re all invited to Oracle’s MySQL Community Reception. This event is open to everyone. No OpenWorld registration is required to attend.&lt;/div&gt;&lt;div style="font-family: Helvetica; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Helvetica; margin-bottom: 0in;"&gt;&lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140041&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=83&amp;amp;evite=83"&gt;Register Now !&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1035110883541169447?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1035110883541169447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-community-reception-at-oracle.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1035110883541169447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1035110883541169447'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-community-reception-at-oracle.html' title='MySQL Community Reception at Oracle OpenWorld'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6346156740000913189</id><published>2011-08-24T15:28:00.000-06:00</published><updated>2011-08-24T15:28:58.113-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql community'/><title type='text'>MySQL Developer Day in DC</title><content type='html'>   	 	 	 	&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Many thanks to all of those from MySQL Community who attended the Washington DC Developer day. &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;We had great questions from a full room of community users and we look forward to any feedback that you might have.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I look forward to the next one !&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ghsXlUSXzQE/TlVs2VDZ6iI/AAAAAAAAADM/OjAtxJq5468/s1600/00002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-ghsXlUSXzQE/TlVs2VDZ6iI/AAAAAAAAADM/OjAtxJq5468/s320/00002.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6346156740000913189?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6346156740000913189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-developer-day-in-dc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6346156740000913189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6346156740000913189'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-developer-day-in-dc.html' title='MySQL Developer Day in DC'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ghsXlUSXzQE/TlVs2VDZ6iI/AAAAAAAAADM/OjAtxJq5468/s72-c/00002.jpg' height='72' width='72'/><thr:total>1</thr:total><georss:featurename>Washington, DC, USA</georss:featurename><georss:point>38.8951118 -77.0363658</georss:point><georss:box>38.793160300000004 -77.1415488 38.9970633 -76.9311828</georss:box></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7909639442018696852</id><published>2011-08-23T12:40:00.000-06:00</published><updated>2011-08-23T12:40:14.847-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='goscon'/><category scheme='http://www.blogger.com/atom/ns#' term='earthquake'/><title type='text'>Excitement at Goscon</title><content type='html'>   	 	 	 	&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;    &lt;div style="margin-bottom: 0in;"&gt;The Goscon event was cut short today due to the earthquake. The &lt;a href="http://news.blogs.cnn.com/2011/08/23/quake-hits-near-washington-d-c/"&gt;5.9 quake&lt;/a&gt; was felt as we had the MySQL team was supporting the booth. Nothing like a little more excitement to awaken the show floor.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;All was not lost, it was good to see and talk with Baron Schwartz from Percona.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=139866&amp;amp;src=7328803&amp;amp;Act=8&amp;amp;evite=8"&gt;The MySQL Developer Days are still planned for tomorrow&lt;/a&gt; .&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7909639442018696852?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7909639442018696852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/excitement-at-goscon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7909639442018696852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7909639442018696852'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/excitement-at-goscon.html' title='Excitement at Goscon'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-130215662032079509</id><published>2011-08-17T12:33:00.000-06:00</published><updated>2011-08-17T12:33:19.781-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='workbench'/><title type='text'>Show your support for MySQL Workbench !</title><content type='html'>   	 	 	 	&lt;style type="text/css"&gt;	&lt;!--		@page { margin: 0.79in }		P { margin-bottom: 0.08in }		A:link { so-language: zxx }	--&gt;&lt;/style&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;The &lt;a href="http://www.surveymonkey.com/s/devproconnections-communitychoice2011-finalvoting"&gt;2011 DevProConnections CommunityChoice Awards&lt;/a&gt; has two categories that include nominations for MySQL Workbench !  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;You can support MySQL Workbench with your vote. The two categories that include Workbench are, “Component Set” (page 1 # 7) and  “IDE” (page 2 #14).  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The survey is available &lt;a href="http://www.surveymonkey.com/s/devproconnections-communitychoice2011-finalvoting"&gt;here&lt;/a&gt; and information about workbench is always available here: &lt;a href="http://www.mysql.com/products/workbench/"&gt;http://www.mysql.com/products/workbench/ &lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-130215662032079509?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/130215662032079509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/show-your-support-for-mysql-workbench.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/130215662032079509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/130215662032079509'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/show-your-support-for-mysql-workbench.html' title='Show your support for MySQL Workbench !'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7459107329314696811</id><published>2011-08-10T10:24:00.000-06:00</published><updated>2011-08-10T10:24:57.375-06:00</updated><title type='text'>Future of Open Source</title><content type='html'>   	 	 	 	&lt;style type="text/css"&gt;	&lt;!--		@page { margin: 0.79in }		P { margin-bottom: 0.08in }	--&gt;	&lt;/style&gt;  &lt;div style="margin-bottom: 0in;"&gt;Back in 1995 we had the Initial releases of the &lt;a href="http://httpd.apache.org/"&gt;Apache Server&lt;/a&gt;, &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt;  and &lt;a href="http://www.php.net/"&gt;PHP.&lt;/a&gt;   Three major open source projects that still power the web today. Majority of them running on &lt;a href="http://www.gnu.org/"&gt;GNU&lt;/a&gt;/&lt;a href="http://en.wikipedia.org/wiki/List_of_Linux_distributions"&gt;Linux &lt;/a&gt;platforms.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.apache.org/"&gt;Apache&lt;/a&gt; then soon also added &lt;a href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt; as well to the mix to further enhance this powerful combination.  So what is next?&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Now that we are well into the 21&lt;sup&gt;st&lt;/sup&gt; century, what will be the next stable projects of the Internet? What will change how we use the Internet?  Certainly we have great projects like &lt;a href="http://www.phpmyadmin.net/"&gt;phpMyAdmin&lt;/a&gt;, &lt;a href="http://www.zimbra.com/"&gt;Zimbra&lt;/a&gt;, &lt;a href="http://drupal.org/"&gt;Drupal&lt;/a&gt;, &lt;a href="http://www.joomla.org/"&gt;Joomla&lt;/a&gt;, &lt;a href="http://wordpress.org/"&gt;Wordpress,&lt;/a&gt; &lt;a href="http://www.sugarcrm.com/crm/"&gt;SugarCRM&lt;/a&gt;, &lt;a href="http://www.mozilla.org/"&gt;Mozilla&lt;/a&gt; and &lt;a href="http://www.openoffice.org/"&gt;OpenOffice&lt;/a&gt;, &lt;a href="http://www.oscommerce.com/"&gt;osCommerce&lt;/a&gt; and &lt;a href="http://memcached.org/"&gt;memcached&lt;/a&gt;. I am sure I missed some.&amp;nbsp;  I am not discrediting any of these projects, I have used and supported them. I am more curious about what we all think is the next big thing to change the way we relate and present things on the Internet.  Will &lt;a href="http://www.cloudera.com/"&gt;Cloudera&lt;/a&gt; , &lt;a href="http://owncloud.org/index.php/Main_Page"&gt;Owncloud&lt;/a&gt; , &lt;a href="http://voltdb.com/"&gt;VoltDB&lt;/a&gt;, &lt;a href="http://www.postgresql.org/"&gt;Postgresql&lt;/a&gt;, or &lt;a href="http://www.openstack.org/"&gt;OpenStack&lt;/a&gt;    	 	 	 	&lt;style type="text/css"&gt;	&lt;!--		@page { margin: 0.79in }		P { margin-bottom: 0.08in }	--&gt;&lt;/style&gt;change how we do things ?  Will the mobile market be revolutionized by open source software? Will cloud computing be the answer?   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Time will tell but I am very curious about others opinions.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7459107329314696811?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7459107329314696811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/future-of-open-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7459107329314696811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7459107329314696811'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/future-of-open-source.html' title='Future of Open Source'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6907897809893793834</id><published>2011-08-09T16:13:00.000-06:00</published><updated>2011-08-09T16:13:16.142-06:00</updated><title type='text'>MySQL 5.6  Feedback</title><content type='html'>To follow up on a &lt;a href="http://opensourcedba.wordpress.com/2011/08/03/mysql-5-6-early-adopters-we-need-your-help/"&gt;post by Dave&lt;/a&gt; -- &lt;br /&gt;&lt;br /&gt;The MySQL Community Team would like your feedback about MySQL 5.6 ! What are you excited to see and test? What have you tested and benchmarked? Did you previously see the advantages of going to MySQL 5.5 and now eager to try 5.6? What are your favorite new features: Full Text Search InnoDB tables, Binary Log API, Binary Log Group Commit, multi-thread slaves, memcached-to-InnoDB? Feel free to email keith.larson[@]oracle[.]com with feedback.&lt;br /&gt;&lt;br /&gt;If you have been busy with development, and not realized that previews of MySQL 5.6 are available, then now is your chance. Previews of MySQL 5.6 are available at &lt;a href="http://labs.mysql.com/"&gt;http://labs.mysql.com&lt;/a&gt; for you to evaluate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6907897809893793834?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6907897809893793834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-56-feedback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6907897809893793834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6907897809893793834'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/mysql-56-feedback.html' title='MySQL 5.6  Feedback'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-805843555308631113</id><published>2011-08-05T13:30:00.000-06:00</published><updated>2011-08-05T13:30:18.319-06:00</updated><title type='text'>Innovation Nation &amp; GOSCON 2011</title><content type='html'>I just got a pile of MySQL shirts and stickers for the Goscon show! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;The MySQL team will  showcase the latest product developments and demos running on a Sun Ray  at the Exhibition Hall, and we look forward to meeting you there!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;For more information:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="bodycopy"&gt;&lt;span class="bodycopy"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140023&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=78"&gt;http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=140023&amp;amp;src=7314534&amp;amp;src=7314534&amp;amp;Act=78&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9d-imR2j5Ac/TjxDypiP6VI/AAAAAAAAACk/5i2YngrNrzk/s1600/stickers.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-9d-imR2j5Ac/TjxDypiP6VI/AAAAAAAAACk/5i2YngrNrzk/s1600/stickers.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-805843555308631113?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/805843555308631113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/innovation-nation-goscon-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/805843555308631113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/805843555308631113'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/08/innovation-nation-goscon-2011.html' title='Innovation Nation &amp; GOSCON 2011'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-9d-imR2j5Ac/TjxDypiP6VI/AAAAAAAAACk/5i2YngrNrzk/s72-c/stickers.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1205482828196857936</id><published>2011-07-29T13:21:00.000-06:00</published><updated>2011-07-29T13:21:14.501-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Ace'/><category scheme='http://www.blogger.com/atom/ns#' term='Baron'/><title type='text'>Oracle ACE Award - Baron Schwartz</title><content type='html'>A big congrats to &lt;a href="http://www.xaprb.com/blog/"&gt;Baron Schwartz&lt;/a&gt; for his &lt;a href="http://apex.oracle.com/pls/otn/f?p=19297:4:4267673706864143::NO:4:P4_ID:4342"&gt;Oracle ACE Award&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Baron is extremely respected in the &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; community. He is the Chief Performance Architect at &lt;a href="http://www.percona.com/"&gt;Percona, &lt;/a&gt;an independent services provider for the MySQL database server. He is the lead author of &lt;a href="http://www.amazon.com/dp/0596101716?tag=xaprb-20"&gt;High Performance MySQL&lt;/a&gt;, and has created several popular open-source software projects for MySQL, including &lt;a href="http://www.maatkit.org/"&gt;Maatkit. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thank you Baron.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1205482828196857936?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1205482828196857936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/oracle-ace-award-baron-schwartz.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1205482828196857936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1205482828196857936'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/oracle-ace-award-baron-schwartz.html' title='Oracle ACE Award - Baron Schwartz'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7024590245927960629</id><published>2011-07-26T12:20:00.000-06:00</published><updated>2011-07-26T12:20:32.792-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='labs'/><category scheme='http://www.blogger.com/atom/ns#' term='innodb'/><category scheme='http://www.blogger.com/atom/ns#' term='full text search'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql 5.6'/><title type='text'>Oracle Provides Early Access to MySQL 5.6 New Features</title><content type='html'>Just in case you missed the press release:&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style="font-size: small;"&gt;Oracle Provides Early Access to MySQL 5.6 New Features&lt;/span&gt;&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;At OSCON (the O’Reilly Open Source Convention) in Oregon, Oracle announced that early access to new features of MySQL 5.6 is available for the community to test, deploy and provide feedback.&amp;nbsp; Read more &lt;a href="http://www.oracle.com/us/corporate/press/439460"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7024590245927960629?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7024590245927960629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/oracle-provides-early-access-to-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7024590245927960629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7024590245927960629'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/oracle-provides-early-access-to-mysql.html' title='Oracle Provides Early Access to MySQL 5.6 New Features'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-1484358800436556523</id><published>2011-07-13T12:31:00.000-06:00</published><updated>2011-07-13T12:31:26.165-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='warehouse'/><category scheme='http://www.blogger.com/atom/ns#' term='ETl'/><title type='text'>Take the time now for gains later.</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;Regardless of which data warehouse paradigm you follow or have heard of, Kimball or Inmon. We should all agree that the data warehouse is often a requirement for business. Different people want different things and they all want it from your data. The data warehouse is not a new concept and yet they are over looked at times. A warehouse is never complete, it is an evolving entity that adjusts with the requirements it is given.  It is up to us to make sure that the&lt;/span&gt;&lt;/span&gt; access to enterprise data in an accurate and timely manner is easy and the standard. MySQL can handle a data warehouse perfectly. &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;MySQL databases are designed in numerous ways, some good some bad.  A warehouse can take that data and organize it for the best use of others. What concerns or issues do you often hear when it comes to gathering data from your database?  It is easy for all of your developers to query and get the same data? How many ways does your company slice and dice data? Who is your target audience for all of this data? Who wants just the important data?  How well do you keep your results accurate? &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;If these are questions you can relate too but you do have not a warehouse then it is time to consider one. They can be considered to be, to big of a project for the current resources, they never work , poor data quality, always has data inconsistencies. These all are common complaints but those are not complaints of the warehouse but more of the execution behind it. &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;Use the tools available to you to keep the data updated.  ETLs (extract , transform, load) are a requirement of course with data warehouse tables, use them to your advantage. Do not get lazy or let others get lazy. Fix data at the source and re-execute the etl. Do not let  “quick fixes”  that are not done at the source level. Remember, you do not have to back up the warehouse like you do your source, you can always rerun the ETLs. &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;Be ready to have eager users try to access your data before your ready to release. Be prepared for complaints. Keeping it accurate and easy to access is the key overall.  Have it serve a need first, do not solve everything at once but make an impact with good quality fast data. As I said before a warehouses work is never done, you will continue to add data and available slices of data. &lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;Take the time to execute correctly now to have long lasting accurate data. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="" name="Data_normalization_and_storage"&gt;&lt;/a&gt; &lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;I am a very big supporter of data normalization but a warehouse also has a place and you can have big performance gains from using it. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;There is a lot of resources on the net to help you with this:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;a href="http://www.mysql.com/why-mysql/data-warehouse.html"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.mysql.com/why-mysql/data-warehouse.html&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;a href="http://www.mysqlperformanceblog.com/2010/07/15/data-mart-or-data-warehouse/"&gt;http://www.mysqlperformanceblog.com/2010/07/15/data-mart-or-data-warehouse/&lt;/a&gt; by &lt;a href="http://www.mysqlperformanceblog.com/author/justin-swanhart/"&gt;Justin Swanhart&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.mysql.it/why-mysql/white-papers/mysql_wp_for_data_warehousing.pdf"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.mysql.it/why-mysql/white-papers/mysql_wp_for_data_warehousing.pdf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.kimballgroup.com/"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.kimballgroup.com/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.amazon.com/Data-Warehouse-Toolkit-Complete-Dimensional/dp/0471200247"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.amazon.com/Data-Warehouse-Toolkit-Complete-Dimensional/dp/0471200247&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.inmoncif.com/home/"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.inmoncif.com/home/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.amazon.com/Building-data-warehouse-William-Inmon/dp/0894354043"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://www.amazon.com/Building-data-warehouse-William-Inmon/dp/0894354043&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://download.oracle.com/docs/cd/B10500_01/server.920/a96520/concept.htm"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://download.oracle.com/docs/cd/B10500_01/server.920/a96520/concept.htm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Data_warehouse"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://en.wikipedia.org/wiki/Data_warehouse&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Extract,_transform,_load"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;http://en.wikipedia.org/wiki/Extract,_transform,_load&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Times New Roman,serif;"&gt;&lt;a href="http://opensourceanalytics.com/2006/03/14/data-mart-vs-data-warehouse-the-great-debate/"&gt;http://opensourceanalytics.com/2006/03/14/data-mart-vs-data-warehouse-the-great-debate/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-1484358800436556523?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/1484358800436556523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/take-time-now-for-gains-later.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1484358800436556523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/1484358800436556523'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/take-time-now-for-gains-later.html' title='Take the time now for gains later.'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-2421514991386154497</id><published>2011-07-12T17:10:00.001-06:00</published><updated>2011-07-13T09:24:06.776-06:00</updated><title type='text'>GOSCON</title><content type='html'>&lt;h3 class="post-title entry-title"&gt;Innovation Nation &amp;amp; GOSCON 2011&lt;/h3&gt;&lt;div class="post-header"&gt;&lt;/div&gt;&lt;div class="post-body entry-content" id="post-body-5154449883466673392"&gt;&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;GOSCON returns to Washington D.C. on August 23, 2011&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;The list of speakers is available here: &lt;a href="http://goscon.org/speakers"&gt;http://goscon.org/speakers&lt;/a&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;I will be at the conference this year in support of MySQL and I am eagerly awaiting to meet everyone. &lt;/span&gt; &lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;So please stop by and say hello !&amp;nbsp;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-2421514991386154497?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/2421514991386154497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/goscon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2421514991386154497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/2421514991386154497'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/goscon.html' title='GOSCON'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7554839670561933960</id><published>2011-07-05T15:41:00.002-06:00</published><updated>2011-07-06T08:07:50.328-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stored procedures'/><category scheme='http://www.blogger.com/atom/ns#' term='menagerie database'/><category scheme='http://www.blogger.com/atom/ns#' term='Triggers'/><title type='text'>Stored procedures and Triggers</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Having multiple ways to achieve a task is something we all enjoy as developers and DBAs. We find, develop and learn new ways to do things better and faster all the time.   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;At the risk of starting a debate, I am curious on others opinions or practices when it comes to Stored Procedures and Triggers. To use them or not  versus code based functions ? Best case use versus worst case use? There is no real wrong answer here as it depends on your development application. Certainly some lean one way over another and there are more than enough valid reasons on both sides of the debate.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Here are couple of my thoughts on the topic....&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I come from the dot.com bubble era , and from that I rarely use stored procedures or triggers. Back then  PHP was still new, Perl dominated websites with the cgi-bin and MySQL did not have stored procedures or triggers. Thank goodness things have changed. Developing in those days, forced developers to develop in certain ways.  Hopefully, we all used functions and classes so we could reuse code as much as possible.  Yet we all survived without stored procedures or triggers just fine by having the logic in our code. But did that make it better?&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;During this time I had to interact with a SQL server and the DBA that ran it. My LAMP stack used MySQL except for the one call to the finance department's SQL server for a yes/no value. ( I actually used &lt;a href="http://www.freetds.org/"&gt;FreeTDS&lt;/a&gt; for this connection and it worked like a champ, my side of things anyway. No comment on the speed or other issues of the SQL server needed here. ) I did not need or care about the table structures and layout of the finance SQL system.  I only needed a yes or no answer from it.  It was the finance teams system and they protected it, rightfully so.  So in that case it made perfect sense, for a stored procedure. I handled the code on my side , made a call into the SQL server got the answer and got right out.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Now days of course we have stored procedures in MySQL, do we use them? Is it just an old school development versus modern development in terms of who uses them?  I have seen them used at times when it just made it harder to track down a problem. Tracing code across six different functions and cursing the entire way at the missing comments in the code only to find a CALL statement. So we end up going back to the DB to find the query and hopefully do not break the site as we test changes. At the same time, I think they are great if you do need to compartmentalize your logic away from others.   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;It really all comes down to your application. Where do you want your logic to live? The biggest thing we need to take into account when we decide this is, what do your benchmarks say about your query and do you value the results? Do you want to take advantage of not passing the data across a network and keeping it local to the database?  Are you ok with the a separate cache per connection to a stored procedure versus a globally cached query? Depending on the query and how often it is used plays a big part in that decision.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A simple example of stored procedure using the “&lt;a href="http://dev.mysql.com/doc/index-other.html"&gt;menagerie database&lt;/a&gt;”&amp;nbsp; is below:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DROP PROCEDURE IF EXISTS addnewpet; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DELIMITER // &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE PROCEDURE addnewpet(IN petname VARCHAR(20) , ownername VARCHAR(20), speciestype VARCHAR(20), gender CHAR(1) , bday date ) &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;BEGIN &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO pet (name,owner,species,sex,birth) VALUES (petname,ownername,speciestype,gender,bday); &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INSERT INTO event VALUES (petname, date_format(NOW(),'%Y-%m-%d'), 'first visit', NULL) ;  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;END // &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;DELIMITER ;   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CALL addnewpet('Clifford','Emily','dog','m',date_format(NOW(),'%Y-%m-%d') );&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This simple call will add the dog name to both tables when used.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;You will notice the one of the problems with stored procedures is that you might end up having to pass a lot of variables that might already be defined in your class.   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Triggers are another example where history has had developers learn to query data after insert and/or have scripts check the status of data to then make changes as needed.  Triggers avoid this for you and should be used whenever possible. Let MySQL handle the adjustments for you &lt;span style="font-weight: normal;"&gt;immediately&lt;/span&gt; and avoid having to write code just for a simple update.  Granted as situations get more complex the need might arise for function based code as well. Make sure that all code is optimized before used in the trigger as trigger options are limited.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Replication concerns with triggers are addressed here:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/replication-features-triggers.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/replication-features-triggers.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A quick example can be shown using the “&lt;a href="http://dev.mysql.com/doc/index-other.html"&gt;menagerie database&lt;/a&gt;” &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;mysql&amp;gt; SELECT TRIGGER_NAME, EVENT_MANIPULATION, EVENT_OBJECT_TABLE, ACTION_STATEMENT &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;FROM INFORMATION_SCHEMA.TRIGGERS &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;WHERE TRIGGER_SCHEMA='menagerie'; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;No triggers so we will create one. In this example we can assume that people forget to update the death of pets in the pet table. They note it in events but that is it.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So a simple trigger will keep this updated for us : &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;delimiter ;; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;CREATE TRIGGER ed_update AFTER INSERT ON event &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;for each row &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;begin &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;UPDATE pet p &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;INNER JOIN event e ON p.name = e.name   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;SET p.death = e.date  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;WHERE e.remark = 'death' AND p.death IS NULL; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;end;; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;delimiter ;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This trigger just updated the pets table for us quickly.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;To boil down my thoughts on stored procedures and triggers....  When you are considering a stored procedure make sure to benchmark and test to confirm your ok with the cache results.  A stored procedure  is best when the global cache is not going to be more effective overall. If tests show that the results are faster handling large data sets with stored procedures versus code base changes then also a good option to use stored procedures.  Testing all options is critical.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Triggers can be a great addition to clean up additional scripting work that can be done &lt;span style="font-weight: normal;"&gt;immediately upon data insert. A&lt;/span&gt;gain test and confirm to be sure your aware of all the options of using them. Options with triggers are limited so do all the &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/explain.html"&gt;explains&lt;/a&gt; ahead of time.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;More links here:&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/triggers.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/triggers.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/stored-routines.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/stored-routines.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/explain.html"&gt;http://dev.mysql.com/doc/refman/5.5/en/explain.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7554839670561933960?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7554839670561933960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/stored-procedures-and-triggers.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7554839670561933960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7554839670561933960'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/07/stored-procedures-and-triggers.html' title='Stored procedures and Triggers'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3898612492444124820</id><published>2011-06-17T15:27:00.000-06:00</published><updated>2011-06-17T15:27:33.059-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>The MySQL Librarian</title><content type='html'>&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;The MySQL community team               wants to ensure that our community engagement tools remain               relevant, popular and above all gives you, the user, a               clear strong voice. We are always here for your opinions,               comments and feedback. We have started the process of               examining what is useful, what could be enhanced and even               what could be deprecated.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;We are currently reviewing               your feedback as we strive to enhance and grow our MySQL               community. For example, if you have not yet taken the poll               on “&lt;a href="http://dev.mysql.com/tech-resources/quickpolls/"&gt;What content do you value most on planet.mysql.com&lt;/a&gt;”               please do. Keep                 a lookout for exciting news and changes as we move forward               with &lt;a class="moz-txt-link-freetext" href="http://planet.mysql.com/" moz-do-not-send="true"&gt;http://planet.mysql.com&lt;/a&gt;               improvements as well as enhancements with &lt;a href="http://dev.mysql.com/news-and-events/news/index.html"&gt;news and events&lt;/a&gt;               for our community.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;In the meantime, it would               appear that one of our features has become redundant. The               MySQL Librarian was originally created as a collection of               the best links found on the web when it comes to MySQL.               However, the same content is usually found easily, first               and better presented on the community sites &lt;a href="http://planet.mysql.com/" moz-do-not-send="true"&gt;http://planet.mysql.com&lt;/a&gt;               and &lt;a href="http://forums.mysql.com/" moz-do-not-send="true"&gt;http://forums.mysql.com&lt;/a&gt;               . Traffic to the librarian has been on the steady decline               as the community also uses the power of search engines to               find the same information as well.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;Since the MySQL Librarian is               only a collection of links, the code and other artifacts               will all still be available for our community in their               respected locations. However, the function of &lt;a href="http://dev.mysql.com/librarian/" moz-do-not-send="true"&gt;http://dev.mysql.com/librarian/&lt;/a&gt;               we only be available until the end of the month.&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;As             always, many thanks to the great MySQL community members.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote cite="mid:4DFB88D2.4020002@oracle.com" type="cite"&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3898612492444124820?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3898612492444124820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/mysql-librarian.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3898612492444124820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3898612492444124820'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/mysql-librarian.html' title='The MySQL Librarian'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-3820742322838654823</id><published>2011-06-16T17:19:00.000-06:00</published><updated>2011-06-16T17:19:07.484-06:00</updated><title type='text'>ATON || NOTA ? Ip address IPV4 ?  IPV6 ?</title><content type='html'>&lt;style type="text/css"&gt;pre.cjk { font-family: "DejaVu LGC Sans Mono",monospace; }p { margin-bottom: 0.08in; }code.cjk { font-family: "DejaVu LGC Sans Mono",monospace; }a:link {  }&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;IP address storage is something that some do right and others have done wrong for years. How many times have you seen or created a MySQL table having something very similar to the following.&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;CREATE TABLE `example_table` (&lt;br /&gt;&amp;nbsp; `user_id` int(9)&amp;nbsp; NOT NULL AUTO_INCREMENT,&lt;br /&gt;&amp;nbsp; `date_recorded` datetime DEFAULT NULL,&lt;br /&gt;&amp;nbsp; `ip` varchar(15) DEFAULT NULL,&lt;br /&gt;&amp;nbsp; PRIMARY KEY `user_id` (`user_id`),&lt;br /&gt;&amp;nbsp; KEY `date_recorded` (`date_recorded`)&lt;br /&gt;) ENGINE=InnoDB ;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;Hopefully you never have and never run across it. What an optimized world it would be if that was the case.&amp;nbsp; It appears harmless, after all what could it hurt ?  You need to store your ip address and it has those pesky periods in it, so why not &lt;/span&gt;&lt;span style="font-size: small;"&gt;varchar(15)&lt;/span&gt;&lt;span style="font-size: small;"&gt;?&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt; Human readable ips are just that, just for us. The database has no need to keep them in human readable form. So your field that requires a min 15 characters, to be able to store all of the variations of the ip, and another byte to store the length of the string, now requires ~16 bytes. &lt;/span&gt;&lt;span style="font-size: small;"&gt;Your wasting space by storing IP data in varchar fields, it is an integer , store it as an unsigned integer.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; They are integers treat them that way.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;CREATE TABLE `table_example` (&lt;br /&gt;&amp;nbsp; `user_id` int(9)&amp;nbsp; NOT NULL AUTO_INCREMENT,&lt;br /&gt;&amp;nbsp; `date_recorded` datetime DEFAULT NULL,&lt;br /&gt;&amp;nbsp; `ip_address` &amp;nbsp; INT UNSIGNED NOT NULL&lt;/span&gt;,&lt;br /&gt;&lt;span style="font-size: small;"&gt; &amp;nbsp; PRIMARY KEY `user_id` (`user_id`),&lt;br /&gt;&amp;nbsp; KEY `date_recorded` (`date_recorded`)&lt;br /&gt;) ENGINE=InnoDB ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;Now just saved you ~6 bytes per row which will add up over time.&amp;nbsp;&amp;nbsp; The ip address just needs to be inserted with the function &lt;/span&gt;&lt;span style="font-size: small;"&gt;INET_ATON.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;example below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;INSERT INTO table_example VALUES (NULL ,NOW() , INET_ATON('213.136.52.29') ) ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Pulled back out to test :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;select ip_address ,INET_NTOA(ip_address) from &lt;/span&gt;&lt;span style="font-size: small;"&gt;table_example&amp;nbsp; ;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;+------------+-----------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;| ip_address | INET_NTOA(ip_address) | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;+------------+-----------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;| 3582473245 | 213.136.52.29          | &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;+------------+-----------------------+ &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;As you can see the example is simple.  As long as you enter and pull information from your tables wrapped accordingly you will save space, and gain speed.&amp;nbsp; But is it worth it just for 6 to 10 bytes? Yes and the reason is hopefully your database will scale and grow. Those wasted bytes will add up. If you wanted an Index on the ip address field then that will also now be smaller and also faster. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_inet-aton"&gt;http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_inet-aton&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_inet-ntoa"&gt;http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_inet-ntoa&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;What about IPV6  though ? Ah those tricky ips... &lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;Well this appears to be addressed in 5.6.3&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;This example taken right from the 5.6 documentation: &lt;/span&gt; &lt;/div&gt;&lt;pre class="western"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="western"&gt;&lt;b class="userinput"&gt;&lt;code&gt;SELECT INET6_NTOA(INET6_ATON('fdfe::5a55:caff:fefa:9089'));&lt;/code&gt;&lt;/b&gt;&lt;br /&gt;        -&amp;gt; 'fdfe::5a55:caff:fefa:9089'&lt;/pre&gt;&lt;br /&gt;&lt;pre class="programlisting"&gt;mysql&amp;gt; &lt;b class="userinput"&gt;&lt;code&gt;SELECT INET6_NTOA(INET6_ATON('10.0.5.9'));&lt;/code&gt;&lt;/b&gt;&lt;br /&gt;        -&amp;gt; '10.0.5.9'&lt;/pre&gt;&lt;br /&gt;&lt;pre class="western"&gt;mysql&amp;gt; &lt;b class="userinput"&gt;&lt;code&gt;SELECT INET6_NTOA(UNHEX('FDFE0000000000005A55CAFFFEFA9089'));&lt;/code&gt;&lt;/b&gt;&lt;br /&gt;        -&amp;gt; 'fdfe::5a55:caff:fefa:9089'&lt;/pre&gt;&lt;pre class="western"&gt;mysql&amp;gt; &lt;b class="userinput"&gt;&lt;code&gt;SELECT INET6_NTOA(UNHEX('0A000509'));&lt;/code&gt;&lt;/b&gt;&lt;br /&gt;        -&amp;gt; '10.0.5.9'&lt;br /&gt;&lt;/pre&gt;&lt;pre class="western"&gt;&amp;nbsp;&lt;/pre&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-aton"&gt;http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-aton&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-ntoa"&gt;&lt;span style="font-size: small;"&gt;http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-ntoa&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-3820742322838654823?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/3820742322838654823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/aton-nota-ip-address-ipv4-ipv6.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3820742322838654823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/3820742322838654823'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/aton-nota-ip-address-ipv4-ipv6.html' title='ATON || NOTA ? Ip address IPV4 ?  IPV6 ?'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7684525713558550622</id><published>2011-06-10T16:19:00.000-06:00</published><updated>2011-06-10T16:19:09.464-06:00</updated><title type='text'>SELF Shirts</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;div style="margin-bottom: 0in;"&gt;The SELF Linux show ramps up to full swing tomorrow.  We will have the new MySQL 5.5 shirts as well as Linux shirts.  Please stop by say hi and get a shirt while they last!&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I was glad to see the support for MySQL on day one, can't wait until tomorrow.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.blogger.com/goog_290805514"&gt;&lt;br /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://www.southeastlinuxfest.org/"&gt;http://www.southeastlinuxfest.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7684525713558550622?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7684525713558550622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/self-shirts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7684525713558550622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7684525713558550622'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/self-shirts.html' title='SELF Shirts'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-829392586557202162</id><published>2011-06-06T14:55:00.000-06:00</published><updated>2011-06-06T14:55:55.589-06:00</updated><title type='text'>Monitoring just a blink away...</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I bring this up because of recent conversations I have found myself in.&lt;br /&gt;&lt;br /&gt;Over the years I have gone back and forth between OSX &amp;amp; Linux laptops. Over these same years I was also monitoring several MySQL databases. I have found numerous server side solutions for you to be able to monitor your database, &lt;a href="http://exchange.nagios.org/directory/Plugins/Databases/MySQL"&gt;Nagios&lt;/a&gt; and of course &lt;a href="http://www.mysql.com/products/enterprise/monitor.html"&gt;MySQL Enterprise Monitor&lt;/a&gt; to list a couple. Both of these are great solutions and allow you to try and get some sleep and night.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Years ago, while using OS X,  I was enlightened to learn about a free module called &lt;a href="http://projects.tynsoe.org/en/geektool/"&gt;Geektool, &lt;/a&gt;it is not new, but I often find people are unaware of it.&amp;nbsp; I have had at least three conversations about it lately. While Nagios and enterprise can send me emails and sms messages, even some that I don't want. &lt;a href="http://projects.tynsoe.org/en/geektool/"&gt;Geektool&lt;/a&gt; allowed me to have a pulse of whatever I wanted to monitor easily as I was busy working on other things.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Here is how it works, Geek Tool is a system preferences module for Mac OSX. It has the option to display url images and/or output from a script on top of your desktop background. So you can always have the results at a blink of your eye. I used the "shell mode" option and created Perl scripts that live locally in my LAMP database server environment. When these scripts are executed they output a range of information from a count of rows in the processlist , seconds behind master, InnoDB, stats as well as time stamps on the last run of key reports. I had key entities for the company db that I wanted available at a moments notice and displayed on top of my background and yet out of the way from desktop work. You could even tail your MySQL error logs if you wanted. Someone could ask a question and with a blink I could look to the corner of my desktop and have an answer. All of the data is dependent on the refresh thresholds that you determine. So you can have some checks every 10 seconds while another item checked every hour. It is all up to you.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Yes it would be just as easy to run the same Perl script via a terminal when asked a question. Having the results up in the corner of the screen though, I was able to see things becoming issues before they became issues. While I was off writing PHP or Perl scripts, I was also able to watch the database processlist slowly rise or slave start to fall behind and I knew someone was doing something that I needed to check on.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Was I able to catch everything and sleep well at night... No. This is just an additional monitor to keep we aware of more easily as I worked. I had &lt;a href="http://exchange.nagios.org/directory/Plugins/Databases/MySQL"&gt;Nagios&lt;/a&gt;, &lt;a href="http://www.mysql.com/products/enterprise/monitor.html"&gt;MySQL Enterprise Monitor&lt;/a&gt; and custom phone call alert system to handle the overnight monitoring.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The Database is of course critical, anyway to have stats and references easily, has always helped. You can use Geektool for numerous things. I happen to have used it to keep quick tabs on key stats for seven different databases, all with one look.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I have not yet found a Linux desktop replacement that I like as well yet, I am searching though.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A screenshot from their site can be seen here: &lt;a href="http://projects.tynsoe.org/en/geektool/"&gt;http://projects.tynsoe.org/en/geektool/shots/shot02.jpg&lt;/a&gt; They have many more on their site.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;URL here if your curious for more: &lt;a href="http://projects.tynsoe.org/en/geektool/"&gt;http://projects.tynsoe.org/en/geektool/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-829392586557202162?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/829392586557202162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/monitoring-just-blink-away.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/829392586557202162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/829392586557202162'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/monitoring-just-blink-away.html' title='Monitoring just a blink away...'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-448733778187243132</id><published>2011-06-03T12:16:00.000-06:00</published><updated>2011-06-03T12:16:02.237-06:00</updated><title type='text'>Smart Selects for replicated systems</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Over the last few years I have worked with a few different companies and their replication databases. Your replication choice is yours and what your needs are. I have enjoyed relayed replication and the reason being is that it gives you the chance to make your applications even smarter.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;One reason is that if you did loose a master your slave can become the new master and you still have replication active as you rebuild the down server. &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Another reason is the options it can give you for selects. I have seen some systems that have a replicated slave that is never touched. Granted safe, but money spent on hardware and users complaining about application speed. Whichever scripting language you prefer,  you can use all of your replicated databases to your advantage. To be safe all writes should to go the master unless you can control and confirm that nothing from the master would try to write to the same location.  Selects however can be expanded.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Often users complaints are speed. Everything must be faster. If your database handle only connects to 1 database then your are limited to the performance from that once database.  Java has connection pooling (http://java.sun.com/developer/onlineTraining/Programming/JDCBook/conpool.html) and PHP can be used to do the same task. Personally, although I bias, I feel you will have more control with PHP.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The concept is simple, of course you do not want to hurt performance by unnecessary overhead but these steps are and should be very fast.&amp;nbsp;  &lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;connect to the slave   &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;execute SHOW SLAVE STATUS   &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;check 'Seconds_Behind_Master'    &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;Based on threshold you decide you  choose which database your going to read from   &lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;You can pass this to your   connection handle so you have thresholds per query if needed.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0in;"&gt;You can also create smart   connections to never connect to slave if query does not start with   select, options are up to you.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This allows you to keep slower data intense queries off the master server. Your options are up to you and what you want to do.  How you choose your thresholds depends on your application. How you define what can select from master versus slave only is dependent on your application as well. This is not a replacement for optimization but just expanding your options to get the data your after.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;We used three databases in a  relayed replication InnoDB environment. We where able to check the third database first , based on thresholds move up to the second database if needed, and lastly run a select on the master if required.  Typically the seconds behind master always 0 or under 5 seconds with this TB+ db. If something major was going on then the third database would be further back and the selects would roll to the second database naturally.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;This worked very well for our application at the time, and I have used the concept with more than one company. Everything is of course dependent on your application but getting valid results fast to users is a common issue we all face.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-448733778187243132?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/448733778187243132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/smart-selects-for-replicated-systems.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/448733778187243132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/448733778187243132'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/06/smart-selects-for-replicated-systems.html' title='Smart Selects for replicated systems'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-9154541962305843337</id><published>2011-05-31T12:59:00.000-06:00</published><updated>2011-05-31T12:59:41.970-06:00</updated><title type='text'>If your data lacks integrity you are, in a word, doomed.</title><content type='html'>&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;Recently         I ran across across a &lt;a href="http://channelmeter.com/%20"&gt;website&lt;/a&gt; and their related &lt;a href="http://insidechannelmeter.wordpress.com/"&gt;blog&lt;/a&gt; (         &lt;a class="moz-txt-link-freetext" href="http://channelmeter.com/"&gt;http://channelmeter.com/&lt;/a&gt; &amp;amp;         &lt;a href="http://insidechannelmeter.wordpress.com/"&gt;http://insidechannelmeter.wordpress.com/&lt;/a&gt;         ) . The company's focus is the analytical data of You Tube.         Naturally with the size of You Tube the analytical data is going         to         be big.&amp;nbsp; So I knew this would not be a company         that is         just taking a few &lt;/span&gt;&lt;span style="font-size: small;"&gt;hundred &lt;/span&gt;&lt;span style="font-size: small;"&gt;names from a web form each day. &lt;/span&gt;&lt;span style="font-size: small;"&gt;I saw from&amp;nbsp; their blog posting that they use MySQL community edition 5.5. I         reached out to asked them         a few questions. “We are storing tens         of         millions of rows of data, and adding millions more every day.” –         Dave Storrs Co-Founder, ChannelMeter.com. &lt;/span&gt;&lt;span style="font-size: small;"&gt;To me this is showing, once again, how well a company can be built and run with an open source database and tools.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;     &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;They         rely on the default &lt;a href="http://www.innodb.com/"&gt;InnoDB&lt;/a&gt; storage engine in MySQL because of the &lt;/span&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html"&gt;&lt;span style="font-size: small;"&gt;ACID compliance&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt; and data         integrity it offered them. This being supported by the use of         transactions and foreign keys. “If your data lacks integrity you         are, in a word,         doomed.”– Dave Storrs. The tradeoff, if any, for this stability         was speed. They can still address some speed issues with faster         machines,         indexes and additional use of caching. They currently have plans         to         utilize a 10 minute caching timeout and deploy Varnish.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;     &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;As         with any start up, they have run across a few issues. The rapid         growth of their data has required them to evaluate their hard         drives         and options of partitioning or sharding their data. They have         used         the MySQL community to help them with any problems.         “Whenever         I encounter difficulties related to the DB, the answer is almost         always to be found in the documentation or the forums.” – Dave         Storrs.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;     &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;While I might be biased, I am         still         shocked that is it not standard to run a web server and company         on a         LAMP stack environment.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;More information is available via their blog: &lt;a class="moz-txt-link-freetext" href="http://insidechannelmeter.wordpress.com/2011/05/25/advice-to-developers-on-managing-mysql/"&gt;http://insidechannelmeter.wordpress.com/2011/05/25/advice-to-developers-on-managing-mysql/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;So         the long and short of it...... Way to go open source ! &lt;/span&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-9154541962305843337?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/9154541962305843337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/if-your-data-lacks-integrity-you-are-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/9154541962305843337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/9154541962305843337'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/if-your-data-lacks-integrity-you-are-in.html' title='If your data lacks integrity you are, in a word, doomed.'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5976576474178479763</id><published>2011-05-18T16:50:00.003-06:00</published><updated>2011-05-18T17:15:43.554-06:00</updated><title type='text'>Let the communities voice be heard....</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div align="LEFT" style="margin-bottom: 0in;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-weight: normal;"&gt;MySQL is going to revitalize &lt;a href="http://planet.mysql.com/"&gt;planet.mysql.com&lt;/a&gt; and we want to hear from you! This is a community platform and you should have a say. What would you like to see on &lt;a href="http://planet.mysql.com/"&gt;planet.mysql.com&lt;/a&gt; ? Please feel free to take the &lt;a href="http://dev.mysql.com/tech-resources/quickpolls/"&gt;poll&lt;/a&gt;&amp;nbsp;&amp;nbsp;titled "&lt;a href="http://dev.mysql.com/tech-resources/quickpolls/"&gt;What content do you value most on planet.mysql.com&lt;/a&gt;?" or respond with ideas if you do not see it listed.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5976576474178479763?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5976576474178479763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/let-communities-voice-be-heard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5976576474178479763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5976576474178479763'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/let-communities-voice-be-heard.html' title='Let the communities voice be heard....'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-6343676753659798961</id><published>2011-05-13T11:59:00.000-06:00</published><updated>2011-05-13T11:59:30.595-06:00</updated><title type='text'>Taking a look at MySQL Cluster -- and saving money in the long run</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;div style="margin-bottom: 0in;"&gt;Over the last few years I have worked for few different companies that utilized versions of relayed replication with the MySQL databases. Their data handler connections where done with Java connection pooling or custom built PHP/PERL code. This allowed each company to spread the load of heavy queries and maintain a decent up time based on the load of their servers. One of the companies comes to mind often when I think of the MySQL cluster.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The company was growing and we made plans to move out of leased servers and build out our racks in a co-location center. This would have been a great time to think ahead and move towards or at the very least heavily evaluate a MySQL Cluster solution. I often got push back on this topic. Granted hindsight is always 20/20. Everything was new and fresh and we could have tested and benchmarked before live traffic was on the systems.  Instead we continued with a basic MySQL replication set up (1 master --&amp;gt; 2 slaves). It did not take us long before we adjusted the databases to a relayed replication environment (1 master --&amp;gt; slave --&amp;gt; slave) . As we advanced with this environment we built out custom PHP handles that could take thresholds per query and allowed us to pick and choose which database the query would run on based on server load and slave lag. This allowed us to keep heavy queries off the master easily. While the relayed replication setup improved our stability and reduced our downtime drastically, downtime was still a concern and issue at times.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Looking back I think the push back against a MySQL cluster was more related to costs of the additional servers versus the primarily three servers we ran on. Was that really the best choice? If we would have invested ~20k to ~40k more in additional beefy database servers ( ~20k per box at the time) we potentially could have saved development time &amp;amp; costs,and had a stronger and more stable database. Saving these two items alone could have helped us advance the platform more, since we had more development cycles and been more profitable due to almost no downtime. MySQL cluster is focus is 99.999% availability. I am willing to bet that the savings gained from going to a cluster then would have been more than the ~20k to 40k we saved.&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;To make looking back even harder, the minimum high availability MySQL cluster set up is three servers, exactly what we had anyway. I would have liked to make it more robust and have at least one other server but even that was not required. If we would have taken a step back, and evaluated our options and not based our opinion on assumptions, I feel we would have avoided the issues we ended up developing around.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;I had a great time pushing with all of the development we did at the time. But was it best for the company?  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Does that mean MySQL cluster is the answer for everything, no. Does it mean it is well worth taking a break and stepping back to truly evaluate all of your options, big or small company, yes.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Numerous examples of setting up a cluster are available online, it is worth a look.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Cluster information: &lt;a href="http://www.mysql.com/products/cluster/"&gt;http://www.mysql.com/products/cluster/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Sign up for a demo: &lt;a href="http://www.mysql.com/products/cluster/cluster_demo.html"&gt;http://www.mysql.com/products/cluster/cluster_demo.html&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The architecture white papers are available here: &lt;a href="http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster7_architecture.php"&gt;http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster7_architecture.php&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A quick install guide is here: &lt;a href="http://www.mysql.com/products/cluster/get-started.html#quickstart"&gt;http://www.mysql.com/products/cluster/get-started.html#quickstart&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Downloads here:&lt;a href="http://www.mysql.com/downloads/cluster/"&gt;http://www.mysql.com/downloads/cluster/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-6343676753659798961?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/6343676753659798961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/taking-look-at-mysql-cluster-and-saving.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6343676753659798961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/6343676753659798961'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/taking-look-at-mysql-cluster-and-saving.html' title='Taking a look at MySQL Cluster -- and saving money in the long run'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-8166699377121340615</id><published>2011-05-09T12:41:00.000-06:00</published><updated>2011-05-09T12:41:36.164-06:00</updated><title type='text'>If you haven't used the MySQL Sandbox... No need to wait...</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;          &lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;          &lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;The MySQL Sandbox tool is a fantastic way to evaluate and install different versions of MySQL. Often when new versions of software come out people tend to be very nervous to upgrade and test with their current stable server environments. You just might not be able to take a risk and upgrade a development or slave servers to test evaluate a new version.  &lt;/div&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;Giuseppe Maxia “&lt;a href="http://datacharmer.blogspot.com/"&gt;The Data Charmer&lt;/a&gt;”  has built the MySQL Sandbox (&lt;a href="http://mysqlsandbox.net/"&gt;http://mysqlsandbox.net/&lt;/a&gt;) to help you avoid these risks. This is just one of the many things  Giuseppe does for the MySQL community.   &lt;br /&gt;&lt;a href="https://launchpad.net/mysql-sandbox/+topcontributors"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Code is available via &lt;a href="https://launchpad.net/mysql-sandbox"&gt;Launchpad&lt;/a&gt; or &lt;a href="http://search.cpan.org/%7Egmax/MySQL-Sandbox-3.0.12/lib/MySQL/Sandbox.pm"&gt;CPAN.&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Documentation can be found here: &lt;a href="http://mysqlsandbox.net/docs.html"&gt;http://mysqlsandbox.net/docs.html&lt;/a&gt;. In my opinion CPAN contains most of the documentation you would need: &lt;a href="http://search.cpan.org/%7Egmax/MySQL-Sandbox-3.0.12/lib/MySQL/Sandbox.pm"&gt;http://search.cpan.org/~gmax/MySQL-Sandbox-3.0.12/lib/MySQL/Sandbox.pm&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;Once installed you can then easily run different versions of MySQL to test queries and review options , this does include replication as well.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Here is a brief overview of an install.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; cd ~/Downloads/ &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; wget &lt;a href="http://search.cpan.org/CPAN/authors/id/G/GM/GMAX/MySQL-Sandbox-3.0.12.tar.gz"&gt;http://search.cpan.org/CPAN/authors/id/G/GM/GMAX/MySQL-Sandbox-3.0.12.tar.gz&lt;/a&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   tar -vxzf MySQL-Sandbox-3.0.12.tar.gz  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   cd MySQL-Sandbox-3.0.12&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   perl Makefile.PL  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   make  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; make install  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   mkdir ~/sandboxes&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   cd ~/Downloads/&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;A quick download of the code from &lt;a href="http://labs.mysql.com/"&gt;labs.mysql.com&lt;/a&gt; for example followed by this command :&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;             &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; make_sandbox mysql-5.6.2-labs-innodb-memcached-linux2.6-x86_64.tar.gz   &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;    &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; “Your sandbox server was installed in $HOME/sandboxes/msb_5_6_2”&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;So I now have 2 versions of MySQL installed and ready for review.  &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; mysql -p&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server version: 5.5.11-log MySQL Community Server (GPL)&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; cd $HOME/sandboxes/msb_5_6_2&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; ./use&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server version: 5.6.2-labs-innodb-memcached MySQL Community Server (GPL)&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;For testing purposes you can then take a db or tables and use them in your sandbox.&amp;nbsp;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysqldump -p db_example &amp;gt; db_example.sql&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd $HOME/sandboxes/msb_5_6_2 &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; ./use -e "create database db_example"&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&amp;nbsp;&amp;nbsp; ./use db_example &amp;lt; db_example.sql &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;I am now able to adjust mysql settings in 5.6.2&amp;nbsp; ($HOME/sandboxes/msb_5_6_2/my.sandbox.cnf)&amp;nbsp; and test queries on the same data.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;          &lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;Giuseppe has help from his team as well all of whom can be seen here: &lt;a href="https://launchpad.net/mysql-sandbox/+topcontributors"&gt;https://launchpad.net/mysql-sandbox/+topcontributors&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Many thanks to Giuseppe and all of your contributors for the sandbox. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-8166699377121340615?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/8166699377121340615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/if-you-havent-used-mysql-sandbox-no.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8166699377121340615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/8166699377121340615'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/05/if-you-havent-used-mysql-sandbox-no.html' title='If you haven&apos;t used the MySQL Sandbox... No need to wait...'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7074860147510025976</id><published>2011-04-30T10:11:00.000-06:00</published><updated>2011-04-30T10:12:42.694-06:00</updated><title type='text'>"MySQL and can attain project of any scale"</title><content type='html'>Congrats to PHP Developers, Inc. best of luck and continued success. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.onlineprnews.com/news/133788-1304147582-php-developers-inc-praised-with-ceo-quotes-for-their-success.html"&gt;http://www.onlineprnews.com/news/133788-1304147582-php-developers-inc-praised-with-ceo-quotes-for-their-success.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7074860147510025976?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7074860147510025976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-and-can-attain-project-of-any.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7074860147510025976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7074860147510025976'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-and-can-attain-project-of-any.html' title='&quot;MySQL and can attain project of any scale&quot;'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5154449883466673392</id><published>2011-04-29T10:46:00.001-06:00</published><updated>2011-04-29T10:46:52.046-06:00</updated><title type='text'>The Southeast LinuxFest (SELF)</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-weight: normal;"&gt;The Southeast LinuxFest (SELF) is just around the corner ! &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-weight: normal;"&gt;June 10-12, 2011 in Spartanburg, SC&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-weight: normal;"&gt;.  &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="font-weight: normal;"&gt;The schedule is available if you have not had a chance to see it yet: &lt;a href="http://www.southeastlinuxfest.org/SELF2011-Schedule.pdf"&gt;http://www.southeastlinuxfest.org/SELF2011-Schedule.pdf&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;span style="font-size: medium;"&gt;I will be at the conference this year and I am eagerly awaiting to meet everyone. &lt;/span&gt; &lt;/div&gt;&lt;div style="font-weight: normal; margin-bottom: 0in;"&gt;&lt;span style="font-size: medium;"&gt;So please stop by and say  hi ! &lt;/span&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5154449883466673392?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5154449883466673392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/southeast-linuxfest-self.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5154449883466673392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5154449883466673392'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/southeast-linuxfest-self.html' title='The Southeast LinuxFest (SELF)'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-5733054828334475677</id><published>2011-04-13T13:53:00.000-06:00</published><updated>2011-04-13T13:53:48.210-06:00</updated><title type='text'>MySQL Relayed Replication Solution</title><content type='html'>&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;Once I had a situation where MySQL cluster was not an option. &amp;nbsp;I still wanted replication and redundancy.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;What I built was a relayed replication solution.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;I had a MYSQL DB running the INNODB engine that contained over a TB of data.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;MySQL master server ( SERVER_A ) that replicated to the slave ( SERVER_B ). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;SERVER_B was also a slave that then replicated to a second slave (SERVER_C).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&amp;nbsp;I would have preferred to add a server_d but budget did not allow.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;What did this do for us? &amp;nbsp;Well this structure allowed us few different options. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;First we had&amp;nbsp;redundancy hardware and with&amp;nbsp;replication. If SERVER_A crashed we could update the masterDB reference, which was just an internal dns reference, to SERVER_B and the site was up and running with little downtime. We could then do some research on SERVER_A to find what the problem was. Once this box (server_a) was ready for rotation again we would make it a slave to SERVER_C since SERVER_B was the new master. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;This round robin of servers also allowed us to add database updates in a manor that updated the slaves first and near zero downtime for an update to the master. We just rotated the order of the databases.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;Another benefits of this hardware setup was we where able to build out smart database handles. So based on your query and related settings we could decide which database would handle the select. All writes went to the master of course.&amp;nbsp; This allowed the big queries to stay out of the way of other selects and resulted in few if any deadlocks or slow responses.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;So for example:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NNnh5e-OANY/TaN61l19YiI/AAAAAAAAAAY/xrZfsY1W6ms/s1600/dbchain_1.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-NNnh5e-OANY/TaN61l19YiI/AAAAAAAAAAY/xrZfsY1W6ms/s1600/dbchain_1.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;Then after a database rotation:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Xtz06QczoJ4/TaN7J3V7i3I/AAAAAAAAAAc/UBfWFEm8L1k/s1600/dbchain_2.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Xtz06QczoJ4/TaN7J3V7i3I/AAAAAAAAAAc/UBfWFEm8L1k/s1600/dbchain_2.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Times; font-size: 10pt;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;If you are running a Master with two to three slaves off it I would ask why? Once you loose the master all of your slaves are also down. With relayed replication you can keep replication in case of a master crash. The worst case scenario is when the slave in the middle crashes. The best solution for this would be a forth box so you can skip down further and still have replication up.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;With optimized queries you can keep the seconds behind master at 0 and diversify your select load to enable a robust footprint that has built in replication redundancy.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Data Charmer also talks about &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13px; font-weight: bold;"&gt;&lt;a href="http://datacharmer.blogspot.com/2011/03/advanced-replication-for-masses-part.html"&gt;Relayed replication&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-5733054828334475677?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/5733054828334475677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-relayed-replication-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5733054828334475677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/5733054828334475677'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-relayed-replication-solution.html' title='MySQL Relayed Replication Solution'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-NNnh5e-OANY/TaN61l19YiI/AAAAAAAAAAY/xrZfsY1W6ms/s72-c/dbchain_1.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-7078961230606160232</id><published>2011-04-11T13:41:00.000-06:00</published><updated>2011-04-11T15:09:51.521-06:00</updated><title type='text'>MySQL Debian Install from Source</title><content type='html'>&lt;div class="MsoNormal"&gt;Without a doubt Debian versions of Linux are becoming more and more popular. (Ubunto and Suse for example) &amp;nbsp;It is not rocket science to get a MySQL server installed on a Debian system.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;apt-get install mysql-server&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The problem some people have is making it easy to get the latest version of MySQL and not just the version that is available via the Advanced Packaging Tool (apt).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;I wanted to at least make available a script/steps for everyone to get the job done quickly and easily. &amp;nbsp;I do not take all the credit for this. I did find a lot of the work done &lt;a href="http://greensysadmin.com/2011/01/24/mysql-5-5-installing-from-source-ubuntu-debian/"&gt;here&lt;/a&gt;&amp;nbsp;, I just packaged it up.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Cut and paste the following into a script. &amp;nbsp;( mysql_source_install.sh ) &amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;chmod +x the script ( chmod +x mysql_source_install.sh&amp;nbsp;) &amp;nbsp;and then execute it &amp;nbsp;./mysql_source_install.sh&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Or just download it here&amp;nbsp;&lt;a href="http://207.90.47.18/sqlhjalp/mysql_source_install.sh"&gt;mysql_source_install.sh&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# http://sqlhjalp.blogspot.com/&lt;br /&gt;# April 2011&lt;br /&gt;&lt;br /&gt;VERSION=5.5&lt;br /&gt;RELEASE=11&lt;br /&gt;&lt;br /&gt;echo &amp;nbsp;-n " Are you ready to start. ! &amp;nbsp;1 = YES | 0 = NO: "&lt;br /&gt;read start&lt;br /&gt;&lt;br /&gt;if (($start &amp;gt; 0 ))&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo "OK then... : ";&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo -n " What Version are you downloading? (ie: $VERSION) &amp;nbsp;: &amp;nbsp; &amp;nbsp;"&lt;br /&gt;read VERSION&lt;br /&gt;&lt;br /&gt;if [ -z "$VERSION" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo -n "Need a Version ";&lt;br /&gt;&amp;nbsp;&amp;nbsp;exit;&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo ""&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo -n " What release is it of $VERSION ? ie: $VERSION.($RELEASE) &amp;nbsp;: &amp;nbsp; &amp;nbsp;"&lt;br /&gt;read RELEASE&lt;br /&gt;&lt;br /&gt;if [ -z "$RELEASE" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo -n "Need a release";&lt;br /&gt;&amp;nbsp;&amp;nbsp;exit;&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;echo ""&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo " Where are you located: "&lt;br /&gt;echo " Europe - 1 ";&lt;br /&gt;echo " North America - 2 ";&lt;br /&gt;echo " Latin America - 3";&lt;br /&gt;echo " Asia - 4 ";&lt;br /&gt;echo " Africa - 5 ";&lt;br /&gt;echo " Oceania -6 ";&lt;br /&gt;&lt;br /&gt;read LOCATION&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if [ "$LOCATION " -eq "1" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;echo " Europe ";&lt;br /&gt;&amp;nbsp;URL="ftp.sunet.se/pub/unix/databases/relational/mysql"&lt;br /&gt;elif &amp;nbsp;[ "$LOCATION " -eq "2" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;URL="mysql.mirrors.hoobly.com"&lt;br /&gt;&lt;br /&gt;elif &amp;nbsp;[ "$LOCATION " -eq "3" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;URL="mysql.cce.usp.br"&lt;br /&gt;&lt;br /&gt;elif &amp;nbsp;[ "$LOCATION " -eq "4" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;URL="mysql.ntu.edu.tw"&lt;br /&gt;&lt;br /&gt;elif &amp;nbsp;[ "$LOCATION " -eq "5" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;URL="mysql.mirror.ac.za"&lt;br /&gt;&lt;br /&gt;elif &amp;nbsp;[ "$LOCATION " -eq "6" ]&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;URL="mysql.mirrors.ilisys.com.au"&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;echo " Invalid Location ";&lt;br /&gt;&amp;nbsp;exit;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "Downloading &amp;nbsp;mysql-$VERSION.$RELEASE.tar.gz &amp;nbsp;to /usr/local/src/ &amp;nbsp;FROM $URL &amp;nbsp;";&lt;br /&gt;wget http://dev.mysql.com/get/Downloads/MySQL-$VERSION/mysql-$VERSION.$RELEASE.tar.gz/from/http://$URL/ &amp;nbsp;-O mysql-$VERSION.$RELEASE.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo &amp;nbsp;-n " Can I continue?. ! &amp;nbsp;1 = YES | 0 = NO: "&lt;br /&gt;read start&lt;br /&gt;exit;&lt;br /&gt;if (($start &amp;gt; 0 ))&lt;br /&gt;then&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo "Unpacking.... ";&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;tar -vxzf mysql-$VERSION.$RELEASE.tar.gz&lt;br /&gt;&lt;br /&gt;cd mysql-$VERSION.$RELEASE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "Install tools...";&lt;br /&gt;&lt;br /&gt;apt-get install cmake&lt;br /&gt;apt-get install g++&lt;br /&gt;apt-get install libncurses5-dev&lt;br /&gt;apt-get install bison&lt;br /&gt;apt-get install libaio-dev&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cmake -LAH &amp;gt; options&lt;br /&gt;cmake .&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;make install scripts&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cd /usr/local/mysql&lt;br /&gt;chown -R mysql .&lt;br /&gt;chgrp -R mysql .&lt;br /&gt;&lt;br /&gt;scripts/mysql_install_db --user=mysql&lt;br /&gt;&lt;br /&gt;# chown -R root .&lt;br /&gt;# chown -R mysql data&lt;br /&gt;&lt;br /&gt;./bin/mysqld_safe --user=mysql &amp;amp;&lt;br /&gt;./bin/mysql_secure_installation&lt;br /&gt;&lt;br /&gt;cp support-files/my-huge.cnf /etc/my.cnf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql&lt;br /&gt;&lt;br /&gt;echo "MySQL tools installed in /usr/local/mysql/bin/ ";&lt;br /&gt;&lt;br /&gt;mysql -p&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-7078961230606160232?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/7078961230606160232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-debian-install-from-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7078961230606160232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/7078961230606160232'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/04/mysql-debian-install-from-source.html' title='MySQL Debian Install from Source'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3812360659149323517.post-441945396176890740</id><published>2011-03-25T14:50:00.000-06:00</published><updated>2011-03-25T14:50:55.965-06:00</updated><title type='text'>You might be asking what is SQLHJALP?</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;You might be asking what is SQLHJALP?&amp;nbsp; Well to put it simply is it SQL and the Swedish word for help. Which is correctly spelled "&lt;/span&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;hjälp".&amp;nbsp; What does a Swedish word and SQL have to do with each other? Well I would hope that answer was simple, but if it is not, it relates to the MySQL database, which was first developed from Sweden. I have been using this open source database for ten plus years now. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;I have spent these years working on proprietary software platforms all using LAMP stacks. While I cannot expose the proprietary software code I am more than willing to help with MySQL and LAMP issues when I can. The past years I have done this &amp;nbsp;within companies.&amp;nbsp; I would never call myself a expert as that would imply to me that I have given up learning more.&amp;nbsp; I would enjoy learning from you as you might also learn from me.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;I have primarily been working with Linux (CENT OS), PHP, PERL and MySQL within a&amp;nbsp;relayed replication&amp;nbsp;environment.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;I have had my head down developing for years and now I hope to establish this space as a place to help others, and join the great open source community has helped me for all these years.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3812360659149323517-441945396176890740?l=sqlhjalp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sqlhjalp.blogspot.com/feeds/441945396176890740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sqlhjalp.blogspot.com/2011/03/you-might-be-asking-what-is-sqlhjalp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/441945396176890740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3812360659149323517/posts/default/441945396176890740'/><link rel='alternate' type='text/html' href='http://sqlhjalp.blogspot.com/2011/03/you-might-be-asking-what-is-sqlhjalp.html' title='You might be asking what is SQLHJALP?'/><author><name>SQLHJALP</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-DUQmq31BYSw/Tl_B1GmdfFI/AAAAAAAAADY/ZOQY2gbEaDw/s220/sqlhjalp.png'/></author><thr:total>0</thr:total></entry></feed>
