You should keep the following issues and notes in mind:
Other MySQL installations: The installation procedure does not recognize MySQL installations by package managers such as Homebrew. The installation and upgrade process is for MySQL packages provided by us. If other installations are present, then consider stopping them before executing this installer to avoid port conflicts.
Homebrew: For example, if you installed MySQL Server using Homebrew to its default location then the MySQL installer installs to a different location and won't upgrade the version from Homebrew. In this scenario you would end up with multiple MySQL installations that, by default, attempt to use the same ports. Stop the other MySQL Server instances before running this installer, such as executing brew services stop mysql to stop the Homebrew's MySQL service.
Launchd: A launchd daemon is installed that alters MySQL configuration options. Consider editing it if needed, see the documentation below for additional information. Also, macOS 10.10 removed startup item support in favor of launchd daemons. The optional MySQL preference pane under macOS System Preferences uses the launchd daemon.
Users: You may need (or want) to create a specific
mysql
user to own the MySQL directory and data. You can do this through the Directory Utility, and themysql
user should already exist. For use in single user mode, an entry for_mysql
(note the underscore prefix) should already exist within the system/etc/passwd
file.Data: Because the MySQL package installer installs the MySQL contents into a version and platform specific directory, you can use this to upgrade and migrate your database between versions. You need either to copy the
data
directory from the old version to the new version, or to specify an alternativedatadir
value to set location of the data directory. By default, the MySQL directories are installed under/usr/local/
.Aliases: You might want to add aliases to your shell's resource file to make it easier to access commonly used programs such as mysql and mysqladmin from the command line. The syntax for bash is:
alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin
For tcsh, use:
alias mysql /usr/local/mysql/bin/mysql alias mysqladmin /usr/local/mysql/bin/mysqladmin
Even better, add
/usr/local/mysql/bin
to yourPATH
environment variable. You can do this by modifying the appropriate startup file for your shell. For more information, see Section 6.2.1, “Invoking MySQL Programs”.Removing: After you have copied over the MySQL database files from the previous installation and have successfully started the new server, you should consider removing the old installation files to save disk space. Additionally, you should also remove older versions of the Package Receipt directories located in
/Library/Receipts/mysql-
.VERSION
.pkg