Bug #72187 | Crash with 5.5 datadir | ||
---|---|---|---|
Submitted: | 1 Apr 2014 13:34 | Modified: | 4 Apr 2014 19:41 |
Reporter: | Daniël van Eeden (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Logging | Severity: | S3 (Non-critical) |
Version: | 5.6.16 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | crash |
[1 Apr 2014 13:34]
Daniël van Eeden
[1 Apr 2014 13:46]
MySQL Verification Team
fyi, it is documented here (wasn't in the beginning): http://dev.mysql.com/doc/mysql-enterprise-backup/3.10/en/restore-upgrade.html#upgrade-5.5-...
[1 Apr 2014 15:08]
MySQL Verification Team
I will admit the steps in the above url seem funny to me. I would rather do: o) backup the existing 5.5 instance on server A o) restore onto identical version of 5.5 on server B o) follow normal 5.5->5.6 upgrade on B. Why would anybody use MEB to do an upgrade on the very same machine? That is what the docs seems to imply?
[1 Apr 2014 15:45]
Daniël van Eeden
I knew about that piece of documentation. I was able to use a 5.5 mysqld to do a crash recovery and then use the datadir with 5.6 (inc. mysql_upgrade etc). The procedure in the documentation will not work as RPM/YUM doesn't allow for multiple versions to be installed at the same time (you could use the relocate option, but that's not a best practice). In my case I had a 5.5 master and a 5.6 slave, then the replication broke badly, so I had to restore the data from the 5.5 master on the 5.6 slave. I used a generic tarball 5.5 install besides the 5.6 RPM install to do the crash recovery w/o uninstalling 5.6.
[1 Apr 2014 19:44]
Sveta Smirnova
Thank you for the feedback. I agree the steps can look weird, but you actually should not have both servers installed, rather do following actions: 1. Back up data on the MySQL 5.5 server. 2. Restore data on the directory you plan to use for MySQL 5.6 server's data by simply running an apply-log and then a copy-back operation on the backup. 3. Restart the old MySQL 5.5 server, using the data directory of the new MySQL 5.6 server as its own data directory. Note This is an extra step beyond the normal restore and upgrade procedures, special to the restoration of MySQL 5.5 data to MySQL 5.6 server; with it, the MySQL 5.5 server prepares the data for an upgrade to MySQL 5.6 by performing some clean-up steps on the data, similar to what the server would do during a crash recovery. 4. Stop the MySQL 5.5 server. 5. Install MySQL 5.6 6. Start the new MySQL 5.6 server. 7. Run upgrade steps as documented in the MySQL reference manual on the restored data. Make sure the mysql_upgrade that comes with MySQL 5.6 is applied.
[1 Apr 2014 19:44]
Sveta Smirnova
I will open MEB docs bug though.
[1 Apr 2014 19:48]
Sveta Smirnova
Bug #72199
[1 Apr 2014 20:11]
Daniël van Eeden
13:16:54 UTC - mysqld got signal 11 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. 1 - This could be because you hit a bug. It is also possible that 2 - this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. 3 - This error can also be caused by malfunctioning hardware. So if this is not a bug option it's not option 1. The binaries and libraries are okay and are compiled by Oracle so it's probably not option 2 either. And I don't think it's a hardware malfunction either. So the message is not complete if it is supposed to crash if I use a 5.6 mysqld with a 5.5 datadir. This can be fixed by: a - updating the message b - making sure it doesn't crash and just works. c - making sure it doesn't crash, but just stops and generates a nice error.
[4 Apr 2014 19:41]
Sveta Smirnova
Thank you for the feedback. You are correct - message is not very clear and can contain option 4: "You used software in not appropriate way" or something similar with better wording.