Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Installing MySQL Using a Standard Source Distribution

2.8.4 使用标准源分布安装 MySQL

从标准源分布中安装 MySQL:

  1. 验证您的系统满足在第2.8.2节,“Source Installation Prerequisites”中列出的工具要求。

  2. 使用第2.1.3节,“How to Get MySQL”中的指令获取分布文件。

  3. 使用本节中的指令配置、编译和安装分布文件。

  4. 执行第2.9节,“Postinstallation Setup and Testing”中的指令进行后安装程序。

MySQL 使用CMake作为所有平台的构建框架。这些指令应该使您能够生产一个工作的安装。关于使用CMake来构建 MySQL 的更多信息,请参阅使用 CMake 构建 MySQL 服务器

如果您从源 RPM 开始,使用以下命令创建一个可以安装的二进制 RPM。 如果您没有rpmbuild,请使用rpm代替。

$> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

结果是一个或多个二进制 RPM 包,您可以按照第2.5.4节,“使用 Oracle 提供的 RPM 包在 Linux 上安装 MySQL”中的指令进行安装。

从压缩tar文件或Zip归档源分布安装的顺序类似于使用通用二进制分布安装的过程(见第2.2节,“使用通用二进制文件在Unix/Linux上安装MySQL”),except that it is used on all platforms and includes steps to configure and compile the distribution。例如,在Unix上使用压缩tar文件源分布的基本安装命令序列如下:

# Preconfiguration setup
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
$> tar zxvf mysql-VERSION.tar.gz
$> cd mysql-VERSION
$> mkdir bld
$> cd bld
$> cmake ..
$> make
$> make install
# End of source-build specific instructions
# Postinstallation setup
$> cd /usr/local/mysql
$> mkdir mysql-files
$> chown mysql:mysql mysql-files
$> chmod 750 mysql-files
$> bin/mysqld --initialize --user=mysql
$> bin/mysqld_safe --user=mysql &
# Next command is optional
$> cp support-files/mysql.server /etc/init.d/mysql.server

以下是详细的源-构建特定指令的示例。

Note

以下过程不设置MySQL账户的密码。完成后续程,转到第2.9节,“安装后的设置和测试”,进行安装后的设置和测试。

在Unix上,设置拥有数据库目录的mysql用户,并将该用户添加到组中。详见创建mysql用户和组。然后,以mysql用户身份执行以下步骤,除非另有说明。

选择要解压分布的目录,并切换到该目录。

使用第2.1.3节,“如何获取MySQL”中的说明获取分布文件。

解压分布到当前目录:

  • 要解压压缩的tar文件,可以使用tar将其解压和解包,如果它支持z选项:

    $> tar zxvf mysql-VERSION.tar.gz

    如果您的tar不支持z选项,可以使用gunzip将分布解压,然后使用tar将其解包:

    $> gunzip < mysql-VERSION.tar.gz | tar xvf -

    Alternatively,使用CMake可以解压缩和解包分布文件:

    $> cmake -E tar zxvf mysql-VERSION.tar.gz
  • 要解压缩Zip归档,请使用WinZip或其他可以读取.zip文件的工具。

解压缩分布文件创建一个名为mysql-VERSION的目录。

切换到解包分布文件的顶级目录:

$> cd mysql-VERSION

在源树外部构建以保持树干清洁。如果源树的顶级目录名为mysql-src,当前工作目录,您可以在同一级别的目录名为build中构建。创建该目录并切换到那里:

$> mkdir bld
$> cd bld

配置构建目录。最小配置命令包括不包含任何选项以覆盖默认配置:

$> cmake ../mysql-src

构建目录不需要在源树外部。例如,您可以在名为build的目录下构建,位于顶级源树中。要实现此操作,请从当前工作目录mysql-src开始,创建名为build的目录,然后切换到那里:

$> mkdir build
$> cd build

配置构建目录。最小配置命令包括不包含任何选项以覆盖默认配置:

$> cmake ..

如果您有多个源树在同一级别(例如,为了构建多个MySQL版本),第二种策略可能会更有优势。第一种策略将所有build目录置于同一级别,这需要您为每个build目录选择唯一的名称。使用第二种策略,您可以在每个源树中使用相同的build目录名称。以下指令假设使用了第二种策略。

在Windows上,指定开发环境。例如,以下命令将MySQL配置为32位或64位构建,分别:

$> cmake .. -G "Visual Studio 12 2013"

$> cmake .. -G "Visual Studio 12 2013 Win64"

在macOS上,使用Xcode IDE:

$> cmake .. -G Xcode

当您运行Cmake时,您可能想添加选项到命令行。以下是一些示例:

要查看更多选项,请参阅第2.8.7节,“MySQL源配置选项”

要列出配置选项,可以使用以下命令之一:

$> cmake .. -L   # overview

$> cmake .. -LH  # overview with help text

$> cmake .. -LAH # all params with help text

$> ccmake ..     # interactive display

如果CMake失败,您可能需要重新配置,运行它再次使用不同的选项。如果您重新配置,请注意以下几点:

  • 如果CMake在之前已经运行过,它可能会使用之前的invocation中收集的信息。这一信息存储在CMakeCache.txt文件中。当CMake启动时,它将查找该文件并读取其内容,如果存在,假设信息仍然正确。但是,这个假设在重新配置时无效。

  • 每次运行CMake,您都需要再次运行make以重新编译。然而,您可能想先删除以前的对象文件,因为它们使用了不同的配置选项。

要防止旧的对象文件或配置信息被使用,在Unix上在build目录中运行以下命令之前重新运行CMake

$> make clean
$> rm CMakeCache.txt

或者,在Windows上:

$> devenv MySQL.sln /clean
$> del CMakeCache.txt

在向MySQL Community Slack提交问题前,请检查CMakeFiles目录中的文件,以获取有用的信息关于失败。要提交bug报告,请使用第1.6节,“如何报告错误或问题”中的指令。

Unix 上:

$> make
$> make VERBOSE=1

第二个命令将VERBOSE设置为显示每个编译源的命令。

使用gmake,因为在使用 GNU make且已经安装了gmake的系统上。

Windows 上:

$> devenv MySQL.sln /build RelWithDebInfo

如果您已经到达编译阶段,但分布式不构建,请参阅第 2.8.8 节,“解决 MySQL 编译问题”,以获取帮助。如果这不能解决问题,请使用第 1.6 节,“报告错误或问题”中的指令将其输入到我们的错误数据库中。 如果您已经安装了最新版本的所需工具,但它们在处理我们的配置文件时崩溃,请报告该问题。但是,如果您收到command not found错误或类似问题,因为所需工具,您不应该报告它。相反,确保所有所需工具已经安装,并且您的PATH变量正确设置,以便您的 shell 可以找到它们。

Unix 上:

$> make install

这将在配置的安装目录(默认为/usr/local/mysql)下安装文件。您可能需要以root身份运行命令。

要在特定的目录中安装,请在命令行添加一个DESTDIR参数:

$> make install DESTDIR="/opt/mysql"

或者生成安装包文件,可以在您想要的地方安装:

$> make package

这项操作将产生一个或多个.tar.gz文件,可以像通用二进制分发包一样安装。请参阅第2.2节,“使用通用二进制文件在Unix/Linux上安装MySQL”。如果您使用CMake运行-DCPACK_MONOLITHIC_INSTALL=1,操作将产生单个文件;否则,它将产生多个文件。

在Windows上,生成数据目录,然后创建.zip归档安装包:

$> devenv MySQL.sln /build RelWithDebInfo /project initial_database
$> devenv MySQL.sln /build RelWithDebInfo /project package

您可以将结果.zip归档安装到您想要的地方。请参阅第2.3.3节,“手动配置”

安装过程的其余部分涉及设置配置文件、创建核心数据库和启动MySQL服务器。请参阅第2.9节,“安装后设置和测试”

Note

初始在MySQL授权表中列出的帐户没有密码。启动服务器后,您应该使用第2.9节,“安装后设置和测试”中的指令来为它们设置密码。