Chapter 1 Installing MySQL on Linux Using the MySQL Yum Repository
MySQL provides a Yum-style software repository for the following Linux platforms:
EL5, EL6, and EL7-based platforms (for example, the corresponding versions of Red Hat Enterprise Linux, Oracle Linux, and CentOS)
Fedora 22, 23, and 24
Currently, the MySQL Yum repository for the above-mentioned platforms provides RPM packages for installing the MySQL server, client, MySQL Workbench, MySQL Utilities, Connector/ODBC, and Connector/Python (not all packages are available for all the platforms; see Installing Additional MySQL Products and Components with Yum for details).
Before You Start
As a popular, open-source software, MySQL, in its original or re-packaged form, is widely installed on many systems from various sources, including different software download sites, software repositories, and so on. The following instructions assume that MySQL is not already installed on your system using a third-party-distributed RPM package; if that is not the case, follow the instructions given in Chapter 3, Upgrading MySQL with the MySQL Yum Repository or Chapter 2, Replacing a Third-Party Distribution of MySQL Using the MySQL Yum Repository.
Steps for a Fresh Installation of MySQL
Follow the steps below to install the latest GA release of MySQL (from the MySQL 5.7 series currently) with the MySQL Yum repository:
-
Adding the MySQL Yum Repository
First, add the MySQL Yum repository to your system's repository list. This is a one-time operation, which can be performed by installing an RPM provided by MySQL. Follow these steps:
Go to the Download MySQL Yum Repository page (http://dev.mysql.com/downloads/repo/yum/) in the MySQL Developer Zone.
Select and download the release package for your platform.
-
Install the downloaded release package with the following command (except for EL5-based systems), replacing
platform-and-version-specific-package-name
with the name of the downloaded RPM package:shell>
sudo yum localinstall
platform-and-version-specific-package-name
.rpmFor an EL6-based system, the command is in the form of:
shell>
sudo yum localinstall mysql57-community-release-el6-
{version-number}
.noarch.rpmFor an EL7-based system:
shell>
sudo yum localinstall mysql57-community-release-el7-
{version-number}
.noarch.rpmFor Fedora 22:
shell>
sudo dnf install mysql57-community-release-fc22-
{version-number}
.noarch.rpmFor Fedora 23:
shell>
sudo dnf install mysql57-community-release-fc23-
{version-number}
.noarch.rpmFor an EL5-based system, use the following command instead:
shell>
sudo rpm -Uvh mysql57-community-release-el5-
{version-number}
.noarch.rpmThe installation command adds the MySQL Yum repository to your system's repository list and downloads the GnuPG key to check the integrity of the software packages. See Signature Checking Using GnuPG for details on GnuPG key checking.
You can check that the MySQL Yum repository has been successfully added by the following command (for dnf-enabled systems, replace yum in the command with dnf):
shell>
yum repolist enabled | grep "mysql.*-community.*"
NoteOnce the MySQL Yum repository is enabled on your system, any system-wide update by the yum update command (or dnf upgrade for dnf-enabled systems) will upgrade MySQL packages on your system and also replace any native third-party packages, if Yum finds replacements for them in the MySQL Yum repository; see Chapter 3, Upgrading MySQL with the MySQL Yum Repository and, for a discussion on some possible effects of that on your system, see Upgrading the Shared Client Libraries.
-
Selecting a Release Series
When using the MySQL Yum repository, the latest GA series (currently MySQL 5.7) is selected for installation by default. If this is what you want, you can skip to the next step, Installing MySQL.
Within the MySQL Yum repository, different release series of the MySQL Community Server are hosted in different subrepositories. The subrepository for the latest GA series (currently MySQL 5.7) is enabled by default, and the subrepositories for all other series (for example, the MySQL 5.6 series) are disabled by default. Use this command to see all the subrepositories in the MySQL Yum repository, and see which of them are enabled or disabled (for dnf-enabled systems, replace yum in the command with dnf):
shell>
yum repolist all | grep mysql
To install the latest release from the latest GA series, no configuration is needed. To install the latest release from a specific series other than the latest GA series, disable the subrepository for the latest GA series and enable the subrepository for the specific series before running the installation command. If your platform supports yum-config-manager, you can do that by issuing these commands, which disable the subrepository for the 5.7 series and enable the one for the 5.6 series:
shell>
sudo yum-config-manager --disable mysql57-community
shell>sudo yum-config-manager --enable mysql56-community
For dnf-enabled platforms:
shell>
sudo dnf config-manager --disable mysql57-community
shell>sudo dnf config-manager --enable mysql56-community
Besides using yum-config-manager or the dnf config-manager command, you can also select a release series by editing manually the
/etc/yum.repos.d/mysql-community.repo
file. This is a typical entry for a release series' subrepository in the file:[mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Find the entry for the subrepository you want to configure, and edit the
enabled
option. Specifyenabled=0
to disable a subrepository, orenabled=1
to enable a subrepository. For example, to install MySQL 5.6, make sure you haveenabled=0
for the above subrepository entry for MySQL 5.7, and haveenabled=1
for the entry for the 5.6 series:# Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
You should only enable subrepository for one release series at any time. When subrepositories for more than one release series are enabled, the latest series will be used by Yum.
Verify that the correct subrepositories have been enabled and disabled by running the following command and checking its output (for dnf-enabled systems, replace yum in the command with dnf):
shell>
yum repolist enabled | grep mysql
-
Installing MySQL
Install MySQL by the following command (for dnf-enabled systems, replace yum in the command with dnf):
shell>
sudo yum install mysql-community-server
This installs the package for MySQL server (
mysql-community-server
) and also packages for the components required to run the server, including packages for the client (mysql-community-client
), the common error messages and character sets for client and server (mysql-community-common
), and the shared client libraries (mysql-community-libs
). -
Starting the MySQL Server
Start the MySQL server with the following command:
shell>
sudo service mysqld start
This is a sample output of the above command:
Starting mysqld:[ OK ]
You can check the status of the MySQL server with the following command:
shell>
sudo service mysqld status
This is a sample output of the above command:
mysqld (pid 3066) is running.
-
Securing the MySQL Installation
The program mysql_secure_installation allows you to perform important operations like setting the root password, removing anonymous users, and so on. Always run it to secure your MySQL installation:
shell>
mysql_secure_installation
It is important to remember the root password you set. See mysql_secure_installation — Improve MySQL Installation Security for details.
For more information on the postinstallation procedures, see Postinstallation Setup and Testing.
Compatibility Information for EL7-based platforms: The following RPM packages from the native software repositories of the platforms are incompatible with the package from the MySQL Yum repository that installs the MySQL server. Once you have installed MySQL using the MySQL Yum repository, you will not be able to install these packages (and vice versa).
akonadi-mysql
Installing Additional MySQL Products and Components with Yum
You can use Yum to install and manage individual components of MySQL. Some of these components are hosted in sub-repositories of the MySQL Yum repository: for example, the MySQL Connectors are to be found in the MySQL Connectors Community sub-repository, and the MySQL Workbench in MySQL Tools Community. You can use the following command to list the packages for all the MySQL components available for your platform from the MySQL Yum repository (for dnf-enabled systems, replace yum in the command with dnf):
shell> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available
Install any packages of your choice with the following command, replacing package-name
with name of the package (for dnf-enabled systems, replace yum in the command with dnf):
shell> sudo yum install package-name
For example, to install MySQL Workbench on Fedora 22:
shell> sudo dnf install mysql-workbench-community
To install the shared client libraries (for dnf-enabled systems, replace yum in the command with dnf):
shell> sudo yum install mysql-community-libs
Updating MySQL with Yum
Besides installation, you can also perform updates for MySQL products and components using the MySQL Yum repository. See Chapter 3, Upgrading MySQL with the MySQL Yum Repository for details.