I want to install mysql server 5.5 on ubuntu 16.04 but i am getting an error “E: Package ‘mysql-server-5.5’ has no installation candidate”....Can any body guide me how can i install this older version of mysql…Thanks in advance.

1 comment
  • This is a fantastic detailed response, and just what I was looking for! Can I ask a couple of related questions please?

    I need to do similar, but the version I want to install (to exactly match the server I need to migrate from) is 5.5.41. I was trying to work out which package I needed to download, but didn’t understand the differences. Would you mind giving me the link for the correct package please?

    I presume the best way to do this would be to set up a completely clean new droplet, install mysql, and then migrate the database afterwards. Is that correct please?

    Many thanks in advance for your help.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

1 answer

Hi @kbrkhn09,

First download MySQL:

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

Uninstall any existing version of MySQL

sudo rm /var/lib/mysql/ -R

Delete the MySQL profile

sudo rm /etc/mysql/ -R

Automatically uninstall mysql

sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor

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

Add mysql user group

sudo groupadd mysql

Add mysql (not the current user) to mysql user group

sudo useradd -g mysql mysql

Extract the tar file

sudo tar -xvf mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz

Move it to /usr/local

sudo mv mysql-5.5.56-linux-glibc2.5-x86_64 /usr/local/

Create mysql folder in /usr/local by moving the untarred folder

cd /usr/local
sudo mv mysql-5.5.56-linux-glibc2.5-x86_64 mysql

set MySql directory owner and user group

cd mysql
sudo chown -R mysql:mysql *

Install the required lib package (works with 5.6 as well)

sudo apt-get install libaio1

Execute mysql installation script

sudo scripts/mysql_install_db --user=mysql

Set mysql directory owner from outside the mysql directory

sudo chown -R root

Set data directory owner from inside mysql directory

sudo chown -R mysql data

Copy the mysql configuration file

sudo cp support-files/my-medium.cnf /etc/my.cnf

Start mysql

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

Set root user password

sudo bin/mysqladmin -u root password '[your new password]'

Add mysql path to the system

sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

Start mysql server

sudo /etc/init.d/mysql.server start
sudo /etc/init.d/mysql.server status

Enable myql on startup

sudo update-rc.d -f mysql.server defaults

Now login using the below command, start MySQL server if it’s not running already

mysql -u root -p
Submit an Answer