Ubuntu – Is it possible to install MySQL 5.5 or 5.6 on Ubuntu 16.04


I recently upgraded to Ubuntu 16.04. Unfortunately I need to work MySQL 5.5 or 5.6. I tried many solutions to have MySQL 5.5 or 5.6 run on Ubuntu 16.04 like this Install MySql 5.6 on Ubuntu 16.04 .
But none of them is working.
Ubuntu detect the unmet dependencies but says "but it is not going to be installed" for 5.5 or says Package 'mysql-server-5.6' has no installation candidate…

Is it not possible to force an earlier version of MySQL on Ubuntu? Why is that?

Best Answer

Step by step guide* to install mysql 5.5.x on Ubuntu 16.04 Xenial-Xerus. Please see this documentation


See steps below:

Installing MySQL 5.5.51 on Ubuntu 16.06

  1. Uninstall any existing version of MySQL

    sudo rm /var/lib/mysql/ -R
  2. Delete the MySQL profile

    sudo rm /etc/mysql/ -R
  3. Automatically uninstall mysql

    sudo apt-get autoremove mysql* --purge
    sudo apt-get remove apparmor
  4. Download version 5.5.51 from MySQL site

    wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
  5. Add mysql user group

    sudo groupadd mysql
  6. Add mysql (not the current user) to mysql user group

    sudo useradd -g  mysql mysql
  7. Extract mysql-5.5.51-linux2.6-x86_64.tar.gz to /usr/local

    cd /usr/local
    sudo tar -xvf mysql-5.5.49-linux2.6-x86_64.tar.gz
  8. Create mysql folder in /usr/local

    sudo mv mysql-5.5.49-linux2.6-x86_64 mysql
  9. Set mysql directory owner and user group

    cd mysql
    sudo chown -R mysql:mysql *
  10. Install the required lib package

    sudo apt-get install libaio1
  11. Execute mysql installation script

    sudo scripts/mysql_install_db --user=mysql
  12. Set mysql directory owner from outside the mysql directory

    sudo chown -R root .
  13. Set data directory owner from inside mysql directory

    sudo chown -R mysql data
  14. Copy the mysql configuration file

    sudo cp support-files/my-medium.cnf /etc/my.cnf 
  15. Start mysql

    sudo bin/mysqld_safe --user=mysql &
    sudo cp support-files/mysql.server /etc/init.d/mysql.server
  16. Initialize root user password

    sudo bin/mysqladmin -u root password '111111'
  17. Start mysql server

    sudo /etc/init.d/mysql.server start
  18. Stop mysql server

    sudo /etc/init.d/mysql.server stop
  19. Check status of mysql

    sudo /etc/init.d/mysql.server status
  20. Enable myql on startup

    sudo update-rc.d -f mysql.server defaults 
  21. Disable mysql on startup (Optional)

    sudo update-rc.d -f mysql.server remove
  22. Add mysql path to the system

    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
  23. Now directly use the command below to start mysql

    mysql -u root -p 

PS: One needs to reboot in order for the changes to take place.

Based on a Chinese blog