MySQL is an open-source database management system, commonly installed as part of the popular LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl) stack. It uses a relational database and SQL (Structured Query Language) to manage its data.
CentOS 7 prefers MariaDB, a fork of MySQL managed by the original MySQL developers and designed as a replacement for MySQL. If you run
yum install mysql on CentOS 7, it is MariaDB that is installed rather than MySQL. If you're wondering about MySQL vs. MariaDB, MariaDB will generally work seamlessly in place of MySQL, so unless you have a specific use-case for MySQL, see the How To Install MariaDB on Centos 7 guide.
This tutorial will explain how to install MySQL version 5.7 on a CentOS 7 server.
To follow this tutorial, you will need:
- A CentOS 7 with a non-root user with
sudoprivileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.
Step 1 — Installing MySQL
As mentioned in the introduction, the Yum command to install MySQL in fact installs MariaDB. To install MySQL, we'll need to visit the MySQL community Yum Repository which provides packages for MySQL.
In a web browser, visit:
Note that the prominent Download links don't lead directly to the files. Instead, they lead to a subsequent page where you're invited to log in or sign up for an account. If you don't want to create an account, you can locate the text 'No thanks, just start my download', then right-click and copy the link location, or you can edit the version number in the commands below.
Locate the desired version, and update it as needed in the link below:
Once the rpm file is saved, we will verify the integrity of the download by running
md5sum and comparing it with the corresponding MD5 value listed on the site:
Compare this output with the appropriate MD5 value on the site:
Now that we've verified that the file wasn't corrupted or changed, we'll install the package:
This adds two new MySQL yum repositories, and we can now use them to install MySQL server:
y to confirm that you want to proceed. Since we've just added the package, we'll also be prompted to accept its GPG key. Press
y to download it and complete the install.
Step 2 — Starting MySQL
We'll start the daemon with the following command:
systemctl doesn't display the outcome of all service management commands, so to be sure we succeeded, we'll use the following command:
If MySQL has successfully started, the output should contain
Active: active (running) and the final line should look something like:
Note: MySQL is automatically enabled to start at boot when it is installed. You can change that default behavior with
sudo systemctl disable mysqld
During the installation process, a temporary password is generated for the MySQL root user. Locate it in the
mysqld.log with this command:
Make note of the password, which you will need in the next step to secure the installation and where you will be forced to change it. The default password policy requires 12 characters, with at least one uppercase letter, one lowercase letter, one number and one special character.
Step 3 — Configuring MySQL
MySQL includes a security script to change some of the less secure default options for things like remote root logins and sample users.
Use this command to run the security script.
This will prompt you for the default root password. As soon as you enter it, you will be required to change it.
Enter a new 12-character password that contains at least one uppercase letter, one lowercase letter, one number and one special character. Re-enter it when prompted.
You'll receive feedback on the strength of your new password, and then you'll be immediately prompted to change it again. Since you just did, you can confidently say
After we decline the prompt to change the password again, we'll press
Y and then
ENTER to all the subsequent questions in order to remove anonymous users, disallow remote root login, remove the test database and access to it, and reload the privilege tables.
Now that we've secured the installation, let's test it.
Step 4 — Testing MySQL
We can verify our installation and get information about it by connecting with the
mysqladmin tool, a client that lets you run administrative commands. Use the following command to connect to MySQL as root (
-u root), prompt for a password (
-p), and return the version.
You should see output similar to this:
This indicates your installation has been successful.
In this tutorial, we've installed and secured MySQL on a CentOS 7 server. To learn more about using MySQL, this guide to learning more about MySQL commands can help. You might also consider implementing some additional security measures.
This tutorial exists for these OS versions
- CentOS 7.3
On this page
This document describes the installation of a CentOS 7.3 server. The purpose of this guide is to provide a minimal setup that can be used as basis for our other tutorials here at howtoforge like the perfect server guides or the SAMBA, LAMP and LEMP server tutorials.
To get started with the CentOS 7.3 installation, we will need the installer ISO file. This can either be the CentOS minimal ISO or the DVD ISO file. If you plan to install just this one server then choose the minimal ISO as it is a smaller, the installer will download the required packages during installation later. I will install several servers with CentOS 7.3, therefore I choose the DVD installer ISO so I dont have to download the same packages again for each server.
- Download the CentOS 7.3 DVD from a mirror next to you http://www.centos.org/download/. I will use this mirror:
I will do the installation on a VMware virtual machine. The installation steps on a physical server are the same. If your server is not able to boot from an ISO file, burn the ISO on a DVD and insert that into the DVD drive of the server.
This tutorial is based on CentOS 7.3 server, I use 192.168.1.100 as my IP address in this tutorial and server1.example.com as the hostname. These settings might differ for you, so you have to replace them where appropriate.
Install the CentOS Base System
Boot from your CentOS 7 DVD. Select Install CentOS 7.
Next press ENTER.Virtual serial ports emulator x64 cracked.
Choose the installation language. I am using English with English United States here, so I just press Continue:
Next, we get the following screen:
I will start to customize the settings starting with LOCALIZATION in DATE & TIME Click on DATE & TIME. Select your time zone, in my case, I am selecting Europe as Region and Berlin as City.Press Done when finished.
It will set the server DATE & TIME to the Europe/Berlin timezone. Next, I will customize the KEYBOARD layout, Click on KEYBOARD to start the setup dialog.
Press the + icon to add another keyboard layout:
It will show the following window with the list of available keyboard layouts. In my case, I select German and click on the Add. button to add the keyboard layout.
Next, we customize the LAYOUT SWITCHING OPTIONS by pressing Options:
You can use any key combination for switching between keyboards, in my case I am using Alt+Ctrl. After selection of your desired key combination, press Done.
Next press Done.
Now we can add LANGUAGE SUPPORT if you don't want to use English. Click on 'LANGUAGE SUPPORT' to open the dialog.
By default, CentOS comes with English language preinstalled, but we can add more languages easily. In my case, I am adding Deutsch German with Deutsch (Deutschland) as the additional language. Press Done after selection
Next, we go to SOFTWARE > INSTALLATION SOURCE and select the installation media.
Next, you will see that the installation source is 'Auto-detected installation media', if you have any other source of installation like a network install then you can set the path in the 'On the network' field with and without proxy from Proxy Setup. Additionally, we can add Additional repositories if needed. Then press Done.
Comments are closed.