Abstract
The MySQL Yum repository provides RPM packages for installing the MySQL server, client, and other components on Linux platforms. The packages also upgrade and replace any third-party MySQL packages installed from the Linux distros' native software repositories, if replacements for them are available from MySQL.
The MySQL Yum repository supports 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 19 and 20
See important information here on starting the MySQL server on EL7 platforms after installation.
This is a quick guide to using the MySQL Yum repository. For more information, see Further Readings.
For legal information, see the Legal Notices.
Document generated on: 2014-07-23 (revision: 39397)
Table of Contents [+/-]
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, follow the instructions given in Replacing a Native Third-Party Distribution of MySQL or Replacing MySQL Installed by a Direct RPM Download instead.
First, add the MySQL Yum repository to your system's repository list. Follow these steps:
Go to the download page for MySQL Yum repository at http://dev.mysql.com/downloads/repo/yum/.
Select and download the release package for your platform.
Install the downloaded release package with the
following command, replacing
platform-and-version-specific-package-name
with the name of the downloaded package:
shell> sudo rpm -Uvh platform-and-version-specific-package-name
.rpm
For example, for version 5 of the package for EL6-based systems, the command is:
shell> sudo rpm -Uvh mysql-community-release-el6-5.noarch.rpm
Once the release package is installed on your system, any system-wide update by the yum update command will automatically 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 Upgrading MySQL with the MySQL Yum Repository and Replacing a Native Third-Party Distribution of MySQL for details.
When using the MySQL Yum repository, the latest GA release of MySQL is selected for installation by default. If this is what you want, you can skip to the next step, Installing MySQL with Yum.
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 5.6) is enabled by default, and the subrepositories 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 subrepositories in the MySQL Yum repository, and see which of them are enabled or disabled:
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. You can do that 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:
# 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 subrepository you want to configure,
and edit the enabled
option. Specify
enabled=0
to disable a subrepository, or
enabled=1
to enable a subrepository. For
example, to install the latest 5.7 DMR, make sure you have
enabled=0
for the above subrepository entry
for MySQL 5.6, and have enabled=1
for the
entry for the 5.7 series:
# Note: MySQL 5.7 is currently in development. For use at your own risk. # Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/ [mysql57-community-dmr] name=MySQL 5.7 Community Server Development Milestone Release 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
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:
shell> yum repolist enabled | grep mysql
Install MySQL by the following command:
shell> sudo yum install mysql-community-server
This installs the package for the MySQL server, as well as other required packages.
Start the MySQL server with the following command:
shell> sudo service mysqld start
You can check the status of the MySQL server with the following command:
shell> sudo service mysqld status
Stop the MySQL server with the following command:
shell> sudo service mysqld stop
When installing MySQL 5.6.19 with the latest version of the
release package for EL7 platforms (that is,
mysql-community-server
5.6.19-3.el7.
),
the Oracle DTrace feature is enabled, making the MySQL
server incompatible with any platform that has SELinux
enabled. As a workaround, after installing MySQL with the
package, issue the following command before starting the
MySQL server:
[architecture]
.rpm
shell> execstack -c /usr/sbin/mysqld
This will modify the executable mysqld
,
so that the MySQL server will work with SELinux enabled.
If you do not have execstack on your
platform, you can make it available by installing the
prelink
package:
shell> sudo yum install prelink
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.
You can use Yum to install and manage individual components of MySQL. Some of these components are hosted in subrepositories of the MySQL Yum repository. Use the following command to list the packages for all the MySQL components available for your platform from all subrepositories in the MySQL Yum repository:
shell> 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
Before performing any update to MySQL, follow carefully the instructions in Upgrading MySQL. Among other instructions discussed there, it is especially important to back up your database before the update.
Use the MySQL Yum repository to perform an in-place update (that is, replacing the old version and then running the new version off the old data files) for your MySQL installation by following these steps (they assume you already have the MySQL Yum repository on your system's repository list; see Adding the MySQL Yum Repository for details):
Select a release series to which you want MySQL to be
updated. By default, the MySQL Yum repository only updates
MySQL to the latest version in the same release series,
which means, for example, a 5.6.x installation will NOT be
updated to a 5.7.x release automatically. To update to
another release series, you need to first disable the
subrepository for the series that has been selected (by
default, or by yourself) and enable the subrepository for
your target series. To do that, follow the steps explained
in Selecting a Release Series
for editing the subrepository entries in
the/etc/yum.repos.d/mysql-community.repo
file.
As a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series. For example, if you are currently running MySQL 5.1 and wish to upgrade to a newer series, upgrade to MySQL 5.5 first before upgrading to 5.6, and so forth.
For important information about upgrading from MySQL 5.6 to 5.7, see Upgrading from MySQL 5.6 to 5.7.
Upgrade MySQL and its components by the following command:
shell> sudo yum update mysql-server
Alternatively, you can update MySQL by telling Yum to update everything on your system (this might take considerably more time):
shell> sudo yum update
The MySQL server always restarts after an update by Yum. Once the server restarts, run mysql_upgrade to check and possibly resolve any incompatibilities between the old data and the upgraded software. mysql_upgrade also performs other functions; see mysql_upgrade — Check and Upgrade MySQL Tables for details.
When upgrading to MySQL 5.6.19 with the latest version of
the release package for EL7 platforms (that is,
mysql-community-server
5.6.19-3.el7.
),
the Oracle DTrace feature is enabled, making the MySQL
server incompatible with any platform that has SELinux
enabled. As a result the MySQL server will not be able to
restart on its own. Follow the workaround described
here,
and then restart the MySQL server manually afterwards (see
Starting and Stopping the MySQL Server for
instructions).
[architecture]
.rpm
You can also update only a specific component. Use the following command to list all the installed packages for the MySQL components:
shell> sudo yum list installed | grep "^mysql"
After identifying the package name of the component of your
choice, update the package with the following command, replacing
package-name
with the name of the
package:
shell> sudo yum update package-name
To use the MySQL Yum repository to replace third-party distributions of MySQL that were installed from the supported Linux platforms' native software repositories, follow these steps:
To avoid loss of data, always back up your database before trying to replace your MySQL installation using the MySQL Yum repository. See Backup and Recovery on how to back up your database.
Add the MySQL Yum repository to your system's repository list by following the instructions given in Adding the MySQL Yum Repository.
By design, the MySQL Yum repository will replace your native, third-party MySQL when you perform a yum update command on the system, or a yum update mysql-server.
After updating MySQL using the Yum repository, applications compiled with older versions of the shared client libraries should continue to work. However, if you want to recompile applications and dynamically link them with the updated libraries, see Upgrading to the Shared Client Libraries for some special considerations.
If you have a third-party distribution of MySQL that you have downloaded and installed from a non-native repository (for example, from MariaDB or Percona), it is important to follow the instructions for replacing them given in the MySQL server's reference manual.
RPMs for installing MySQL Community Server and its components can be downloaded from MySQL either from the MySQL Developer Zone's MySQL Download page or from the MySQL Yum repository. The RPMs from the two sources are different, and they install and configure MySQL in different ways.
If you have installed MySQL with the MySQL Developer Zone's RPMs and now want to replace the installation using the RPM from the MySQL Yum repository, follow these steps:
Back up your database to avoid data loss. See Backup and Recovery on how to do that.
Follow the steps given for Adding the MySQL Yum Repository.
Follow the steps given for Selecting a Release Series.
Get a list of the installed MySQL packages:
shell> rpm -qa --qf '%{name}\n' | grep MySQL
MySQL-client
MySQL-test
MySQL-embedded
MySQL-shared
MySQL-shared-compat
MySQL-server
MySQL-devel
Uninstall those MySQL packages you have found. For the preceding list:
shell> sudo yum remove MySQL-client MySQL-test MySQL-embedded \
MySQL-shared MySQL-shared-compat MySQL-server MySQL-devel
Install the equivalent packages (or just the ones you need) from the MySQL Yum repository. For our preceding example:
shell sudo yum install mysql-community-client mysql-community-test \
mysql-community-embedded mysql-community-common mysql-community-libs \
mysql-community-libs-compat mysql-community-server mysql-community-devel
More information on the MySQL Yum repository can be found at the following sections in the MySQL server's reference manual:
Copyright © 1997, 2014, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark of Oracle Corporation and/or its affiliates, and shall not be used without Oracle's express written authorization. Other names may be trademarks of their respective owners.
This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this material is subject to the terms and conditions of your Oracle Software License and Service Agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle or as specifically provided below. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:
You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation not expressly granted above.
For more information on the terms of this license, or for details on how the MySQL documentation is built and produced, please visit MySQL Contact & Questions.
For additional licensing information, including licenses for third-party libraries used by MySQL products, see Preface and Legal Notices.
For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can discuss your issues with other MySQL users.
For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the MySQL Documentation Library.