Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Install MySQL 5.6.xx on Ubuntu 18.04 & Ubuntu 20.04

MySQL Download URL

Open the terminal and follow along:

  • 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.6.46 from MySQL site
  • Add mysql user group
sudo groupadd mysql
  • Add mysql (not the current user) to mysql user group
sudo useradd -g mysql mysql
  • Extract it
sudo tar -xvf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
  • Move it to /usr/local
sudo mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/
  • Create mysql folder in /usr/local by moving the untarred folder
cd /usr/local
sudo mv mysql-5.6.46-linux-glibc2.12-x86_64 mysql

  • set MySql directory owner and user group
cd mysql
sudo chown -R mysql:mysql *
  • Install the required lib package
sudo apt-get install libaio1 libncurses5
  • 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-default.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
  • Reboot!

  • Start mysql server

sudo /etc/init.d/mysql.server start
  • Stop mysql server
sudo /etc/init.d/mysql.server stop
  • Check status of mysql
sudo /etc/init.d/mysql.server status
  • Enable myql on startup
sudo update-rc.d -f mysql.server defaults

*Disable mysql on startup (Optional)

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

  • Now login using below command, start mysql server if it's not running already

mysql -u root -p
Copy link

ragazzid commented Nov 17, 2021

Thank you for this!

Copy link

dominickasanga commented Feb 28, 2022

Very helpful, thank you!

Copy link

EmmanuelChangole commented Mar 11, 2022

this helped me, thank you

Copy link

NeeONCorp commented Mar 16, 2022

Many thanks! This worked for me 👍

Copy link

socheatkd commented Apr 25, 2022

thank you so much. this work for me

Copy link

anbuarivu commented Jun 2, 2022


I could not able to start mysql in background with following command

sudo bin/mysqld_safe --user=mysql &

● mysql.server.service - LSB: start and stop MySQL
Loaded: loaded (/etc/init.d/mysql.server; generated)
Active: active (exited) since Wed 2022-06-01 17:51:40 IST; 1min 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 968 ExecStart=/etc/init.d/mysql.server start (code=exited, status=0/SUCCESS)

Jun 01 17:51:40 portfolio systemd[1]: Starting LSB: start and stop MySQL...
Jun 01 17:51:40 portfolio mysql.server[994]: /etc/init.d/mysql.server: 1: my_print_defaults: …found
Jun 01 17:51:40 portfolio mysql.server[968]: Starting MySQL
Jun 01 17:51:40 portfolio mysql.server[968]: * Couldn't find MySQL server (/usr/local/mysql/…safe)
Jun 01 17:51:40 portfolio systemd[1]: Started LSB: start and stop MySQL.
Hint: Some lines were ellipsized, use -l to show in full.

username@server:~$ mysql -u root -p

Command 'mysql' not found, but can be installed with:

sudo apt install mysql-client-core-8.0 # version 8.0.29-0ubuntu0.20.04.3, or
sudo apt install mariadb-client-core-10.3 # version 1:10.3.34-0ubuntu0.20.04.1

username@server:~ $ sudo bin/mysqld_safe --user=mysql &
[1] 1734
username>@server:~ $ sudo: bin/mysqld_safe: command not found

Can someone help me to resolve this?

Copy link

Rod01Andres commented Jun 22, 2022

OMG I've been fighting with the last version of mysql for 4 hours!!! now I arrive here and everything is solved, Thanks!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment