2.5.1 Installing MySQL on Linux Using the MySQL Yum Repository

MySQL provides a Yum-style software repository for the following Linux platforms:

Currently, the MySQL Yum repository for the above-mentioned platforms provides RPM packages for installing the MySQL server, client, MySQL Workbench, MySQL Utilities (not available for EL5-based platforms), Connector/ODBC, and Connector/Python (not available for EL5-based platforms).

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 no versions of MySQL (whether distributed by Oracle or other parties) have already been installed on your system; if that is not the case, see Section 2.10.1.1, “Upgrading MySQL with the MySQL Yum Repository” or Section 2.5.2, “Replacing a Third-Party Distribution of MySQL Using the MySQL Yum Repository”.

Steps for a Fresh Installation of the latest GA Version of MySQL

Follow the steps below to install the latest GA version of MySQL with the MySQL Yum repository:

  1. 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:

    1. Go to the Download MySQL Yum Repository page (http://dev.mysql.com/downloads/repo/yum/) in the MySQL Developer Zone.

    2. Select and download the release package for your platform.

    3. Install the downloaded release package with the following command (except for EL5-based systems), replacing platform-and-version-specific with the name of the downloaded RPM file:

      shell> sudo yum localinstall platform-and-version-specific.rpm
      

      For an EL6-based system, the command is in the form of:

      shell> sudo yum localinstall mysql-community-release-el6-{version-number}.noarch.rpm  
      

      For an EL7-based system:

      shell> sudo yum localinstall mysql-community-release-el7-{version-number}.noarch.rpm  
      

      For Fedora 19:

      shell> sudo yum localinstall mysql-community-release-fc19-{version-number}.noarch.rpm
      

      For Fedora 20:

      shell> sudo yum localinstall mysql-community-release-fc20-{version-number}.noarch.rpm
      

      For an EL5-based system, use the following command instead:

      shell> sudo rpm -Uvh mysql-community-release-el5-{version-number}.noarch.rpm
      

      The 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 Section 2.1.4.2, “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:

      shell> yum repolist enabled | grep "mysql.*-community.*"
      

    Note

    Once the MySQL Yum repository is enabled on your system, any system-wide update by the yum update command will upgrade MySQL packages on your system and also replace any native third-party packages, if Yum finds replacements for them from within the MySQL Yum repository; see Section 2.10.1.1, “Upgrading MySQL with the MySQL Yum Repository” and, for a discussion on some possible effects of that on your system, see Upgrading to the Shared Client Libraries.

  2. Installing MySQL with Yum

    Install MySQL by the following command:

    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).

  3. Starting and Stopping 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.

    Stop the MySQL server with the following command:

    shell> sudo service mysqld stop

  4. Securing the MySQL Installation

    Always run the program mysql_secure_installation to secure your MySQL installation:

    shell> mysql_secure_installation

    mysql_secure_installation allows you to perform important operations like setting root password, removing anonymous users, and so on. The program is safe and easy to use. It is important to remember the root password you set though. See Section 4.4.5, “mysql_secure_installation — Improve MySQL Installation Security” for details.

For more information on the postinstallation procedures, see Section 2.9, “Postinstallation Setup and Testing”.

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:

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:

shell> sudo yum install package-name 

For example, to install MySQL Workbench:

shell> sudo yum install mysql-workbench-community

To install the shared client libraries:

shell> sudo yum install mysql-community-libs

Steps for a Fresh Installation of a Developer Milestone Release (DMR) of MySQL

Follow the steps below to install a developer milestone release (DMR) of MySQL with the MySQL Yum repository:

Warning

Developer milestone releases (DMRs) are for use at your own risk. Significant development changes take place in milestone releases and you may encounter compatibility issues, such as data format changes that require attention in addition to the usual procedure of running mysql_upgrade. For example, you may find it necessary to dump your data with mysqldump before the upgrade and reload it afterward.

  1. Add the MySQL Yum repository by following the instructions given in Adding the MySQL Yum Repository.

  2. Enable and disable the appropriate sub-repositories. Inside the MySQL Yum repositories, different release series of the MySQL Community Server are hosted in different sub-repositories. Sub-repository for the latest GA series (currently 5.6) is enabled by default, and sub-repositories for all other series (for example, the 5.7 series, currently still in developer milestone release (DMR) status) are disabled by default. Use this command to see all the sub-repositories in the MySQL Yum repository:

    shell> yum repolist all | grep "mysql.*-community.*"
    

    To install the latest release from a specific series other than the latest GA series, simply disable the sub-repository for the latest GA series and enable the sub-repository for the specific series before running the yum install command. This is how it can be done, if, for example, you want to install the 5.7 DMR series:

    shell> sudo yum-config-manager --disable mysql56-community
    shell> sudo yum-config-manager --enable mysql57-community-dmr
    

    You can also enable and disable sub-repositories by editing manually the /etc/yum.repos.d/mysql-community.repo file. This is a typical entry for a sub-repository in the file:

    # Enable to use MySQL 5.6
    [mysql56-community]
    name=MySQL 5.6 Community Server
    baseurl=//repo.mysql.com/yum/mysql-5.6-community/el/5/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 

    Find the entry for the sub-repository you want to configure, and edit the enabled= line. Make enabled=0 to disable a sub-repository, or enabled=1 to enable a sub-repository.

    You can verify that the enabling and disabling of sub-repositories have been done correctly by run the following command and check its output:

    shell> yum repolist enabled | grep "mysql.*-community.*"
    

    Note

    You can only enable sub-repository for one release series at a time. When sub-repositories for more than one release series are enabled, the latest series will be used by Yum.

    Then, install the MySQL server from the chosen series by the command:

    shell> sudo yum install mysql-community-server 

  3. Follow the instructions given in Securing the MySQL Installation and Starting and Stopping the MySQL Server.

Updating MySQL with Yum

Besides installation, you can also perform updates for MySQL products and components using the MySQL Yum repository. See Section 2.10.1.1, “Upgrading MySQL with the MySQL Yum Repository” for details.