<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geek Gumbo &#187; MySQL</title>
	<atom:link href="http://www.geekgumbo.com/category/webdev/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geekgumbo.com</link>
	<description>A potpourri of Web Development, Linux, and Windows tips, tidbits, and observations</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Converting Dates from MySQL to PHP</title>
		<link>http://www.geekgumbo.com/2011/05/28/converting-dates-from-mysql-to-php/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=converting-dates-from-mysql-to-php</link>
		<comments>http://www.geekgumbo.com/2011/05/28/converting-dates-from-mysql-to-php/#comments</comments>
		<pubDate>Sat, 28 May 2011 14:46:28 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=3032</guid>
		<description><![CDATA["Object-relational impedance mismatch" is a term that was invented in software development to describe the extra conversion work you have to go through when going between two different data formats. Most often, it relates to the fact that relational database &#8230; <a class="more-link" href="http://www.geekgumbo.com/2011/05/28/converting-dates-from-mysql-to-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>"Object-relational impedance mismatch" is a term that was invented in software development to describe the extra conversion work you have to go through when going between two different data formats.  Most often, it relates to the fact that relational database systems store data differently than languages store data in objects and arrays.  Of course, I'm thinking of MySQL and PHP.</p>
<p>There are a bunch of functions and classes written into PHP to help with these mismatches.  I'm thinking of PDO, PHP Data Objects, for help with conversion from one database to another, and ORM, Object Relational Mapper, for taking database data and making them into PHP objects.</p>
<p>One specific area that always seems to have object-relational impedance mismatch is dates.  Specifically, how to convert MySQL dates to PHP dates.</p>
<p>MySQL dates can be stored as either a string, or an integer.  The available date formats in MySQL are: DATE, TIME, DATETIME, TIMESTAMP, and YEAR.  The possible range of dates and time for each format are:</p>
<p>DATE<br />
    yyyy-mm-dd<br />
    1000-01-01 to 9999-12-31</p>
<p>DATETIME<br />
    yyyy-mm-dd hh:mm:ss<br />
    1000-01-01 00:00:00 to 9999-12-31 00:00:00</p>
<p>TIMESTAMP<br />
    yyyy-mm-dd hh:mm:ss<br />
    1970-01-01 00:00:00 to 2037-12-31 23:59:59</p>
<p>TIME<br />
    hh:mm:ss<br />
    -838:59:59 to 838:59:59</p>
<p>YEAR (2 or 4)<br />
    yy or yyyy<br />
    1970 to 2069 or 1901 to 2155</p>
<p>If we want to convert these dates and times to PHP to do things like date calculations, you begin to see some of the problems.  </p>
<p>TIME and TIMESTAMP base their formats on the Unix Epoch date, 1970-01-01, as does PHP.  However, TIMESTAMP resets its value every time you update a row, because of this,  you most likely should capture date and time information in MySQL with the DATETIME format.  DATETIME is formatted as a string in MySQL. </p>
<p>There are many advantages to storing dates in MySQL.  There are a multitude of date functions within MySQL, and you can output the date, in any format, to the front of the page.  What else do you need, MySQL takes care of everything.</p>
<p>Unfortunately, there are times when you want to do some date calculation in your PHP code, and then use the result of the calculation in a conditional statement based on a date.  If you do, you need to do a MySQL to PHP date conversion.  How do you do it?  </p>
<p>PHP dates are stored as a 64-bit number that range from 292 Billion years in the past to the 292 Billion years in the future, and dates are different depending in what time zone you set in your php.ini file.  Like in MySQL, there are multitude of functions and classes you can use to handle PHP dates within PHP. </p>
<p>What are our options for handling this Object-relational impedance mismatch with dates?</p>
<p>First, we could do everything in MySQL, store the DATETIME, do all the calculations, and formatting.  This works a lot of the time, except of course, when you need to do some special date calculation in PHP.</p>
<p>We could use MySQL's help with the conversion with two MySQL commands: "UNIX_TIMESTAMP" and "FROM_UNIXTIME". </p>
<p>Use UNIX_TIMESTAMP to convert MySQL dates to PHP dates, like so: </p>
<pre class="brush:php">
    $SQLquery = "SELECT UNIX_TIMESTAMP(MySQL datetime)...";
</pre>
<p>FROM_UNIXTIME would be used in the opposite direction for database UPDATES. </p>
<pre class="brush:php">
    $SQLreturnQuery = UPDATE xtable SET
    datecol = FROM_UNIXTIME($PhpDate) WHERE...
</pre>
<p>Second, we could store the date in the database as a PHP integer, and output the date directly from the database to a PHP variable or array. Unfortunately, you give up all the MySQL date calculations and formatting.  You also have problems if your crossing time zones.  This is not a good idea.</p>
<p>The last option is to do the conversions when you need to, and this is probably the way most folks do it. Let's walk through it.  </p>
<p>We'll use two PHP functions to get the correct date.</p>
<p>If we get a DATETIME formatted date from the database, and assign it to a variable, say $SqlDate, when we echo it out, we'll get a string that looks like this:  "2011-05-23 09:29:20," which is how it is stored in the database. </p>
<p>We need to convert this string value to a time integer. PHP can do this with a "strtotime" function, that's used like this:</p>
<pre class="brush:php">
	$PhpDate = strtotime($Sql_Date);
</pre>
<p>Strtotime is a PHP function that expects a string as a parameter with an English date format.  It will try to parse this string into a Unix timestamp, taking into account the current timezone.</p>
<p>If we echo out $PhpDate, we get an integer like this: "1306157360"</p>
<p>We now need to format this integer into a date we can understand.  We'll use the PHP date function. </p>
<pre class="brush:php">
	$FormattedPhpDate = date('M d, Y', $PhpDate );
</pre>
<p>The purpose of the date function is to format the output of a date integer into our desired date format.  If we echo this out we get: "May 23, 2011"</p>
<p>In summary, once we get the date out of the database, we're talking about two lines of code.</p>
<pre class="brush:php">
	$PhpDate = strtotime($Sql_Date);
	$FormattedPhpDate = date('M d, Y', $PhpDate );
</pre>
<p>Not that difficult, after all. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2011/05/28/converting-dates-from-mysql-to-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multiple word text search in MySQL</title>
		<link>http://www.geekgumbo.com/2010/11/11/multiple-word-text-search-in-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=multiple-word-text-search-in-mysql</link>
		<comments>http://www.geekgumbo.com/2010/11/11/multiple-word-text-search-in-mysql/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 16:34:44 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2384</guid>
		<description><![CDATA[I am tired of search boxes not working when I input multiple words. This isn't really MySQL-specific, but I usually encounter the issue when working with LAMP, so I figure that's how people will search. Just to set the background, &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/11/11/multiple-word-text-search-in-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am tired of search boxes not working when I input multiple words.  This isn't really MySQL-specific, but I usually encounter the issue when working with LAMP, so I figure that's how people will search.  Just to set the background, in my opinion there are three types of searching techniques for a text search with an open text field.  Those three types are based upon the premise that you can enter multiple keywords in a text field.  Given that premise, you can search against:</p>
<ol>
<li>Exact phrase</li>
<li>All keywords</li>
<li>Any keywords</li>
</ol>
<p>For example, let's assume we have a database table with available shirt sizes and colors.  In that table we have the following data:</p>
<table>
<tbody>
<tr>
<th>size</th>
<th>color</th>
</tr>
<tr>
<td>Small</td>
<td>Red</td>
</tr>
<tr>
<td>Small</td>
<td>Green</td>
</tr>
<tr>
<td>Small</td>
<td>Blue</td>
</tr>
<tr>
<td>Medium</td>
<td>Red</td>
</tr>
<tr>
<td>Medium</td>
<td>Green</td>
</tr>
<tr>
<td>Medium</td>
<td>Black</td>
</tr>
<tr>
<td>Large</td>
<td>Red</td>
</tr>
<tr>
<td>Large</td>
<td>Blue</td>
</tr>
</tbody>
</table>
<p>In too many cases, searching for "black small" returns zero results.  This is a less than optimal example, because if you were generally looking for a "black small" shirt, you may not care about the Medium Black or Small in various colors, but this same technique also applies to full text searches for articles or whatever you might be searching.</p>
<p>Following the example, an Exact Phrase search for "black small" returns no results.  Not once, in either column, does the phrase "black small" exist.  An All Keywords search for "black small" would also return no results, because no single record includes both "black" and "small" (An All Keywords search for "black medium" would yield one result - for the "Medium Black" record).  An Any Keywords search for "black small" would return four results; "Medium Black", "Small Red", "Small Green", and "Small Blue".  In most cases (IMO), users want either All Keyword or Any Keyword searches.</p>
<p>The usual (broken) SQL search query looks like this (the '%' means ignore anything else in that direction):<br />
<code>SELECT * FROM table t<br />
WHERE t.some_column LIKE '%my_search_phrase%'<br />
OR t.some_other_column LIKE '%my_search_phrase%';</code></p>
<p>Let's say your search phrase is again "black small".  The Exact Phrase query is:<br />
<code>SELECT * FROM shirts s<br />
WHERE s.color LIKE '%black small%'<br />
OR s.size LIKE '%black small%';</code></p>
<p>That is the query for an Exact Phrase search; and if you want to ensure an exact match of the terms you input, you're finished.  As I mentioned, I don't think this is the generally intended search from a user.  More often, they want an All Keywords search.  That query looks like this:<br />
<code>SELECT * FROM table t<br />
WHERE (t.some_column LIKE '%my%'  OR t.some_other_column LIKE '%my%')<br />
AND (t.some_column LIKE '%search%' OR t.some_other_column LIKE '%search%')<br />
AND (t.some_column LIKE '%phrase%' OR t.some_other_column LIKE '%phrase%');</code></p>
<p>And for the "black small" search phrase, the All Keywords search is:<br />
<code>SELECT * FROM shirts s<br />
WHERE (s.size LIKE '%black%' OR s.color LIKE '%black%')<br />
AND (s.size LIKE '%small%' OR s.color LIKE '%small%');</code></p>
<p>This query searches each appropriate field to see if any record in the database somehow includes all of the keywords provided (but in any order, and from any column - thus distinct from the exact search).</p>
<p>Finally, the Any Keywords search - the functionality that I think we most often desire when searching.  The Any Keywords search looks like:<br />
<code>SELECT * FROM table t<br />
WHERE (t.some_column LIKE '%my%'  OR t.some_other_column LIKE '%my%')<br />
OR (t.some_column LIKE '%search%' OR t.some_other_column LIKE '%search%')<br />
OR (t.some_column LIKE '%phrase%' OR t.some_other_column LIKE '%phrase%');</code></p>
<p>And for the "black small" search phrase, the Any Keywords search is:<br />
<code>SELECT * FROM shirts s<br />
WHERE (s.size LIKE '%black%' OR s.color LIKE '%black%')<br />
OR (s.size LIKE '%small%' OR s.color LIKE '%small%');</code></p>
<p>This search returns any record in the database that includes any of your search keywords in any of that records columns.  I think this is generally the search query you want to implement.  A careful eye notices that the WHERE clause parantheses in the Any Keywords search are unnecessary.  This is true, but I left them there because it makes your scripting loops a little easier, because the only difference between Any and All searches is the "OR" vs. "AND" presence.</p>
<p>Now go fix your search box functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/11/11/multiple-word-text-search-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Decline of MySQL ?</title>
		<link>http://www.geekgumbo.com/2010/11/06/the-decline-of-mysql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-decline-of-mysql</link>
		<comments>http://www.geekgumbo.com/2010/11/06/the-decline-of-mysql/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 19:52:05 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[Companies]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2367</guid>
		<description><![CDATA[A fellow worker showed me Oracle's MySQL pricing with their new pricing information yesterday. The prices were higher, and showed a change in what is included with licenses. I admit, I was a little surprised. After all, MySQL is supposedly &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/11/06/the-decline-of-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A fellow worker showed me Oracle's MySQL pricing with their new pricing information yesterday.  The prices were higher, and showed a change in what is included with licenses. I admit, I was a little surprised. After all, MySQL is supposedly Open Source and free.</p>
<p>However, MySQL started with a slightly different licensing format than what we're use to as Open Source.   MySQL AB, the creator of MySQL, in 1995, came out with a license they termed, "Second Generation" Open Source. They did this with "dual licensing." The software is made available as Open Source,  but the licensing is retained by the company, and is used to sell licenses to companies that want support.  To increase revenue, MySQL AP introduced a multi-tiered support, and enterprise licenses.</p>
<p>MySQL AB was sold in 2008 for $1 Billion to Sun Microsystems.  Sun continued development, and dual licensing.  MySQL continued to grow and become the world's largest web based, open source, database.  Developers used it for small to medium size, non-enterprise, companies web sites. As the PHP language grew to be the premier web development language, it became more and more synonymous with MySQL.  So much so, that the next release will, supposedly, be even more tightly coupled with it.  MySql became number three overall, behind Microsoft SQL Server, and Oracle.</p>
<p>In 2009, Oracle, the second largest software company, found its revenues declining and it's market saturated, while MySQL installed licenses were rising. They were under heavy competition from Microsoft's SQL Server.</p>
<p>Their solution was to offer to buy Sun in April of 2009. The deal was not completed until the U.S. government agreed in August, 2009, and the European Commission agreed in January 2010, after a petition by over 50,000 developers against the sale.  As part of European Agreement, Oracle will maintain MySQL dual licensing until 2015. That's only four years from now.</p>
<p>From is past history, it seems obvious, that Oracle is on a mission, to become the world's largest software company.  Oracle sells its database in several versions, an Enterprise edition, a Standard Edition, Standard Edition One, and a Personal Edition.  These licenses can be sold by: user, processor, or cluster.  They have additional pricing for database utility tools.  Support is usually about 25% of the license price.</p>
<p>The prices they have released for MySQL will morph into Oracle's pricing structure.  The <a title="Oracle's MySQL pricing" href="http://www.mysql.com/products/">new prices</a> show a Standard, Enterprise and Cluster version.  We see Oracle continuing to raise prices.  Bear in mind, Oracle raised its prices 20% in 2008 and 40% in 2009 to boost their revenues.</p>
<p>Sun offered a reduced price Basic and Silver support.  Oracle is dropping that.  Users will need to upgrade to Gold Support.  If previous users want to keep their old support, Oracle will sell it to them only if they sign up for a three year contract.</p>
<p>MySQL Workbench, which replaced MySQL Admin and the Query Builder tool, all were free from Sun, not anymore.  You have to buy a license to get them. Oracle  also striped out some of the capabilities from the MySQL Open Source version, like the NDB storage engine, for example, and now charges for this.</p>
<p>You have the lay of the land, this leads us to question the fate of Sun open source software that Oracle now owns: besides MySQL, there's OpenOffice, Java, and along with Java, Glassfish. We'll stick with MySQL for this article.  Here's our prediction of Oracle's future direction, given their past history, and the way they've previously marketed their products.</p>
<p>Look for Oracle not to drop it's Open Source version after 2015.  It will keep a stripped down version available to entice new users to their revenue stream when they need to upgrade, and to claim they still support the Open Source community.  The prices for MySQL will steadily climb.  This will kill MySQL as the database of choice for web development.  Look for MySQL to decline in use.</p>
<p>The decline will not be immediate, it will take some time, notably Apache distributions like XAMPP and WAMP will have to offer users alternatives to MySQL, as most developers use these packages, instead of installing products independently.</p>
<p>All is not lost, the Open Source community has plenty of options.  There are several good database choices, all open source and free.  When the Sun sale was announced, there were several forks taken of MySQL: <a title="Drizzle" href="https://launchpad.net/drizzle">Drizzle</a>, <a title="MariaDB" href="http://mariadb.org/">MariaDB</a>, <a title="Percona Server" href="http://www.percona.com/software/percona-server/">Percona Server</a>, and <a title="OurDelta" href="http://ourdelta.org/">OurDelta</a>.  Each has a slightly different goal moving forward.  There are two well established alternatives to MySQL:  <a title="PostgreSQL" href="http://www.postgresql.org/about/">PostgreSQL</a> and <a href="http://www.firebirdsql.org/index.php?id=about-firebird&amp;nosb=1">Firebird</a>.  Both have large established communities, and support of major corporations. One of these will become the next MySQL, we're not sure which one yet, with a slight nod toward PostgreSQL, and then Firebird.</p>
<p>This reminds me of the old quote, first uttered in 1422 at the coronation of French King Charles VII, after the death of his father, Charles VI, "The King is dead.  Long live the King." Just maybe we're a bit premature, but we see it coming.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/11/06/the-decline-of-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench 5.2.25 Released</title>
		<link>http://www.geekgumbo.com/2010/07/13/mysql-workbench-5-2-25-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-workbench-5-2-25-released</link>
		<comments>http://www.geekgumbo.com/2010/07/13/mysql-workbench-5-2-25-released/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 01:16:09 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1879</guid>
		<description><![CDATA[I reviewed Release Candidate 5.2.22 on June 27th. In that review, I said, "I would look for the official release to follow closely after this RC 3 release." Not, that I had any inside knowledge, I just knew from reviewing &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/07/13/mysql-workbench-5-2-25-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I reviewed Release Candidate 5.2.22 on June 27th.  In that review, I said, "I would look for the official release to follow closely after this RC 3 release."</p>
<p>Not, that I had any inside knowledge, I just knew from reviewing the Release Candidate that most of the bugs were gone, and the release could not be far away.</p>
<p>Sure enough, in just 3 days, July 1st, the release became official.  My review of June 27th stands, this post is for those who decided to wait for the official release.  Well, it's here.</p>
<p>On the release, the developers stated, "We hope you will make MySQL Workbench your preferred tool for Design, Development, and Administration of your MySQL database."   We agree.</p>
<p>Download <a href="http://dev.mysql.com/downloads/workbench/5.2.html">MySQL Workbench here</a>.  Any one working with MySQL will quickly find the tool has many enhancements from the older MySQL Administrator and its companion MySQL Query Builder, which are now retired.   MySQL Workbench should become a much used tool in your toolbox.</p>
<p><a href="http://www.geekgumbo.com/wp-content/uploads/2010/07/workbenchfhome.png"><img class="aligncenter size-full wp-image-1881" title="workbenchfhome" src="http://www.geekgumbo.com/wp-content/uploads/2010/07/workbenchfhome.png" alt="" width="550" height="399" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/07/13/mysql-workbench-5-2-25-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Workbench – a Review</title>
		<link>http://www.geekgumbo.com/2010/06/27/mysql-workbench-5-2-24-rc3-a-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-workbench-5-2-24-rc3-a-review</link>
		<comments>http://www.geekgumbo.com/2010/06/27/mysql-workbench-5-2-24-rc3-a-review/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 17:27:50 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Software Reviews]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1786</guid>
		<description><![CDATA[The MySQL Developer Tools Team have just released their Release Candidate 3 of MySQL Workbench. This release fixed another 70 "issues" they missed in the last release candidate 5.2.22 RC 2, where they fixed 76 bugs, and follows the previous &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/06/27/mysql-workbench-5-2-24-rc3-a-review/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The MySQL Developer Tools Team have just released their Release Candidate 3 of MySQL Workbench.  This release fixed another 70 "issues" they missed in the last release candidate 5.2.22 RC 2, where they fixed 76 bugs, and follows the previous release, RC 1, where they fixed 62 bugs.  MySQL  Workbench is an open source project running on Windows, Linux,  and Mac.</p>
<p>The older MySQL Administrator and the accompanying MySQL Query Browser were tools that were much beloved, that you kept going back to, and using over and over again,  like a nice fitting driving gloves, comfortable, useful, and empowering.  Since I started working with MySQL, I can't remember not having them on my desktop, ready at a moments notice.</p>
<p>Because of that, I have looked upon MySQL Workbench with much suspicion and doubt. And indeed before this release, I would say the MySQL Workbench could not replace the previous Administrator and Query Browser.   Now, I'm not too sure.  With this release that has changed.  Workbench includes the integration of MySQL Administrator, and MySQL Query Browser into an integrated environment, with much potential for growth through plug-ins, much like Eclipse, although don't get me started on the integration of Eclipse plug-ins, another topic.</p>
<p>Workbench is like the French three-pronged fleur-de-lis, three separate tool areas open from a central core, Workbench Central.</p>
<div id="attachment_1797" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/workbenchfhome.png"><img class="size-full wp-image-1797" title="workbenchfhome" src="http://www.geekgumbo.com/wp-content/uploads/2010/06/workbenchfhome.png" alt="" width="550" height="399" /></a><p class="wp-caption-text">Workbench Central</p></div>
<p>Workbench makes heavy use of "breadcrumb" like menus without tabs.  Menus run horizontally across different windows in the Workbench, and clicking on the name brings you to the next screen.  It took a second to get use to, but once I did, I liked the layout and the way workbench integrated.</p>
<p>You go back to Workbench Central by clicking "Home" in the upper left.  If you click on any of your db connections, or menus across the top,  you enter into one of the three program areas: SQL Development with Query Browser, Data Modeling, and Server Administrator.  It is obvious that each of these three sections is its own program, as they each take awhile to open at first.</p>
<p>Before MySQL Workbench folks were using DBDesigner to model their databases and do their EER diagrams.  The Data Modeling section probably needs a little clean up and streamlining, as it opens rather "clunkily," but once open works well.</p>
<div id="attachment_1799" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/workbenchfER.png"><img class="size-full wp-image-1799" title="workbenchfER" src="http://www.geekgumbo.com/wp-content/uploads/2010/06/workbenchfER.png" alt="" width="550" height="384" /></a><p class="wp-caption-text">Workbench Data Modeling</p></div>
<p>The administrator works well, but needs a little configuring as it checks your connections, and let's you know if your missing an ini file or config setting.     You can configure multiple database connections to multiple servers, and  reach each database with a click of the mouse.  The Administrator includes a series of graphs along the top of the window, which look nice, but I'm not sure are that useful.   The Administrator is laid out horizontally in keeping with the overall layout template of the Workbench, but I think I like the original Administrators vertical menus a little better.</p>
<div id="attachment_1800" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/WorkbenchAdminf1.png"><img class="size-full wp-image-1800" title="WorkbenchAdminf" src="http://www.geekgumbo.com/wp-content/uploads/2010/06/WorkbenchAdminf1.png" alt="" width="550" height="388" /></a><p class="wp-caption-text">Workbench Administrator</p></div>
<p>You can tell the Development Team has put some time into the Query Browser, and it shows.  You'll find that the Query Browser is an improvement over the previous independent version. A red error x pops up as you type a query if you have the syntax wrong, this is immediate, instead of waiting until after you execute the query, very nice.  Query's form a horizontal s menu along the top of the window as you make them, yes, the older version had this, but this is more automatic.  Errors are reported when you execute the query, the same as the old version, with an obtuse error number.  My only gripe, which has nothing to do with the current Workbench, as the same was true of the previous version, is I wish the error messages were a tad more verbose.</p>
<div id="attachment_1809" class="wp-caption aligncenter" style="width: 558px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/WorkbanchffQB5.png"><img class="size-full wp-image-1809" title="WorkbanchffQB5" src="http://www.geekgumbo.com/wp-content/uploads/2010/06/WorkbanchffQB5.png" alt="" width="548" height="398" /></a><p class="wp-caption-text">Workbench Query Browser</p></div>
<p>MySQL Workbench is coming into its own and is starting to show the promise in its developer's eyes.  The Developers Tools Team should be applauded for their dedication and persistence to get it right, and the outcome of this dedication is that MySQL Workbench is getting better and better.    I would look for the official release to follow closely after this RC 3 release.   I recommend you not wait for the official release,  go ahead, and <a href="http://dev.mysql.com/downloads/workbench/5.2.html">get this release now</a>, and start using it.   There is much to discover as you integrate Workbench into your databases, and begin working with it.  Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/06/27/mysql-workbench-5-2-24-rc3-a-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle acquires Sun</title>
		<link>http://www.geekgumbo.com/2010/01/28/oracle-acquires-sun/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-acquires-sun</link>
		<comments>http://www.geekgumbo.com/2010/01/28/oracle-acquires-sun/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 17:58:26 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[Companies]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=724</guid>
		<description><![CDATA[Wow, this is big. It is no secret that Sun has fallen on some tough times lately. Sun had a total revenue of $11.45 billion last year down from $13.88 billion the year before. In contrast, Oracle's last year revenues &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/01/28/oracle-acquires-sun/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wow, this is big.  It is no secret that Sun has fallen on some tough times lately.  Sun had a total revenue of $11.45 billion last year down from $13.88 billion the year before.  In contrast, Oracle's last year revenues were $23.23 Billion.  The combined revenues of both companies should approach $35 billion.  Microsoft currently checks in at $56.3 billion.  We're looking at the heavy weights going at it.  With Microsoft on the decline, Google at $23.65 billion on the rise, and now Oracle stepping up into the fray, this may become a very interesting war.  Oracle acquired Sun for a mere $7.4 billion, a steal.</p>
<p>Oracle's revenue comes from it's pervasive Oracle database.  Depending on how you look at it revenue, or installs. Oracle is in the top 2 with Microsoft and IBM's DB2 a close third.  Let's not forget, MySql is the most popular Open Source, i.e free, database in the world.  What is surprising is when you look at installs and the number of developers developing with a database, MySql comes in a close 3rd to Oracle and Microsoft, with DB2 fourth, and MySql shows the greatest growth rate of all database development. </p>
<p>Oracle's acquisition of the MySql product may be a problem for the Open Source community.  Sun owned MySQL, which now belongs to Oracle. If you remember, Oracle purchased PeopleSoft in Dec. 2004 for $10.3 billion. In Oct, 2005 they acquired Innobase which is an integral part of MySql for transaction processing and foreign keys. What will Oracle do with MySql has caused a huge concern with the Open Source Community, so much so, that their already has been several forks of MySql, Drizzle, and MariaDB, just in case Oracle starts charging for MySql.  For now, Oracle pledges to leave MySql independent, but this is to be expected in the initial stages of an acquisition, things usually change in six months or so.</p>
<p>My thought is they will continue to support an Open Source MySql and build on top of MySql additional tools, extensions, and integrations with other Oracle products with, of course, a clear upgrade path to Oracle's flagship products for which the enterprise users will pay dearly.</p>
<p>And the same for OpenOffice.org, a legitimate contender, now, of Microsoft Office.  Oracle has never had an Office Suite and has wanted one.  Oracle is built with Java, as is OpenOffice.org.  Again, tools, extensions, and integrations with Oracle products seems like a nice way to get users to start paying for more and more functionality from a previously non-existent Oracle Office Products.</p>
<p>Oracle keeping the Open Source products they have acquired free, and enhancing them, at first, to gain market share seems like good business sense, but as these applications gain more and more market share, I believe Oracle will take a page from Microsoft's play book, and start charging for their enhancements to the products.  What this means for Open Source, is a freezing of the Open Source components to a minimal feature level, and if you want more, pay for it.</p>
<p>I have great faith in Open Source software, the forking of MySql is evidence that independent Open Source Developers will continue to create other applications with the missing functionality, that Oracle will ask customers to purchase.  As MySql has emerged as the premier Open Source database, so other products can, and will, emerge to take its place, if Oracle begins to get as "bean counterish" as Microsoft is currently, with it prideful boasting about "Microsoft Genuine Advantage," and its publicly crowing about the number of companies they have sued, look for any closing down, of previously Open Source  Oracle  products to be a catalyst to breed a new generation of improved Open Source products.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/01/28/oracle-acquires-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Administrator tool login error</title>
		<link>http://www.geekgumbo.com/2009/04/29/mysql-administrator-tool-login-error/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-administrator-tool-login-error</link>
		<comments>http://www.geekgumbo.com/2009/04/29/mysql-administrator-tool-login-error/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 17:27:58 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=103</guid>
		<description><![CDATA[For those who use MySQL, the world's most popular open source database for web development, there is a neat MySQL Administrator toolkit that the MySQL folks have come out with that helps you with all aspects of your database.&#160; It &#8230; <a class="more-link" href="http://www.geekgumbo.com/2009/04/29/mysql-administrator-tool-login-error/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For those who use <a title="MySQL" href="http://www.mysql.com/" mce_href="http://www.mysql.com/">MySQL</a>, the world's most popular open source database for web development, there is a neat <a title="MySQL Administrator" href="http://dev.mysql.com/downloads/gui-tools/5.0.html" mce_href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL Administrator</a> toolkit that the MySQL folks have come out with that helps you with all aspects of your database.&nbsp; It includes&nbsp; a very nice MySQL Query Browser, a Migration tool,&nbsp; allows you to do backups, restores, and view your database tables, and data.&nbsp; It is worth the download.</p>
<p>We have downloaded it on both a Unix and Windows system.&nbsp;&nbsp; Once you get it up and running you'll feel very much in control of your databases whether at your localhost or to a remote server.</p>
<p>There is one problem you will run into when you initially launch the tool on both Unix and Windows.&nbsp; This problem appears to be independent of the operating system or server, i.e Wamp or Xampp on your local machine.&nbsp; There is an initial login error which pops up a message:&nbsp; "Either the server service or the configuration file could not be found. Startup variables and service section are therefore disabled."&nbsp; This is <a title="Login error" href="http://forums.mysql.com/read.php?34,128259,128259#msg-128259" mce_href="http://forums.mysql.com/read.php?34,128259,128259#msg-128259">documented</a> in the MySQL forums.</p>
<p>You can still click ok and the tool will launch, you'll see your databases under "catalogs," but your service controls will be grayed out, and you will not be logged in as a user.&nbsp; The problem is the Administrator tool can not find your MySQL "my.ini" file.&nbsp; And since your not logged in, you can not change your path in "Service Control-&gt;Configure Service," it seems like a catch-22, and has left us, and judging from the forum, many others frustrated.&nbsp; We spent about an hour on it.</p>
<p>Here's the solution.&nbsp; On Windows,&nbsp; start up MySQL Administrator, push down your "control" key, and click "cancel" in the login window.&nbsp; This will bring up your "Service Control" window.&nbsp; Go to "Configure Service-&gt;Configuration Filename:"&nbsp; and put in the path to your MySQL my.ini file, including the my.ini at the end of the path.&nbsp; Click Apply Changes, and click the "Start/Stop service tab, and then stop and restart your service.&nbsp; Close the window, and relaunch the administrator tool.&nbsp; Your error message should be gone, and everything should start properly. <br></p>
<p>My setup on Linux is a lampp install on Fedora 10.&nbsp; The MySQL tools are completely separate from the lampp application suite,&nbsp; so you need to tell the MySQL Administration tool where to find the database.&nbsp; The Administrator tool looks for "/etc/my.cnf " ,&nbsp; which must be some kind of default location.&nbsp; I could not find a way to change this.&nbsp; The work around is to remove the stock "/etc/my.cnf " file, and to replace it with a soft link to the lampp configuration file.</p>
<p>ln -s /opt/lampp/etc/my.cnf /etc/my.cnf</p>
<p>Now, the MySQL Administration tool will read the lampp configuration file, and everything should work properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2009/04/29/mysql-administrator-tool-login-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

