This chapter describes how to obtain and install MySQL. A summary of the procedure follows and later sections provide the details. If you plan to upgrade an existing version of MySQL to a newer version rather than install MySQL for the first time, see Chapter 10, Upgrading MySQL, for information about upgrade procedures and about issues that you should consider before upgrading.
If you are interested in migrating to MySQL from another database system, see MySQL 5.7 FAQ: Migration, which contains answers to some common questions concerning migration issues.
Installation of MySQL generally follows the steps outlined here:
Determine whether MySQL runs and is supported on your platform.
Please note that not all platforms are equally suitable for running MySQL, and that not all platforms on which MySQL is known to run are officially supported by Oracle Corporation. For information about those platforms that are officially supported, see https://www.mysql.com/support/supportedplatforms/database.html on the MySQL website.
Choose which distribution to install.
Several versions of MySQL are available, and most are available in several distribution formats. You can choose from pre-packaged distributions containing binary (precompiled) programs or source code. When in doubt, use a binary distribution. Oracle also provides access to the MySQL source code for those who want to see recent developments and test new code. To determine which version and type of distribution you should use, see Section 2.1, “Which MySQL Version and Distribution to Install”.
Download the distribution that you want to install.
For instructions, see Section 2.2, “How to Get MySQL”. To verify the integrity of the distribution, use the instructions in Section 2.3, “Verifying Package Integrity Using MD5 Checksums or GnuPG”.
Install the distribution.
To install MySQL from a binary distribution, use the instructions in Chapter 3, Installing MySQL on Unix/Linux Using Generic Binaries.
To install MySQL from a source distribution or from the current development source tree, use the instructions in Chapter 4, Installing MySQL from Source.
Perform any necessary postinstallation setup.
After installing MySQL, see Chapter 9, Postinstallation Setup and Testing for information about making sure the MySQL server is working properly. Also refer to the information provided in Section 9.4, “Securing the Initial MySQL Account”. This section describes how to secure the initial MySQL
rootuser account, which has no password until you assign one. The section applies whether you install MySQL using a binary or source distribution.
If you want to run the MySQL benchmark scripts, Perl support for MySQL must be available. See Chapter 13, Perl Installation Notes.
Instructions for installing MySQL on different platforms and environments is available on a platform by platform basis:
Unix, Linux, FreeBSD
For instructions on installing MySQL on most Linux and Unix platforms using a generic binary (for example, a
.tar.gzpackage), see Chapter 3, Installing MySQL on Unix/Linux Using Generic Binaries.
For information on building MySQL entirely from the source code distributions or the source code repositories, see Chapter 4, Installing MySQL from Source
For specific platform help on installation, configuration, and building from source see the corresponding platform section:
For instructions on installing MySQL on Microsoft Windows, using either the MySQL Installer or Zipped binary, see Chapter 5, Installing MySQL on Microsoft Windows.
For information about managing MySQL instances, see MySQL Notifier Overview.
For details and instructions on building MySQL from source code using Microsoft Visual Studio, see Chapter 4, Installing MySQL from Source.
For installation on OS X, including using both the binary package and native PKG formats, see Chapter 6, Installing MySQL on macOS.
For information on making use of an OS X Launch Daemon to automatically start and stop MySQL, see Section 6.3, “Installing a MySQL Launch Daemon”.
For information on the MySQL Preference Pane, see Section 6.4, “Installing and Using the MySQL Preference Pane”.