In-Place upgrade from 5.6 to 5.7 using Standalone Packages fails
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.5 |
Invalid
|
Undecided
|
EvgeniyPatlan | |||
5.6 |
Invalid
|
Undecided
|
EvgeniyPatlan | |||
5.7 |
Fix Released
|
High
|
EvgeniyPatlan |
Bug Description
If you follow the steps in the documentation, the installation of 5.7 server package will fail.
2017-04-
2017-04-
If this is an upgrade from 5.6 to 5.7 it is supposed that the datadir has data inside. But if it is not empty, the package installation will fail. The workaround is:
1- mv the content of the datadir somewhere else
2- finish the package installation.
3- stop mysql
4- remove the content of the datadir and get the copy from step 1 back.
There is no mention in the guide about the problems with datadir or how to really handle the upgrade when there is already data there.
tags: | added: i184693 |
tags: | added: doc pkg |
Changed in percona-server: | |
status: | New → Confirmed |
Changed in percona-server: | |
assignee: | nobody → EvgeniyPatlan (evgeniy-patlan) |
Changed in percona-server: | |
milestone: | none → 5.7.18-14 |
status: | Fix Committed → Fix Released |
An update about the bug after some more tests:
- The postinst script assumes the datadir is /var/lib/mysql and doesn't actually check the conf. If there is no such directory, it also assumes a new installation and then it fails because it tries to initialize the real datadir specified in the conf. Something that cannot be done because there is data there.
- Creating a dummy file in /var/lib/mysql works as workaround, because it then assumes there is already data, therefore it is an upgrade and the process proceeds without problem.