Debian Buster (Debian 10) is the latest release with MariaDB as default fork of MySQL in their repositories. We will install MySQL 8 in this guide. Debian 10 buster includes 40% updated software packages, such as Apache 2.4, BIND DNS Server 9.11, PHP 7.3, Python 3 3, Ruby 2.5, MariaDB 10.3 and so on. Ubuntu is based on a snapshot of Debian and naturally, they are similar in many ways. Ubuntu is considered a better choice for beginners, and Debian a better choice for experts.
Generally, we prefer Percona MySQL, however the steps for installing Percona MySQL is slightly different.
SSH into your server, as the root user. Create a new user :
---
1 | adduser abhishek |
Run this command to add your new user to the sudo group :
1 | usermod -aG sudo abhishek |
exit
from the real root
account and SSH as that user :
1 | ssh abhishek@your_server_ip |
Run below commands to upgrade the current packages to the latest versions :
1 2 | sudo apt update sudo apt upgrade |
MySQL team release the official MySQL PPA for Debian Linux. You can download and install the package on your Debian system. You can browse to get the latest :
1 | https://dev.mysql.com/downloads/repo/apt/ |
Run these commands :
1 2 3 | cd ~ wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb |
During the installation, there will be prompt to select MySQL version to install. Select the MySQL 8.0 option to install. After you have selected the version, you need to change the configuration, use the following command :
1 | sudo dpkg-reconfigure mysql-apt-config |
We can perform apt-pinning by creating a file :
1 | nano /etc/apt/preferences.d/00mysql.pref |
This will be the content :
1 2 3 | Package: mysql* Pin: origin "repo.mysql.com" Pin-Priority: 1001 |
Pin-Priority: 1001 is for holding the exact version. The above will prioritize the packages from that repo higher than the official Debian updates. Otherwise, apt will ignore the new version. You can confirm this by running apt-cache policy mysql-server
. Here is the official documentation for apt pinning. This is not what easy to understand without spending time but it can lead to situation which will force to read various Q&A like this one.
Run the following commands to install MySQL :
1 2 | sudo apt update sudo apt install mysql-server |
MySQL 8 provides an extended password security option. Go with this option from prompt. Make sure that MySQL up and running :
1 | sudo systemctl restart mysql.service |
Run the below command to secure installation :
1 | sudo mysql_secure_installation |
Next, follow our guide on Steps to Install Percona MySQL Server on Ubuntu 18.04 LTS starting from where we have shown to run how to login to MySQL using mysql -u root -p
command. MySQL has some difference with Percona MySQL.