<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Upgrading MySQL</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/</link>
	<description>Percona&#039;s MySQL &#38; InnoDB performance and scalability blog</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: honeybee</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-845115</link>
		<dc:creator>honeybee</dc:creator>
		<pubDate>Tue, 22 Nov 2011 20:13:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-845115</guid>
		<description>hi all:
 I tried to upgrade mysql community 5.0 to percona 5.1, after I run mysql_upgrade, its errored out on all the innodb tables, saying:
error    : Table upgrade required. Please do &quot;REPAIR TABLE `table_1`&quot; or dump/reload to fix it!
.....
well, &quot;repair table&quot; is not supported on innodb table so I either have to do a dump/reload or alter  engine=innodb,
we have so many large tables and it takes a week just to upgrade a single server.

So is this error messege a known issue or is it normal? am I doing something wrong?

I also gets warnings like :
Warning  : Triggers for table `schema1`.`trigger_!` have no creation context, which requires me to recreate triggers, is this normal for upgrade too?</description>
		<content:encoded><![CDATA[<p>hi all:<br />
 I tried to upgrade mysql community 5.0 to percona 5.1, after I run mysql_upgrade, its errored out on all the innodb tables, saying:<br />
error    : Table upgrade required. Please do &#8220;REPAIR TABLE `table_1`&#8221; or dump/reload to fix it!<br />
&#8230;..<br />
well, &#8220;repair table&#8221; is not supported on innodb table so I either have to do a dump/reload or alter  engine=innodb,<br />
we have so many large tables and it takes a week just to upgrade a single server.</p>
<p>So is this error messege a known issue or is it normal? am I doing something wrong?</p>
<p>I also gets warnings like :<br />
Warning  : Triggers for table `schema1`.`trigger_!` have no creation context, which requires me to recreate triggers, is this normal for upgrade too?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Snake</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-838993</link>
		<dc:creator>Snake</dc:creator>
		<pubDate>Thu, 10 Nov 2011 09:12:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-838993</guid>
		<description>How to upgrade mysql from 5.1.47 to 5.1.53 only, not later 5.1.53 or latest version using mysql_upgrade command ...</description>
		<content:encoded><![CDATA[<p>How to upgrade mysql from 5.1.47 to 5.1.53 only, not later 5.1.53 or latest version using mysql_upgrade command &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mandm</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-774163</link>
		<dc:creator>mandm</dc:creator>
		<pubDate>Mon, 13 Sep 2010 18:20:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-774163</guid>
		<description>Can someone post the step by step document for the mysql 5.0 to 5.1 upgrade?....what are the various ways i can do this?...i am kind of new to the mysql upgrade procedure

Thanks a lot</description>
		<content:encoded><![CDATA[<p>Can someone post the step by step document for the mysql 5.0 to 5.1 upgrade?&#8230;.what are the various ways i can do this?&#8230;i am kind of new to the mysql upgrade procedure</p>
<p>Thanks a lot</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon J Mudd</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-711116</link>
		<dc:creator>Simon J Mudd</dc:creator>
		<pubDate>Sun, 17 Jan 2010 16:16:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-711116</guid>
		<description>From my experience upgrading MySQL can be trivial to rather a pain. Here I&#039;m talking about major version changes such as 5.0 to 5.1.

This also depends on various issues one of which is the amount of downtime you can take and also how you are using MySQL.

MySQL often recommends (if possible) doing an upgrade by doing a MySQL dump of the databases and then loading them clean into a the new version. This is the best idea as it ensures that you have a clean dump and a clean load but is mainly impractical for many people, especially if the database is sufficiently large, as this takes too long.

In that case often the alternative is to take a copy of a running slave (if you are working in a replicated environment) and then upgrade to the newer binaries and run mysql_check followed by mysql_upgrade.  That works pretty well as long as you don&#039;t have stored procedures or triggers which the 5.1 upgrade may not cope with properly.

I had some nasty issues on some instances with this problem, but luckily I was able to remove the triggers and all of a sudden the upgrades became a lot less painless.

Then there&#039;s the issue which is still &quot;in theory&quot; an issue with 5.0 to 5.1 upgrades that when you run mysql_upgrade it tries to check and upgrade all tables which need to be changed but fails miserably with Innodb tables. Recommendation by the mysql_upgrade binary is to dump the tables and then load them back. Of course to run mysql_upgrade you are running the new 5.1 binaries and to do the dump you need to downgrade again to 5.0.... If the table is large you are back to the problem that the dump/load takes ages.   Then again none of this is really necessary: ALTER TABLE ENGINE=INNODB rebuilds the table under 5.1 and MySQL is happy... (why this is not done as part of the mysql_upgrade I don&#039;t know though I suspect that this will be fixed in the future).

Apart from these issues the upgrade can be trivially easy. For most people it is, but it would be nice to have a complete, simple, step list of the tasks that are required, all in the right order so that nothing gets forgotten.

Working in a replicated environment also does not help as it is often impractical to upgrade all boxes at the same time, especially if you want to avoid down time. So you follow the &quot;procedure&quot; of upgrading slaves one by one until you only have the master to do.  Be aware that if you upgrade the master by running something like mysql_upgrade it will potentially write to the bin logs commands used to update the server itself. This of course gets picked up by the slaves and breaks replication as it fails on the slaves which have already been upgraded. To avoid this it&#039;s often best to build a new master (originally just a slave which has been upgraded), and then put all existing slaves underneath it. Then all that&#039;s required to complete the upgrade is to make the applications talk to the new master.

So I for one would vote for better documentation, that covers the case of the single small mysql server, but also at least mentions the issues that need to be taken into account when the server size gets too large for dump/load to be used, or what extra steps or things need to be taken into account if the server is working in a replicated environment.

It would also be nice if mysql_upgrade finally works for all engine types (within reason), and also if somehow mysql_check (5.1) could be run on an old version and give some sort of idea of which tables may need to be rebuilt BEFORE you change the version you are running. This type of thing is typical in Oracle or Sybase so should not be so hard to implement in MySQL. Perhaps it is not needed by everyone but it does make our life easier and as such should gain more users.</description>
		<content:encoded><![CDATA[<p>From my experience upgrading MySQL can be trivial to rather a pain. Here I&#8217;m talking about major version changes such as 5.0 to 5.1.</p>
<p>This also depends on various issues one of which is the amount of downtime you can take and also how you are using MySQL.</p>
<p>MySQL often recommends (if possible) doing an upgrade by doing a MySQL dump of the databases and then loading them clean into a the new version. This is the best idea as it ensures that you have a clean dump and a clean load but is mainly impractical for many people, especially if the database is sufficiently large, as this takes too long.</p>
<p>In that case often the alternative is to take a copy of a running slave (if you are working in a replicated environment) and then upgrade to the newer binaries and run mysql_check followed by mysql_upgrade.  That works pretty well as long as you don&#8217;t have stored procedures or triggers which the 5.1 upgrade may not cope with properly.</p>
<p>I had some nasty issues on some instances with this problem, but luckily I was able to remove the triggers and all of a sudden the upgrades became a lot less painless.</p>
<p>Then there&#8217;s the issue which is still &#8220;in theory&#8221; an issue with 5.0 to 5.1 upgrades that when you run mysql_upgrade it tries to check and upgrade all tables which need to be changed but fails miserably with Innodb tables. Recommendation by the mysql_upgrade binary is to dump the tables and then load them back. Of course to run mysql_upgrade you are running the new 5.1 binaries and to do the dump you need to downgrade again to 5.0&#8230;. If the table is large you are back to the problem that the dump/load takes ages.   Then again none of this is really necessary: ALTER TABLE ENGINE=INNODB rebuilds the table under 5.1 and MySQL is happy&#8230; (why this is not done as part of the mysql_upgrade I don&#8217;t know though I suspect that this will be fixed in the future).</p>
<p>Apart from these issues the upgrade can be trivially easy. For most people it is, but it would be nice to have a complete, simple, step list of the tasks that are required, all in the right order so that nothing gets forgotten.</p>
<p>Working in a replicated environment also does not help as it is often impractical to upgrade all boxes at the same time, especially if you want to avoid down time. So you follow the &#8220;procedure&#8221; of upgrading slaves one by one until you only have the master to do.  Be aware that if you upgrade the master by running something like mysql_upgrade it will potentially write to the bin logs commands used to update the server itself. This of course gets picked up by the slaves and breaks replication as it fails on the slaves which have already been upgraded. To avoid this it&#8217;s often best to build a new master (originally just a slave which has been upgraded), and then put all existing slaves underneath it. Then all that&#8217;s required to complete the upgrade is to make the applications talk to the new master.</p>
<p>So I for one would vote for better documentation, that covers the case of the single small mysql server, but also at least mentions the issues that need to be taken into account when the server size gets too large for dump/load to be used, or what extra steps or things need to be taken into account if the server is working in a replicated environment.</p>
<p>It would also be nice if mysql_upgrade finally works for all engine types (within reason), and also if somehow mysql_check (5.1) could be run on an old version and give some sort of idea of which tables may need to be rebuilt BEFORE you change the version you are running. This type of thing is typical in Oracle or Sybase so should not be so hard to implement in MySQL. Perhaps it is not needed by everyone but it does make our life easier and as such should gain more users.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbester</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-707609</link>
		<dc:creator>sbester</dc:creator>
		<pubDate>Sun, 10 Jan 2010 03:16:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-707609</guid>
		<description>could be mentioned that in modern versions of 5.0 and 5.1 the incompatibilities in data formats arose from charset related sorting changes that were made.  In these cases, all recent 5.1 &#039;check table for upgrade&#039; should flag the table as needing a rebuild, which could make the 15 minutes &#039;reckless&#039; approach table hours on a large installation.

read http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html for some examples.</description>
		<content:encoded><![CDATA[<p>could be mentioned that in modern versions of 5.0 and 5.1 the incompatibilities in data formats arose from charset related sorting changes that were made.  In these cases, all recent 5.1 &#8216;check table for upgrade&#8217; should flag the table as needing a rebuild, which could make the 15 minutes &#8216;reckless&#8217; approach table hours on a large installation.</p>
<p>read <a href="http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html</a> for some examples.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sbester</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-707606</link>
		<dc:creator>sbester</dc:creator>
		<pubDate>Sun, 10 Jan 2010 03:11:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-707606</guid>
		<description>could be noted that in modern versions of mysql (5.0.40+ ?), the majority of data incompatibilities arose from charset related sorting problems.  mysql_upgrade or check table for upgrade in modern versions of 5.1 should catch these cases and rebuild tables, which can make the reckless upgrade take hours on a large installation.. 

see http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html</description>
		<content:encoded><![CDATA[<p>could be noted that in modern versions of mysql (5.0.40+ ?), the majority of data incompatibilities arose from charset related sorting problems.  mysql_upgrade or check table for upgrade in modern versions of 5.1 should catch these cases and rebuild tables, which can make the reckless upgrade take hours on a large installation.. </p>
<p>see <a href="http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.1/en/checking-table-incompatibilities.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-707514</link>
		<dc:creator>Brad</dc:creator>
		<pubDate>Sat, 09 Jan 2010 22:44:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-707514</guid>
		<description>Tatjana,

Anytime you upgrade, it is recommended to test your code against the new version of MySQL in a QA environment.</description>
		<content:encoded><![CDATA[<p>Tatjana,</p>
<p>Anytime you upgrade, it is recommended to test your code against the new version of MySQL in a QA environment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-707184</link>
		<dc:creator>Brad</dc:creator>
		<pubDate>Sat, 09 Jan 2010 03:06:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-707184</guid>
		<description>Tatjana,

When upgrading between any two versions, there is always a possibility you will encounter incompatibilities.
I highly recommend testing the upgrade in a QA environment, it&#039;s always good to see how your specific application will work with new versions of MySQL.</description>
		<content:encoded><![CDATA[<p>Tatjana,</p>
<p>When upgrading between any two versions, there is always a possibility you will encounter incompatibilities.<br />
I highly recommend testing the upgrade in a QA environment, it&#8217;s always good to see how your specific application will work with new versions of MySQL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Treat</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-706726</link>
		<dc:creator>Robert Treat</dc:creator>
		<pubDate>Thu, 07 Jan 2010 21:38:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-706726</guid>
		<description>Hey Peter, do you remember the regression where on duplicate key update stopped working? I think it was like 5.0.30 or so. That was fun! And lead me to be even more skeptical about MySQL upgrades than normal; the reckless way really is reckless if you care about your data at all. Anyway, hopefully this will all be improved once Oracle takes over; their QA process on the big database is pretty thorough. ;-)</description>
		<content:encoded><![CDATA[<p>Hey Peter, do you remember the regression where on duplicate key update stopped working? I think it was like 5.0.30 or so. That was fun! And lead me to be even more skeptical about MySQL upgrades than normal; the reckless way really is reckless if you care about your data at all. Anyway, hopefully this will all be improved once Oracle takes over; their QA process on the big database is pretty thorough. <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tatjana Knezevic</title>
		<link>http://www.mysqlperformanceblog.com/2010/01/05/upgrading-mysql/comment-page-1/#comment-706667</link>
		<dc:creator>Tatjana Knezevic</dc:creator>
		<pubDate>Thu, 07 Jan 2010 16:28:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1953#comment-706667</guid>
		<description>Peter,

Iâ€™m given a very short time frame to perform the upgrade MySQL server from 5.0.27 to 5.0.45. I think I go with the option to setup the slave first and try to minimize downtime.  
Iâ€™ve checked Change history on  http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html and it seems that this upgrade should be seamless. 
Before I proceed with this, are there any major incompatibility issues between these two minor versions that I have to be aware of?

Any advice is more than welcome.</description>
		<content:encoded><![CDATA[<p>Peter,</p>
<p>Iâ€™m given a very short time frame to perform the upgrade MySQL server from 5.0.27 to 5.0.45. I think I go with the option to setup the slave first and try to minimize downtime.<br />
Iâ€™ve checked Change history on  <a href="http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html</a> and it seems that this upgrade should be seamless.<br />
Before I proceed with this, are there any major incompatibility issues between these two minor versions that I have to be aware of?</p>
<p>Any advice is more than welcome.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

