Skip to content

Instantly share code, notes, and snippets.

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

MySQL Download URL

https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

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
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.46-linux-glibc2.12-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 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
  • REBOOT!

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

mysql -u root -p
@ragazzid
Copy link

ragazzid commented Nov 17, 2021

Thank you for this!

@dominickasanga
Copy link

dominickasanga commented Feb 28, 2022

Very helpful, thank you!

@EmmanuelChangole
Copy link

EmmanuelChangole commented Mar 11, 2022

this helped me, thank you

@NeeONCorp
Copy link

NeeONCorp commented Mar 16, 2022

Many thanks! This worked for me 👍

@socheatkd
Copy link

socheatkd commented Apr 25, 2022

thank you so much. this work for me

@anbuarivu
Copy link

anbuarivu commented Jun 2, 2022

Hi,

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

sudo bin/mysqld_safe --user=mysql &

Output:
● 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?

@Rod01Andres
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