When we do:
# apt-get install mysql-server-5.6
we get version 5.6.28. We have tested and certified our app with 5.6.19, and we cant even create the schema in 5.6.28 due to changes made in 5.6.20.
The question is, how to we install 5.6.19 on a server? We tried this:
# apt-get install mysql-server-5.6=5.6.19
but this does not work, presumably there is some other version string we need such as "5.6.19_ubuntu_amd" or similar.
FYI, I am trying to replace 5.6.28. I removed this version thusly:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
Following the excellent instructions from techraf, I got to step 3, then got the error:
# dpkg -i mysql-community-server_5.6.19-1ubuntu14.04_*.deb
Selecting previously unselected package mysql-community-server.
(Reading database ... 15049 files and directories currently installed.)
Preparing to unpack mysql-community-server_5.6.19-1ubuntu14.04_amd64.deb ...
Unpacking mysql-community-server (5.6.19-1ubuntu14.04) ...
dpkg: dependency problems prevent configuration of mysql-community-server:
mysql-community-server depends on libaio1 (>= 0.3.93); however:
Package libaio1:amd64 is not installed.
dpkg: error processing package mysql-community-server (--install):
dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-16) ...
Errors were encountered while processing:
mysql-community-server
doing this:
# apt-get install libaio1
yielded:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libaio1
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/6,364 B of archives.
After this operation, 53.2 kB of additional disk space will be used.
Selecting previously unselected package libaio1:amd64.
(Reading database ... 15134 files and directories currently installed.)
Preparing to unpack .../libaio1_0.3.109-4_amd64.deb ...
Unpacking libaio1:amd64 (0.3.109-4) ...
Setting up libaio1:amd64 (0.3.109-4) ...
Setting up mysql-community-server (5.6.19-1ubuntu14.04) ...
No directory, logging in with HOME=/
......
* MySQL Community Server 5.6.19 is started
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Processing triggers for ureadahead (0.100.0-16) ...
Somehow, the server runs after doing the install, but if I restart it, e.g.
# service mysql restart
I get:
* Stopping MySQL Community Server 5.6.19
* MySQL Community Server 5.6.19 is stopped
* Re-starting MySQL Community Server 5.6.19
No directory, logging in with HOME=/
* MySQL Community Server 5.6.19 did not start. Please check logs for more details.
No errors in the log files.
googling around people say that this happens when permissions are not correct. Its odd that mysql deb packages dont know how to install the correct permissions. doing this:
# ls -ld /var/run/mysqld
drwxr-xr-x 2 mysql root 80 Apr 4 02:50 /var/run/mysqld
which seems the same as a correctly installed older server, so no joy there.
checking /etc/passwd, we see:
mysql:x:103:106:MySQL Server,,,:/nonexistent:/bin/false
Which is identical to a working 5.6.19 install. This hack:
# usermod -d /var/lib/mysql/ mysql
Seems to have fixed it.
I get the impression that mysql was never designed to install a previous version, only current version, which is fine until they make breaking changes.