MySQL is most popular open-source database management system. MySQL is no longer available with release of Debian 9 and MariaDB has become the default database system. Commonly, MySQL is being a part of the popular LAMP and LEMP stacks.
Here at LinuxAPT, as part of our Server Management Services, we regularly help our Customers to perform related MySQL queries.
In this context, we shall look into how to install MySQL on Debian 9 server from the MySQL apt repository.
How to Configure MySQL PPA ?
Before proceeding with MySQL installation procedure, ensure that you are using a user account with sudo privileges.
MySQL provides official MySQL PPA for Debian system. So we will download MySQL package from there and install on Debian system. Run below command to enable PPA repository:
$ wget http://repo.mysql.com/mysql-apt-config_0.8.12-1_all.deb
Once the download is completed then you can install the release package using below command:
$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
It will prompt you to configuration menu where you can select MySQL version whatever you want.
By default, MySQL 8.0 is selected. You can install another version by selecting MySQL Server & Cluster (Currently selected: mysql-8.0) option and choose version as per your requirement.
Here, we will install MySQL 8.0 so select the last option OK and hit Enter key to save changes.
How to Install MySQL on Debian ?
Now your server is ready to install MySQL.
Start by updating the package list using:
$ sudo apt update
Use the below command to install MySQL server on your Debian system:
$ sudo apt install mysql-server
You will be prompted to set root user password as below. Enter a strong password for root user and hit Ok button. Again, It will ask to re-enter password. This password will be use as root user password.
Next, you will be presented with a message informing you about the new MySQL 8 authentication.
After that, it will prompt with a message informing you about the new MySQL 8 authentication. Before selecting the default MySQL 8 authentication plugin make sure it is supported by your application.
How to Verify MySQL installation ?
MySQL service will start automatically once the installation is completed. You can check the MySQL service status by typing:
$ sudo systemctl status mysql
It should show below output if service active:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Tue 2019-04-23 10:37:09 IST; 13s ago
Process: 4475 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=
Main PID: 4510 (mysqld)
Tasks: 38 (limit: 4915)
How to Secure MySQL Installation ?
You can improve MySQL security by execute the mysql_secure_installation command. It's a MySQL inbuilt security script.
Run then below command:
$ sudo mysql_secure_installation
Once you execute this command it will prompt you to enter root user password which you set before this step.
After that, it will ask you to choose whether to use the VALIDATE PASSWORD PLUGIN or not, which can be used to test the strength of your MySQL password. Press ENTER if you don't want to set up the validate password plugin.
Next, It will ask if you want to change current root user password. If your current password is perfect then, enter N for "no" at the prompt.
Now, for all next questions press Y and hit Enter key for each. This will remove some anonymous users and test database, disable remote root logins and load these new rules so that MySQL immediately respects the changes you have made.
Following questions will be prompted and you have to press yes/y for all :
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
How to Connect to MySQL from the command line ?
You can login to MySQL server using command line using below command:
$ mysql -u root -p
You will be prompted to enter root user password which you set before and it will show you output as below:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.15 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.