SystemMen - In this article, I will guide you step by step to install MariaDB 10.3 in Debian 9.
The installation steps have been tested in Debian 9 (Stretch).
Add MariaDB repository to the server
First, we need to install some dependencies.
# apt update && apt-get install software-properties-common dirmngr -y
Next, we add the key of the repository to verify.
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
Then, type the following command to add repositor to the server.
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.nethub.com.hk/repo/10.3/debian stretch main'
Installing MariaDB 10.3
Type the following command to install MariaDB server.
# apt update && apt install mariadb-server -y
When installing, it will ask you to set a password for the root user of mysql. Repeat 3 times.
Configuring mariadb-server-10.3-------------------------------While not mandatory, it is highly recommended that you set a password for the MariaDB administrative "root" user.If this field is left blank, the password will not be changed.New password for the MariaDB "root" user:
You can press Enter to skip and can set the password later.
Recommended Reading: How to install MariaDB 10.3 in CentOS 6

Enable and start mysql service.
# systemctl enable mysql && systemctl start mysql
Next, run this command to set up the original secure for mysql service.
# mysql_secure_installation
Recommended Reading: How to install MariaDB 10.2 in Ubuntu 16
Implementation looks like this.
root@debian9:~# mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDBSERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none):OK, successfully used password, moving on…Setting the root password ensures that nobody can log into the MariaDBroot user without the proper authorisation.Set root password? [Y/n] yNew password:Re-enter new password:Password updated successfully!Reloading privilege tables..… Success!By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] y… Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y… Success!By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] y- Dropping test database…… Success!- Removing privileges on test database…… Success!Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] y… Success!Cleaning up…All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!
You can now login to mysql.
# mysql -u root -p
Conclusion
Above, I guide you to successfully install MariaDB 10.3 in Debian 9. If you only run mysql server local, not public for other machines, you do not need to open the port 3306. Otherwise, if you want to machine Other can be accessed remotely, you need to open port 3306 on the firewall.
«« How to install MariaDB 10.2 in Ubuntu 16How to install MariaDB 10.3 in Debian 8 »»