Install MySQL 5.6 in Ubuntu 16.04
Ubuntu 16.04 only provides packages for MySQL 5.7 which has a range of backwards compatibility issues with code written against older MySQL versions.
Oracle maintains a list of official APT repositories for MySQL 5.6, but those repositories do not yet support Ubuntu 16.04. However, the 15.10 repos will work for 16.04.
Uninstall existing mysql 5.7 if any
sudo apt remove mysql-client mysql-server libmysqlclient-dev mysql-commonCheck you removed everything
sudo dpkg -l | grep mysqlPurge remainders (e.g. marked with rc) with
sudo dpkg -P <package> [<package> ...].Download the apt_config-debian package from Oracle and install it using from https://dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.0-1_all.debChoose "MySQL 5.6" and "Ubuntu Wily" (assuming Xenial is not yet provided) Community reports, that for Ubuntu 17.10, 18.04 you should select "Ubuntu Trusty"
Add repository to unsupported system?
select - ubuntu trusty
Run
sudo apt-cache policy mysql-server If this shows a 5.6 version, continue.
If not, check your /etc/apt/sources.list.d/mysql.list. It should look roughly like this:
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out entries below, but any other modifications may be lost.
# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
deb http://repo.mysql.com/apt/ubuntu/ wily mysql-apt-config
deb http://repo.mysql.com/apt/ubuntu/ wily mysql-5.6
deb http://repo.mysql.com/apt//ubuntu/ wily mysql-tools
deb-src http://repo.mysql.com/apt/ubuntu/ wily mysql-5.6
You might have to replace "xenial" with "wily". Although you are using 16.04 (codename Xenial), Oracle currently seems to only provide 5.6 in the repos for 14.04 (codename Wiley). But those sources work for 16.04, too.Create a file /etc/apt/preferences.d/mysql with this content
Package: *
Pin: origin "repo.mysql.com"
Pin-Priority: 999Run
sudo apt-get updateNow recipe's run should provide
sudo apt install mysql-client mysql-server libmysqlclient-devYou should get 5.6 version now.
Related ansible role: https://github.com/softasap/sa-mysql56
Thanks for gist.
Got a problem on purge step. ubuntu 18.04.1
After removing packages result of
sudo dpkg -l | grep mysqlisrc mysql-apt-config 0.8.0-1 all Auto configuration for MySQL APT Repo.
ii mysql-client-core-5.7 5.7.24-0ubuntu0.18.04.1 amd64 MySQL database core client binaries
rc mysql-server-5.7 5.7.24-0ubuntu0.18.04.1 amd64 MySQL database server binaries and system database setup
ii mysql-server-core-5.7 5.7.24-0ubuntu0.18.04.1 amd64 MySQL database server binaries
e.g, trying
sudo dpkg --purge mysql-clientdpkg: warning: ignoring request to remove mysql-client which isn't installed