In this tutorial, we will show you how to install and configure MySQL on your CentOS 7 server. For those of you who didn’t know, MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. The MySQL source code is freely available because it was originally developed as freeware. MySQL is written in C and C++ and is compatible with all major operating systems. MySQL can be used for a variety of applications but is most commonly found on Web servers.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you the step-by-step installation of MySQL Server in the CentOS 7 server.
Prerequisites
- A server running one of the following operating systems: CentOS 7.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install MySQL Server on CentOS 7
Step 1. First, you need to enable the repository package of MySQL on your system.
yum install wget wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm
Step 2. Install MySQL server.
Installing MySQL is as simple as running just one command:
yum -y update yum install mysql-server
After that add it to your system startup and start the MySQL server using the following commands:
systemctl start mysqld systemctl status mysqld systemctl enable mysqld.service
Step 3. Configuring MySQL.
By default, MariaDB is not hardened. You can secure MySQL/MariaDB using the mysql_secure_installation
script. You should read and below each step carefully which will set a root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MySQL.
mysql_secure_installation
Configure it like this:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
Next, we will need to log in to the MySQL console and create a database. Run the following command:
mysql -u root -p
Step 4. Configure Firewall for MySQL.
It is highly recommended that the ProfitBricks firewall and/or local Linux firewall be used to restrict access to the MySQL server. Only hosts requiring connectivity to the MySQL server should be granted network access:
firewall-cmd --permanent --zone=trusted --add-source=192.0.2.10/32 firewall-cmd --permanent --zone=trusted --add-port=3306/tcp firewall-cmd --reload
Congratulations! You have successfully installed MySQL. Thanks for using this tutorial for installing MySQL Server in CentOS 7 system. For additional help or useful information, we recommend you check the official MySQL website.