2章安装和升级数据库

目录

2.1一般安装指导
2.1.1 MySQL版本和配电安装
2.1.2如何让MySQL
2.1.3验证包装完整性使用MD5校验或GnuPG
2.1.4安装布局
2.1.5编译器特定的生成特性
2.2安装Unix / Linux使用通用二进制代码MySQL
在微软Windows 2.3安装MySQL
2.3.1 MySQL的安装布局在微软Windows
2.3.2选择安装包
2.3.3 MySQL的Windows安装程序
2.3.4 MySQL的通知
2.3.5安装在微软Windows使用MySQLnoinstallzip档案
2.3.6排除微软Windows MySQL服务器安装
2.3.7 Windows安装后的程序
2.3.8升级MySQL在Windows
2.4安装MySQL在MacOS
2.4.1一般笔记安装MySQL在MacOS
2.4.2安装使用本地包MacOS MySQL
2.4.3安装和使用MySQL启动守护程序
2.4.4安装和使用MySQL偏好窗格
2.5 installing是Linux下MySQL
2.5.1安装MySQL使用yum库Linux MySQL
2.5.2安装MySQL使用MySQL的容易存放Linux
2.5.3安装MySQL使用MySQL版本库的Linux
2.5.4安装MySQL使用Oracle Linux RPM包
2.5.5安装MySQL使用Debian Linux的Oracle
2.5.6部署MySQL在Linux和Docker
2.5.7安装MySQL在Linux从本地软件库
2.5.8安装MySQL在Linux和Juju
2.5.9管理MySQL服务器系统
2.6安装MySQL使用牢不可破的Linux网络(ULN)
2.7安装MySQL在FreeBSD
2.8安装MySQL从源
2.8.1 MySQL源安装布局
2.8.2安装MySQL使用标准源分布
2.8.3安装MySQL使用开发源码树
2.8.4 . MYSQL源-配置选项
2.8.5问题处理编译MySQL
2.8.6 MySQL的配置和第三方工具
2.8.7生成MySQL doxygen文档内容
2.9安装后的设置和测试
2.9.1初始化数据目录
2.9.2启动服务器
2.9.3测试服务器
2.9.4保证初始MySQL账户
自动启动和停止MySQL 2.9.5
2.10升级MySQL或downgrading
2.10.1升级MySQL
参赛人员downgrading MySQL
2.10.3重建或修复表或索引
2.10.4复制MySQL数据库到另一台机器
2.11 Perl安装说明
2.11.1安装Perl在UNIX
2.11.2 ActiveState Perl安装Windows
2.11.3问题使用Perl / DBD接口

本章介绍如何获取和安装MySQL。这个过程包括后来的部分提供的细节。如果你计划到MySQL现有版本升级到更新的版本,而不是安装MySQL的时候,看到2.10.1节,“升级MySQL”,有关程序升级信息,你应该考虑升级前的问题。

如果你在迁移到MySQL从另一个数据库系统感兴趣,看第8,MySQL 8常见问题:迁移”,其中包含有关移民问题的一些常见问题的解答。

MySQL安装一般遵循这里列出的步骤:

  1. 确定MySQL运行和支持你的平台上。

    请注意,并不是所有的平台上运行MySQL是同样适用的,并不是所有的平台上运行MySQL被正式由甲骨文公司支持。有关这些平台是官方支持的信息,参见http://www.mysql.com/support/supportedplatforms/database.html在MySQL的网站

  2. 选择配电安装

    MySQL提供多种版本,最可几分布格式。你可以选择预包装分布包含二进制(预编译程序或源代码)。有疑问时,使用二进制分布。Oracle还提供了对于那些想看到最近的事态发展和测试新的代码MySQL源代码访问。要确定哪个版本,你应该使用类型分布,看2.1.1节,“MySQL版本和配置安装”

  3. 下载你想要安装的分布。

    有关说明,见2.1.2节,“如何让MySQL”。为了验证分布的完整性、使用说明2.1.3节,“验证包装完整性使用MD5校验或GnuPG”

  4. 安装分布

    从一个二进制分发安装MySQL,使用说明书2.2节,“安装MySQL在Unix / Linux使用通用二进制”

    安装MySQL从源分布或从目前的开发源代码树,使用说明书2.8节,从“源”安装MySQL

  5. 执行任何必要的安装后的设置。

    在安装MySQL,看2.9节,“安装后的设置和测试为确保MySQL服务器工作正常的信息。也指的是提供的信息第2.9.4,”保证初始MySQL账户”。本节介绍了如何确保最初的MySQLroot用户帐户,没有密码你将一个直到。该条适用于你是否安装MySQL使用二进制或源分布。

  6. 如果你想运行MySQL基准测试脚本,Perl支持MySQL必须是可用的。看到2.11节,“Perl安装Notes”

安装在不同的平台和环境,MySQL是可在平台基础上的指示:

2.1一般安装指导

紧随其后的部分包含必要的信息来选择、下载,并验证您的分布。在本章后面部分的说明描述了如何安装配置,你选择。二元分布,看说明2.2节,“安装MySQL在Unix / Linux使用通用二进制”或相应的部分为你的平台,如果可以的话。从源代码构建MySQL,使用说明书2.8节,从“源”安装MySQL

2.1.1 MySQL版本和配电安装

MySQL可在多种操作系统和平台。有关这些平台是官方支持的信息,参见http://www.mysql.com/support/supportedplatforms/database.html在MySQL的网站

当准备安装MySQL,决定哪个版本和分布格式(二进制或源)使用。

首先,决定是否要安装开发版或通用性(GA)发布。发展发布最新的功能,但不建议用于生产。GA版本,也被称为生产或稳定的发布意味着生产使用。我们推荐使用最新的GA版本。

命名方案为使用MySQL释放名称由3号和可选的后缀;例如,mysql-8.0.1-dmr。在发布名称编号解释如下:

  • 第一个数字()是主版本号

  • 第二号()是次要版本号。综上所述,主要和次要的数构成的发布序列号。序列号描述稳定的特征集。

  • 三号()在发布系列版本号。这是一个新的bugfix释放增加。在大多数情况下,在一系列的最新版本是最好的选择。

发布名称还可以包括一个后缀来表明释放的稳定水平。发布在一系列进步通过一套后缀说明稳定水平提高。可能的后缀:

  • DMR表示一个开发里程碑版本(DMR)。MySQL开发利用的一个里程碑,每个里程碑模型,介绍了一个小的子集的完整测试功能。从一个里程碑到下一个,功能接口可能改变或功能可能被删除,通过社区成员尝试这些早发布提供反馈。在里程碑版本的功能可能会被认为是生产前的质量。

  • 钢筋混凝土表示一个发布候选(RC)。释放候选人被认为是稳定的,通过MySQL的内部测试。新功能还可以被引入RC版本,但重点转移到修复漏洞稳定更早推出系列内的特征。

  • 一个后缀的情况下表示的一般可用性(GA)或产品发布。GA版本是稳定的,在成功地通过提前释放阶段,被认为是可靠的,无严重的bug,并适用于生产系统。

在一系列从DMR释放发展,其次是RC版本,并最终达到GA释放。

在选择MySQL版本安装,决定你的操作系统安装的分布格式。大多数情况下,一个二进制分布是正确的选择。二元分布在许多平台的本地格式,如Linux或DMG包为OS X分布的RPM包是更通用的格式,如压缩zip档案也可焦油文件在Windows中,您可以使用MySQL的安装程序安装一个二进制分布

在某些情况下,它可能比从源分布安装MySQL:

  • 你想安装在一些明确的定位MySQL。标准二进制分布可以运行在任何安装位置,但是你可能需要更大的灵活性,将MySQL组件在你想要的。

  • 要配置mysqld这可能不包括在标准的二进制分布特征。这里是一个列表,用来确保功能可用性最常见的额外选项:

    更多信息,参见2.8.4”部分,MySQL源配置选项”

  • 要配置mysqld没有,都包含在标准的二进制分布特征。

  • 你想读或修改的C和C++代码,使MySQL。为了这个目的,获得源分布。

  • 源分布包含比二进制分布更多的测试和实例。

2.1.2如何让MySQL

检查我们的下载页面http://dev.mysql.com /下载/关于MySQL的当前版本信息和下载说明。一个完整的MySQL下载镜像站点的最新列表,参见http://dev.mysql.com /下载/ mirrors.html。你也可以找到信息就成为一个MySQL镜像站点和如何报告错误或过时的镜子。

对于基于RPM的Linux平台,使用yum作为自己的包管理系统,MySQL可以安装使用yum库的MySQL。看到第2.5.1,“安装MySQL在Linux上使用MySQL yum仓库”详情

基于Linux平台的Debian,MySQL可以安装使用MySQL的容易存放。看到第2.5.2,“安装MySQL在Linux上使用MySQL apt库”详情

SUSE Linux企业服务器(SLES)平台,MySQL可以安装使用MySQL的版本库。看到2.5.3节“安装MySQL,使用MySQL版本库“Linux详情

获得最新的开发源码,看第2.8.3,“安装MySQL使用开发源码树”

2.1.3验证包装完整性使用MD5校验或GnuPG

下载后安装,适合你的需要,在试图安装它,确保它是完整的和未被篡改。有3意味着完整性检查:

  • MD5 checksums

  • 使用加密的签名GnuPGGNU隐私卫士,

  • RPM包,内置转完整性验证机制

以下各节描述如何使用这些方法。

如果你注意到MD5校验或GPG签名不匹配,先下载相应的软件包再一次,也许从另一个镜像站点。

2.1.3.1核查千年发展目标5

当你下载一个MySQL软件包,你应该确保它的MD5校验和相匹配的一对MySQL的下载页面提供。每个包有一个校验和,可以验证包下载到你。正确的MD5校验和是上市的下载页面上每个MySQL的产品,你会比较对该文件的MD5校验和(产品),你下载。

每个操作系统的安装检查MD5校验提供了自己版本的工具。典型的命令为md5sum,或者它可能被命名为MD5,和一些操作系统不把它所有的。在Linux上,它的一部分角马文本实用程序包,这是一个广泛的平台。你也可以下载源代码www.gnu.org http:/ / / / / textutils软件。如果你有OpenSSL安装,你可以使用命令OpenSSL的MD5package_name相反。一个窗口的实现MD5命令行实用工具可以从http://www.fourmilab.ch/md5/WinMD5Sum是一个图形化的MD5检查工具,可以从www.nullriver.com http:/ / / / / winmd5sum产品指数。我们的微软Windows实例将承担的名字md5.exe

Linux和微软Windows的例子:

shell> md5sum mysql-standard-8.0.14-linux-i686.tar.gz
aaab65abbec64d5e907dcd41b8699945  mysql-standard-8.0.14-linux-i686.tar.gz
内核>md5.exe mysql-installer-community-8.0.14.msiaaab65abbec64d5e907dcd41b8699945 mysql-installer-community-8.0.14.msi

你应该验证结果校验(十六进制数字的字符串)相匹配的一显示在下载页面立即各自的包下面。

笔记

确保验证的校验存档文件(例如,在.zip.tar.gz,或.msi文件)和不包含在里面的档案文件。换句话说,提取其内容之前验证文件。

2.1.3.2签名验证使用GnuPG

验证包的完整性和真实性的另一种方法是使用加密签名。这是比使用更可靠MD5 checksums,但需要更多的工作

我们签了MySQL的下载包保密性卫兵(GNU Privacy Guard)。保密性卫兵是一个开源的替代著名的PGP(PGP)由Phil Zimmermann。大多数Linux发行版船保密性卫兵默认安装。否则,看www.gnupg.org http:/ / /为更多的信息关于保密性卫兵如何获取并安装它

验证特定包的签名,你首先需要获得一份我们公共GPG打造的重点,你可以下载http://pgp.mit.edu/。你想得到关键是命名mysql-build@oss.oracle.com。或者,你可以直接复制粘贴的关键从以下文字:

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.4.5 (GNU/Linux)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=HfUN-----END PGP PUBLIC KEY BLOCK-----

进口建立关键到您的个人公共GPG钥匙圈,用GPG --进口。例如,如果你在文件命名保存的关键mysql_pubkey.asc,导入命令看起来像这样:

内核&#62;gpg --import mysql_pubkey.ascgpg: key 5072E1F5: public key "MySQL Release Engineering<mysql-build@oss.oracle.com>" importedgpg: Total number processed: 1gpg:               imported: 1gpg: no ultimately trusted keys found

你也可以下载重点从公共密钥服务器使用公共密钥ID,5072E1F5

shell> gpg --recv-keys 5072E1F5gpg: requesting key 5072E1F5 from hkp server keys.gnupg.netgpg: key 5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>"1 new user IDgpg: key 5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>"53 new signaturesgpg: no ultimately trusted keys foundgpg: Total number processed: 1gpg:           new user IDs: 1gpg:         new signatures: 53

如果你想导入的关键在你转配置验证RPM安装包,你可以直接导入的关键:

shell> rpm --import mysql_pubkey.asc

如果您遇到问题或需要转的具体信息,参见部分的时候,“签名验证使用RPM”

在你下载并导入公共建设重点,下载您所需的MySQL软件包和相应的签名,也可以从下载页面。签名文件的名字和一个配置文件相同.ascas shown by the examples延伸,in the following表。

表2.1安装源文件和签名文件

文件类型文件名
配置文件mysql-standard-8.0.14-linux-i686.tar.gz
签名文件mysql-standard-8.0.14-linux-i686.tar.gz.asc

确保文件存储在同一目录下,然后运行以下命令来验证配置文件的签名:

shell> gpg --verify package_name.asc

如果下载的软件包是有效的,你会看到一个“签名”相似:

shell> gpg --verify mysql-standard-8.0.14-linux-i686.tar.gz.asc
gpg: Signature made Tue 01 Feb 2011 02:38:30 AM CST using DSA key ID 5072E1F5
gpg: Good signature from "MySQL Release Engineering <mysql-build@oss.oracle.com>"

这个Good signature消息表明文件签名是有效的,相比于我们的网站上列出的签名。但你也可能会看到警告,像这样:

内核&#62;gpg --verify mysql-standard-8.0.14-linux-i686.tar.gz.ascgpg: Signature made Wed 23 Jan 2013 02:25:45 AM PST using DSA key ID 5072E1F5gpg: checking the trustdbgpg: no ultimately trusted keys foundgpg: Good signature from "MySQL Release Engineering <mysql-build@oss.oracle.com>"gpg: WARNING: This key is not certified with a trusted signature!gpg:          There is no indication that the signature belongs to the owner.Primary key fingerprint: A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5

这是正常的,因为他们依赖于你的设置和配置。下面是这些警告的解释:

  • GPG:没有最终信任的关键发现:这意味着特定的关键不是“最终信任”由您或您的网站的信任,这是可以验证文件签名的目的。

  • 警告:这关键是没有一个可信签名认证!没有迹象表明签名属于业主。:这是指你对你的信仰,你拥有我们真正的公共密钥的信任级别。这是一个个人的决定。理想情况下,MySQL的开发者会把你关键在人,但更常见的是,你下载它。是下载篡改?也许不会,但这个决定是你了。建立信任的网站是一个信任他们的方法。

看到GPG文档信息如何与公共密钥的工作。

2.1.3.3签名验证使用gpg4win Windows

这个第2.1.3.2,“签名验证使用GnuPG”节描述如何验证MySQL下载使用GPG。指南也适用于微软Windows,但另一个选择是使用一个GUI工具gpg4win。你可以使用不同的工具,但我们的例子是基于gpg4win,利用其捆绑KleopatraGUI

下载并安装gpg4win,然后装入克列奥帕特拉。对话框应该类似于:

图2.1克列奥帕特拉:初始屏幕

Shows the default Kleopatra screen. The top menu includes "File", "View", "Certificates", "Tools", "Settings", "Window", and "Help.". Underneath the top menu is a horizontal action bar with available buttons to "Import Certificates", "Redisplay", and "Lookup Certificates on Server". Greyed out buttons are "Export Certificates" and "Stop Operation". Underneath is a search box titled "Find". Underneath that are three tabs: "My Certificates", "Trusted Certificates", and "Other Certificates" with the "My Certificates" tab selected. "My Certificates" contains six columns: "Name", "E-Mail", "Valid From", "Valid Until", "Details", and "Key-ID". There are no example values.

下一步,添加MySQL发布工程证书。通过点击文件查找证书服务器。型“MySQL发布工程”进入搜索框然后按搜索

图2.2克列奥帕特拉:查找证书服务器向导:找到一个证书

Shows a search input field titled "Find" with "mysql release engineering" entered. The one result contains the following values: Name=MySQL Release Engineering, E-Mail=mysql-build@oss.oracle.com, Valid From=2003-02-03, Valid Until="", Details=OpenPGP, Fingerprint=5072E1F5, and Key-ID=5072E1F5. Available action buttons are: Search, Select All, Deselect All, Details, Import, and Close.

选择“MySQL发布工程”证书。指纹密钥ID必须是“5072e1f5”,或选择详情确认证书有效期。现在,它导入点击进口。导入对话框将显示,选择可以,这证明现在列下进口证书标签

下一步,配置信任级别的证书。选择我们的证书,然后从主菜单中选择证书更改所有者的信任…。我们建议选择我相信检查是非常准确的我们的证书,否则你可能无法验证签名。选择我相信检查是非常准确的为了使“完全信任”,然后按好啊

图2.3克列奥帕特拉:更改MySQL发布工程信任级别

A list of trust options are displayed, the options include "I don't know (unknown trust)", "I do NOT trust them (never trust)", "I believe checks are casual (marginal trust)", "I believe checks are very accurate (full trust)", and "This is my certificate (ultimate trust)". The "I believe checks are very accurate (full trust)" option is selected.

下一步,验证下载的安装文件。这就需要对打包文件文件和签名。签名文件必须具有相同的名称作为打包文件但有附加.asc延伸,如下面的示例所示表。签名链接到下载页面上每个MySQL产品。你必须创造ASC本文件与签名

表2.2安装和签名的MySQL安装Microsoft Windows文件

文件类型文件名
配置文件mysql-installer-community-8.0.14.msi
签名文件mysql-installer-community-8.0.14.msi.asc

确保文件存储在同一目录下,然后运行以下命令来验证配置文件的签名。拖放的签名(.asc)文件为克列奥帕特拉,或荷载对话框文件解密/验证文件…,然后选择.msiASC文件

图2.4克列奥帕特拉:解密和验证文件对话框

Shows available decrypt and verify options to perform. A MySQL Installer MSI file is used in the example where the .asc file is listed as "Input file" and the .msi file is listed under "Signed Data". The "Input file is detached signature" option's checkbox is checked. A "Input file is an archive; unpack with:" option is shown but greyed out. Below is the "Create all output files in a single folder" option checkbox that is checked, and an "Output folder" input field with "C:/docs" entered as an example. The available buttons are "Back" (greyed out), "Decrypt/Verify", and "Cancel."

点击解密/验证检查文件。最常见的两种结果会像以下,虽然黄色预警看起来有问题,以下就意味着文件的检查与成功擦肩而过。你现在可以运行这个安装程序。

图2克列奥帕特拉:解密和验证的结果都operationscompleted对话框:

Yellow portion of the results window shows "Not enough information to check signature validity" and "The validity of the signature cannot be verified." Also shown is key information, such as the KeyID and email address, the key's sign on date, and also displays the name of the ASC file..

看到一个红色的“签名是坏的”错误意味着文件无效。不如果你看到这个错误执行MSI文件。

图2.6克列奥帕特拉:解密和验证的结果对话框:坏

Red portion of the results window shows "Invalid signature", "Signed with unknown certificate", "The signature is bad", and also displays the name of the ASC file.

这个第2.1.3.2,“签名验证使用GnuPG”部分解释了为什么你可能不会看到一个绿色的Good signature结果

2.1.3.4签名验证使用rpm

RPM包,没有单独的签名。RPM包有一个内置的GPG签名和MD5校验。可以通过运行以下命令来验证一个包:

shell> rpm --checksig package_name.rpm

例子:

shell> rpm --checksig MySQL-server-8.0.14-0.linux_glibc2.5.i386.rpm
MySQL-server-8.0.14-0.linux_glibc2.5.i386.rpm: md5 gpg OK
笔记

如果你使用的是4.1转,并抱怨(GPG) NOT OK (MISSING KEYS: GPG#5072e1f5),即使你有进口的MySQL的公共建设关键到自己的GPG钥匙圈,你需要进口的关键在转钥匙圈第一。转4.1不再使用你个人的GPG钥匙圈(或GPG本身)。相反,转速保持一个单独的钥匙圈是因为它是一个系统的广泛应用和用户的GPG公共密匙是一个特定用户的文件。导入mysql公钥到转钥匙圈,先获得密钥,然后使用转--进口进口的关键。例如:

shell> gpg --export -a 5072e1f5 > 5072e1f5.asc
shell> rpm --import 5072e1f5.asc

另外,还支持加载密钥直接从一个URL,您可以使用本手册页:

shell> rpm --import http://dev.mysql.com/doc/refman/8.0/en/checking-gpg-signature.html

如果你需要获得MySQL的公钥,看第2.1.3.2,“签名验证使用GnuPG”

2.1.4安装布局

安装布置不同为不同的安装类型(例如,本地包,二进制形式,和源的形式),这可能会导致混乱,管理不同的系统或使用不同的安装源。个人布局在相应的安装类型或平台章,描述如下。请注意,除了Oracle可能与这些布局的厂商设备布局。

2.1.5编译器特定的生成特性

在某些情况下,编译器用来建立MySQL的影响可用的功能。本节中的说明适用于二进制分布由甲骨文公司提供或你自己从源代码编译。

ICC(Intel builds编译)

一个服务器搭建ICC具有这些特征的:

  • SSL的支持是不包括。

2.2安装Unix / Linux使用通用二进制代码MySQL

Oracle提供了一套MySQL的二进制分布。这些包括通用的二进制分布的形式压缩焦油文件(文件与.tar.gz扩展)多个平台,并在选定的平台特定的平台封装格式的二进制文件。

这部分包含MySQL的安装从压缩焦油文件的二进制分布在Unix/Linux平台。其他特定于平台的二进制软件包格式,本手册中看到其他平台的特定部分。例如,Windows的分布,看2.3节,“安装在微软Windows“MySQL。看到2.1.2节,“如何让MySQL”如何在不同的业态分布获得MySQL。

MySQL的压缩焦油文件的二进制分布形式的名称mysql-VERSION-OS.tar.gz,在那里VERSION是一个数字(例如,8.0.14),和OS指示型操作系统,分配的目的是(例如,pc-linux-i686winx64

警告
  • 如果你以前安装的mysql使用您的操作系统的本地软件包管理系统,如百胜或倾向,你可能会遇到问题,使用一个本地的二进制安装。确保你的以前的MySQL安装已完全删除(使用你的软件包管理系统),和任何其他文件,如数据文件的旧版本,也已被删除。你也应该检查配置文件等/etc/my.cnf/etc/MySQL目录和删除它们

    有关官员MySQL包取代第三方软件包的信息,参阅相关恰当的引导百胜餐饮指南

  • MySQL的依赖libaio图书馆数据目录初始化和随后的服务器启动的步骤将这个库不在本地安装失败。如果有必要,使用适当的软件包管理器安装。例如,在百胜系统:

    内核&#62;yum search libaio# infoshell &#62;搜索yum install libaio#安装图书馆

    或者,在APT系统:

    shell> apt-cache search libaio # search for info
    shell> apt-get install libaio1 # install library
    

安装一个压缩焦油文件的二进制分布,把它在你选择安装位置(通常是/usr/local/mysql)。这将创建以下目录。

表2.3 MySQL的安装布局通用Unix / Linux二进制包

目录目录contents of
binmysqld服务器、客户端和实用程序
docsMySQL手册中的信息格式
manUNIX手册页
include包括(标题)文件
lib图书馆
share错误消息、字典、和SQL数据库安装
support-files其他支持文件

调试版本的mysqld二是可用的mysqld调试。编写你自己的调试从源分布的MySQL版本,使用适当的配置选项来启用调试支持。看到2.8节,从“源”安装MySQL

安装和使用MySQL二进制分布,命令序列如下:

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
笔记

此过程假定您已root(管理员)访问你的系统。或者,你可以在每一个命令的使用sudo(或Linux)pfexec(Solaris)命令。

这个mysql-files目录提供了一个方便的位置使用的价值_ _私人文件的安全系统变量,其进出口业务的限制到一个特定的目录。看到第5.1.7,服务器“系统变量”

安装一个二进制分布前面的描述更详细的版本如下。

创建一个MySQL的用户和组

如果你的系统没有一个用户和组使用运行mysqld,你可能需要创建它们。下面的命令添加mysql组和MySQL用户你可能想给用户和组的其他东西代替mysql。如果是这样的话,在下面的指令替代相应的名称。语法因为添加组可能稍微对Unix / Linux不同版本不同,或他们可能有不同的名称,如新增用户新增群组

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
笔记

因为用户只需要登录所有权,没有目的的因为命令使用-rS /斌/假选择创建一个用户,不需要你的服务器主机的登录权限。如果你忽略这些选项因为不支持他们

获得和解压的分布

选择目录下你想打开和更改位置到它的分布。这里的例子将分布在/usr/local。的指示,因此,假定您有权限创建文件和目录/usr/local。如果该目录是受保护的,你必须执行安装root

内核&#62;cd /usr/local

使用说明中获取配置文件2.1.2节,“如何让MySQL”。对于一个给定的发布,为所有平台的二进制分布是建立在相同的MySQL源分布。

打开分布,造成安装目录。焦油可以解压缩并打开分布有z选择支持:

内核&#62;tar zxvf /path/to/mysql-VERSION-OS.tar.gz

这个焦油命令创建一个目录mysql-VERSION-OS

从压缩安装MySQL焦油文件的二进制分布,你的系统必须有GNUgunzip解压缩并合理分配焦油打开它。如果你的焦油程序支持z选项,它可以压缩和解压文件。

GNU焦油是已知的工作。标准焦油有一些操作系统无法打开长文件名在MySQL的分布。你应该下载并安装GNU焦油,或者如果可以的话,使用预装版本的GNU tar。通常这是可用的gnutargtar,或焦油在GNU和自由软件的目录,如/usr/sfw/bin/usr/local/bin。GNU焦油可从www.gnu.org http:/ / / /软件/焦油

如果你的焦油没有z选项的支持,用解压缩打开的分布焦油打开它。更换前焦油用下面的命令来替代解压缩和提取分配命令:

shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

下一步,创建一个符号链接来创建安装目录焦油

shell> ln -s full-path-to-mysql-VERSION-OS mysql

这个ln指挥使一个符号链接到安装目录。这使您可以更容易为/usr/local MySQL。为了避免总是型客户端程序的路径名当你使用MySQL,你可以添加/usr/local/mysql/bin目录到你的路径变量:

shell> export PATH=$PATH:/usr/local/mysql/bin

安装程序将安装后

安装过程的其余部分包括设置分配所有权和访问权限,初始化数据目录,启动MySQL服务器,和设置配置文件。有关说明,见2.9节,“安装后的设置和测试

在微软Windows 2.3安装MySQL

重要

MySQL 8的服务器需要微软Visual C 2015 Redistributable Package运行于Windows平台。用户应确保包已在服务器上安装系统安装。包是可用的微软下载中心。此外,MySQL调试二进制文件需要Visual Studio 2015安装。

MySQL是适用于微软Windows,为32位和64位版本。支持Windows平台的信息,参见http://www.mysql.com/support/supportedplatforms/database.html

有在微软Windows安装MySQL的不同方法。

MySQL的安装方法

最推荐的方法是下载MySQL的安装程序(Windows),让它安装和配置所有的MySQL的产品在您的系统。这里是如何:

  1. MySQL安装程序下载dev.mysql.com http:/ / / /下载/安装并且执行它

    笔记

    不像标准的MySQL安装程序,较小的“网络社区”版不捆绑任何MySQL的应用却会下载MySQL的产品你选择安装。

  2. 选择合适的安装类型为你的系统。通常你会选择开发商违约安装MySQL服务器和MySQL工具MySQL开发相关的,有用的工具如MySQL Workbench。或者,选择自定义安装类型手动选择您所需的MySQL的产品。

    笔记

    MySQL服务器的多个版本也可以在一个系统中存在。你可以选择一个或多个版本。

  3. 完成安装过程的说明。这将安装多个MySQL产品和启动MySQL服务器。

MySQL是现在安装。如果你配置MySQL数据库作为一种服务,那么Windows将自动启动MySQL服务器每次你重启你的系统。

笔记

你可能还安装了其他有用的MySQL产品如MySQL Workbench和MySQL通知你的系统。考虑负荷第三十章,MySQL Workbench检查你的新的MySQL服务器的连接,并第2.3.4节,“MySQL的通知”查看连接状态。默认情况下,这两个程序自动启动后安装MySQL。

这个过程也安装MySQL安装应用程序在您的系统,然后你可以使用MySQL安装程序升级或重新配置您的MySQL的产品。

安装额外的信息

这是有可能运行MySQL作为一个标准的应用程序或Windows服务。通过使用服务,您可以监视和控制服务器的操作通过标准的Windows服务管理工具。有关更多信息,参见第2.3.5.8,“启动MySQL作为Windows服务”

一般来说,你应该使用具有管理员权限的帐号Windows安装MySQL。否则,你可能会遇到的问题与某些操作,如编辑PATH环境变量或访问服务控制管理器。安装时,MySQL不需要使用具有管理员权限的用户执行。

对MySQL在Windows平台上使用的限制名单,看第c.10.5,“Windows平台的限制”

除了MySQL服务器软件包,你可能需要额外的元件,使用mysql程序和开发环境。这些措施包括,但不限于:

  • 要用ODBC连接MySQL服务器,你必须有一个连接器/ ODBC驱动程序。更多信息,包括安装和配置说明,见MySQL连接器/ ODBC开发指南

    笔记

    MySQL的安装程序将安装和配置ODBC连接器/为你。

  • 使用MySQL服务器和.NET应用程序,你必须连接网络驱动器。更多信息,包括安装和配置说明,见MySQL连接器/网络开发者指南

    笔记

    MySQL的安装程序将安装和配置MySQL连接器/网为你。

Windows MySQL分布可以下载http://dev.mysql.com /下载/。看到2.1.2节,“如何让MySQL”

MySQL的Windows多业态分布是可用的,详细的在这里。一般来说,你应该使用MySQL的安装程序。它包含更多的功能比老的MSI和MySQL的产品,比使用压缩文件更简单,你不需要额外的工具来获得MySQL的启动和运行。MySQL安装程序自动安装MySQL服务器和额外的MySQL的产品,创建一个选项文件,启动服务器,并允许你创建的默认用户帐户。在选择包的更多信息,参见第2.3.2节,“选择安装包”

  • MySQL安装分布包括MySQL服务器和额外的MySQL产品包括MySQL Workbench,MySQL和MySQL的通知,Excel。MySQL的安装程序也可以用来升级这些产品在未来。

    关于安装使用MySQL安装MySQL的说明,见2.3.3节,“MySQL的Windows安装程序”

  • 标准的离散分布(打包成一个压缩文件)包含了所有必要的文件,你解压到您选择的位置。这个包中包含的所有文件的完整的Windows MSI安装包,但不包括安装程序。

    在使用压缩文件安装MySQL的说明,见第2.3.5”安装在微软Windows使用MySQLnoinstallzip档案”

  • 源分布格式包含使用Visual Studio编译系统构建可执行文件的所有代码和支持文件。

    从源在Windows建立MySQL的说明,见2.8节,从“源”安装MySQL

MySQL在Windows的考虑

  • 大表支持

    如果你需要表尺寸大于4GB,NTFS文件系统的安装或更新MySQL。不要忘记使用MAX_ROWSavg_row_length当你创建表。看到第13.1.18,“创建表的语法

  • MySQL和病毒检测软件

    病毒扫描软件如诺顿/赛门铁克反病毒包含MySQL数据和临时表的目录能引起的问题,无论是在MySQL的性能和病毒扫描软件弄错文件的内容包含垃圾邮件。这是由于指纹识别机制的病毒扫描软件的使用,并在MySQL迅速更新不同的文件,可以被确定为一个潜在的安全风险。

    安装MySQL服务器后,建议您禁用病毒扫描在主目录(datadir)用来存储你的MySQL数据表。通常有一个系统内置的病毒扫描软件使特定的目录被忽视。

    此外,默认情况下,MySQL在标准Windows临时目录中创建临时文件。为了防止临时文件也被扫描,配置MySQL临时文件的临时目录,将该目录添加到排除列表中的病毒扫描。为此,增加了一个配置选项tmpdir参数到你my.ini配置文件。有关更多信息,参见第2.3.5.2,“创造一个选项文件”

2.3.1 MySQL的安装布局在微软Windows

MySQL在Windows 8中,默认的安装目录是C:\Program Files\MySQL\MySQL Server 8.0对于MySQL的安装程序进行安装。如果你使用ZIP文件的方法安装MySQL,你可以选择安装在C:\ MySQL。然而,该子目录的布局是一样的。

所有的文件都位于这个父目录,使用下表中显示的结构。

表2.4 MySQL安装微软Windows默认布局

目录目录contents of笔记
binmysqld服务器、客户端和实用程序
%PROGRAMDATA%\MySQL\MySQL Server 8.0\日志文件,数据库Windows系统变量%PROGRAMDATA%默认值为C:\下
docs发布的文档MySQL的安装程序,使用Modify选择此选项文件夹操作。
include包括(标题)文件
lib图书馆
share其他支持文件,包括错误信息,字符集文件,示例配置文件、SQL数据库安装

2.3.2选择安装包

MySQL 8,有多个安装包格式选择MySQL在Windows安装时。本节中描述的包格式:

程序数据库(PDB)文件(文件扩展名pdb)在有问题的情况下调试你的MySQL安装提供信息。这些文件包括在zip文件分布(但不是微星分布)的MySQL。

MySQL的安装程序

这个包有一个类似的文件名mysql-installer-community-8.0.14.0.msiMysql-Labiter-Commil - 8.0.14.MSI,并利用其他自动安装MySQL服务器和其他产品。MySQL的安装程序将下载和更新应用到自身,为每个已安装的产品。它还配置安装MySQL服务器(包括一个沙箱测试设置和MySQL InnoDB集群路由器)。MySQL的安装建议大多数用户。

MySQL的安装程序可以安装和管理(添加、修改、升级和删除)其他许多MySQL的产品,包括:

  • 应用–MySQL Workbench,MySQL的Visual Studio,MySQL时,MySQL的Excel,MySQL工具,MySQL的内核,MySQL Router

  • 连接器–MySQL连接器/ C,MySQL连接器/ C,MySQL连接器/网、连接器/ ODBC,MySQL连接器/ Python,MySQL连接器/ J,MySQL连接器/ Node.jss

  • 文件–MySQL手册(PDF格式),样品和实例

MySQL安装程序运行在所有MySQL支持的Windows版本(见http://www.mysql.com/support/supportedplatforms/database.html

笔记

因为MySQL的安装是不是微软Windows本地组件依赖于.NET,它不会工作在最小的安装选项,如服务器核心版本的Windows服务器。

对于如何安装MySQL使用MySQL的安装程序,看2.3.3节,“MySQL的Windows安装程序”

MySQL noinstall zip档案

这些套件包含完整的安装包中找到的文件,用GUI的例外。此格式不包括自动安装,必须手动安装和配置。

这个noinstallzip档案是分裂成两个独立的压缩文件。主要包被命名为MySQL服务器VERSION-winx64.zip64点,MySQL服务器VERSION-win32.zip32位。这包含了需要使用MySQL在你的系统的组成。可选的MySQL的测试套件,MySQL基准套件,调试二进制文件/信息组件(包括PDB文件)是在一个单独的压缩文件命名MySQL服务器VERSION-winx64-debug-test.zip64点,MySQL服务器VERSION-win32-debug-test.zip32位

如果你选择安装noinstallzip档案,看第2.3.5”安装在微软Windows使用MySQLnoinstallzip档案”

MySQL的泊坞窗图像

在Windows平台上利用Oracle提供的MySQL的泊坞窗图像信息,看第2.5.6.3,配置MySQL在Windows和其它非Linux平台与Docker”

警告

Oracle提供的MySQL的泊坞窗图像是专门为Linux平台的建立。不支持其他平台,用户运行MySQL的泊坞窗图像从Oracle对他们做他们自己承担风险。

2.3.3 MySQL的Windows安装程序

MySQL的安装程序是一个独立的应用程序设计,易于安装和管理MySQL的产品运行在微软Windows的复杂性。它支持以下MySQL的产品:

  • MySQL服务器

    MySQL的安装程序可以安装和管理多个独立的MySQL服务器实例在同一台主机同时。例如,MySQL的安装程序,可以安装、配置和升级一个单独的MySQL 5.6,例如MySQL 5.7和MySQL 8在同一个主机。MySQL的安装程序不允许服务器升级的主要和次要版本号之间,但不允许升级内释放系列(如5.7.18到5.7.19)。

    一个主机不能有社区和商业版本的MySQL服务器安装。

  • MySQL的应用

    MySQL Workbench,mysql,mysql的路由器,Visual Studio的MySQL,MySQL的Excel,MySQL的通知,和MySQL事业。

  • MySQL连接器

    MySQL连接器/净,MySQL连接器/ Python,MySQL连接器/ Node.jss MySQL连接器/ ODBC,MySQL连接器/ J,MySQL连接器/ C,和MySQL连接器/ C。

  • 文件和样品

    MySQL参考手册(版本)PDF格式和MySQL数据库样本(版本)。

安装要求

MySQL的安装程序需要微软.NET Framework 4.5.2或后。如果这个版本是不是安装在主机上,你可以下载它通过访问微软网站

MySQL安装社区版

下载本版dev.mysql.com http:/ / / /下载/安装安装Windows所有MySQL社区版产品。选择下列一个MySQL安装程序包的选项:

  • 网页MySQL的安装和配置文件只包含。Web包只下载MySQL的产品选择要安装的,但它需要为每个下载Internet连接。该文件的大小约为2MB;文件的名称形式mysql-installer-community-web-VERSION.N.msi哪里版本是MySQL服务器版本号如时N是包数,从0开始

  • 全部束所有Windows MySQL的产品(包括MySQL服务器)。文件大小超过300 MB,和它的名字一样具有形式mysql-installer-community-VERSION.N.msi哪里版本是MySQL服务器的版本号,如8和N是包数,从0开始

MySQL安装商业版

下载本版edelivery.oracle.com https:///安装Windows所有MySQL产品的商业版。商业版包括在社会版的所有产品,也包括以下产品:

  • 工作台硒/ EE

  • MySQL企业备份

  • MySQL企业防火墙

本版集成了你我的支持(MOS)帐户。知识库的内容和补丁,看我的支持

2.3.3验证2.3.3 validation 2.3.3.1 MySQL安装初始设置

当你下载的MySQL安装的第一时间,一个安装向导将引导您完成初始安装MySQL的产品。如下面的图所示,在初始安装是整个过程的一个一次性的活动。MySQL的安装程序检测到现有的MySQL的产品安装在主机的初始安装过程中,将它们添加到产品列表进行管理。

图2.7 MySQL安装过程概述

MySQL Installer process. Non-repeating steps: download MySQL Installer; perform the initial setup. Repeating steps: install products (download products, run MSI files, configuration, and install complete); manage products and update the MySQL Installer catalog.

MySQL安装程序提取配置文件(稍后介绍)在初始设置为主机的硬盘。虽然MySQL的安装程序是一个32位应用程序,它可以安装32位和64位的二进制文件。

初始设置,添加一个链接,在开始菜单MySQL群组点击开始所有的程序MySQLMySQL的安装程序打开MySQL的安装程序。

MySQL安装许可和支持认证

MySQL安装程序要求您之前它将安装新的MySQL软件包接受许可协议。你接受协议条款后,您可以添加、更新、重构,并删除所有的MySQL安装版下载提供的产品和功能。

对于商业版,进入你我的支持(MOS)证书是可选的安装时捆绑MySQL的产品,但您的凭据需要选择分拆MySQL,MySQL安装时必须下载产品。绑定产品的任何文件,你下载的初始设置后,使用MySQL的安装程序。您的凭据必须用户名和密码,您有访问网站的支持Oracle注册匹配。

选择安装类型

在初始设置,提示您选择MySQL的产品被安装在主机。一种替代的方法是使用一个预先设置的类型匹配您的安装要求。默认情况下,GA和预发布的产品中包含的下载和安装开发商违约客户只,和全部安装类型。选择只有安装了GA的产品选项来限制设置为包括GA的产品只有在使用这些设置类型产品。

选择以下设置类型决定了初始安装,不限制你的能力来安装或更新Windows MySQL产品后:

  • 开发商违约:安装以下,MySQL称赞应用开发的产品:

  • 服务器只:只安装MySQL服务器。这种安装类型安装通用性(GA)或开发发布服务器时选择MySQL安装程序下载。它使用默认的安装路径和数据。

  • 客户只:只安装最新的MySQL应用程序和MySQL连接器。这种安装类型是相似的Developer Default型,但它不包括MySQL服务器或客户端程序通常捆绑服务器,如MySQLmysqladmin

  • 全部:安装所有可用的MySQL的产品。

  • 自定义自定义安装类型可以过滤和选择单独的MySQL产品从MySQL安装目录

    使用Custom安装类型安装:

    • 产品或产品版本,是不是可以从通常的下载位置。该目录包含所有产品的发布,包括之间的预发布其他版本(或开发)和GA.

    • 使用另一个安装路径,数据路径的MySQL服务器实例,或两者。有关如何调整的路径指示,看第2.3.3.2.3,”设置MySQL安装服务器替代路径”

    • 两个或两个以上的MySQL服务器的版本在同一台主机在同一时间(例如,5.6,5.7,8)。

    • 一个产品并没有提供一个预先安装类型特征的特定组合。例如,你可以安装一个单一的产品,如MySQL Workbench,而不是安装的Windows客户端应用程序。

路径冲突

当默认安装或数据文件夹(由MySQL服务器需要)的产品应安装在主机已经存在,向导显示路径冲突步确定每个冲突和使你采取行动以避免现有的文件夹中的文件覆盖新安装。你看到这一步的初始设置,只有当MySQL安装检测冲突。

解决冲突的路径,请执行下列操作之一:

  • 选择一个产品从列表中显示冲突选项。一个警告标志指示路径冲突。使用浏览按钮选择一个新的路径,然后单击下一个

  • 点击后退选择不同的安装类型或产品版本,如适用。这个Custom安装类型可以选择单个产品版本。

  • 点击下一个忽略冲突和改写现有的文件夹中的文件。

  • 删除现有的产品。点击取消停止初始设置和关闭MySQL的安装程序。开放的MySQL安装程序再从开始菜单中删除已安装的产品从主机使用从仪表板上的删除操作。

检查要求

MySQL的安装程序中使用的条目package-rules.xml文件以确定每种产品的必备的软件安装在主机上。当要求检查失败,MySQL安装程序显示检查要求步帮你更新主机。下图的标识和描述这一步的关键领域。

图2.8检查要求

MySQL Installer check-requirements screen before any requirements are downloaded and installed.

检查要求要素描述
  1. 显示当前步骤的初始设置。此列表中的步骤可能会略有不同的主机上已经安装的产品变化,前提软件的可用性,并将安装在主机产品。

  2. 列出所有待安装要求的产品和显示状态如下:

    • 在一个空白的空间地位柱意味着MySQL的安装可以尝试下载和安装所需的软件。

    • 这个词手动地位柱意味着你必须手动满足要求。选择每个产品列表中看到它的详细要求。

  3. 在详细描述需求协助您每个手动解决。如果可能的话,提供一个下载网址。在您下载并安装所需的软件,请单击检查验证的要求已经得到满足。

  4. 提供以下操作进行设置:

    • 后退–返回上一步。这个动作可以让你选择不同的安装类型。

    • 执行–有MySQL安装程序试图下载所有项目没有手动状态安装所需软件。手册的要求是解决你和验证,通过点击检查

    • 下一个–不执行请求自动申请的要求,进行安装不包括失败的检查步骤的产品要求。

    • 取消–停止MySQL产品的安装。因为MySQL的安装程序已经安装,初始设置,重新开始当你打开MySQL安装程序从开始菜单并单击添加从仪表板。用于描述可用的管理操作,看产品目录

MySQL的安装配置文件

所有的MySQL安装文件位于C:\Program Files (x86)C:\下文件夹下表描述了文件和文件夹定义MySQL安装程序作为一个独立的应用程序。

笔记

安装MySQL的产品既不改变或删除当您更新或卸载MySQL安装程序。

表2.5 MySQL的安装配置文件

文件或文件夹描述文件夹层次结构
MySQL Installer for Windows这个文件夹包含了所有运行MySQL安装所需要的文件MysqleminerConseConsolE,一个具有类似功能的命令行程序。C:\Program Files (x86)
Templates这个Templates文件夹为每个版本的MySQL服务器的一个文件。模板文件包含的键和值的计算公式的一些动态。C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
package-rules.xml

此文件包含每一个产品都要安装的先决条件。

C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
produts.xml

这个products文件(或目录)包含一个列表的产品可供下载。

C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
Product Cache

这个Product Cache文件夹中包含的所有独立的MSI文件捆绑全包或下载之后。

C:\ProgramData\MySQL\MySQL Installer for Windows

2.3.3.2安装MySQL的安装流程

MySQL的安装程序提供了一个类似向导的工具来安装和配置Windows MySQL的新产品。不同的初始设置,它只运行一次,MySQL安装程序调用向导每次下载或安装一个新的产品。首次安装,初始设置的步骤直接进入安装步骤。

笔记

全权限授予用户执行MySQL安装所有生成的文件,如my.ini。这不适用于文件和目录的具体产品,如MySQL服务器数据目录下% %所拥有的SYSTEM

产品安装和配置的主机上遵循的一般模式,可以在不同的步骤需要你输入。MySQL安装程序加载所有选定的产品一起使用以下流程:

  • 产品下载。如果你安装了完整的(非网络)MySQL的安装包,所有MSI文件加载到Product Cache在初始设置文件夹并不是重新下载。否则,每个产品的变化状况下载Downloaded

  • 产品安装。的地位每个产品列表中的变化Ready to Install安装Complete。在这个过程中,单击显示详细信息查看安装的行动

    如果你取消安装,在这一点上,安装的产品,但是服务器(如果已安装)尚未配置。重新启动服务器的配置,打开mysql安装程序从开始菜单并单击重新配置链接到仪表板中的相应的服务器。

  • 产品配置。此步骤适用于MySQL服务器和样品在大多数情况下。列表中的每个项目的状态表示,Ready to Configure。点击下一个开始列表中的所有项目的逐步配置。

    配置选项在这一步取决于哪个版本的你选择要安装的数据库。在安装完成后,您可以重新配置MySQL服务器的MySQL安装仪表板。

  • 安装竞争。这一步完成安装,可以启动一些应用程序时,安装完成。

2.3.3.2.1组复制

你有两个选择来实现高可用性解决方案当你安装MySQL 5.7.17或更高(64位)使用MySQL的安装程序:

  • 独立的MySQL服务器/经典MySQL复制(默认)

    选择这个选项来开始一个独立的MySQL服务器的初始配置。你可以用经典的MySQL复制手动或使用mysql 1.0.9或更高配置生产InnoDB集群配置多台服务器。

    笔记

    现有实例的端口(3310~3390)设置一个沙箱InnoDB集群创建手动使用mysql,将删除MySQL安装如果您以后运行沙盒测试设置innodb集群。

    为说明服务器配置选项,适用于Windows的一个独立的MySQL服务器,看第2.3.3.2.2,“MySQL安装服务器配置”

  • 沙盒InnoDB集群测试设置(仅用于测试)

    选择此选项来创建和配置本地测试沙盒InnoDB集群实例。你可以配置沙盒InnoDB集群有三,五,七,或九的MySQL服务器实例。使用重新配置快速行动在MySQL安装工具栏调整在InnoDB群集实例的数量配置完成后。

    如下面的图所示,这一步要求你输入密码的MySQL root帐户。密码强度评估当你重打。

    图2.9沙盒InnoDB集群测试设置

    Content is described in the surrounding text.

沙盒InnoDB集群,命名sandboxCluster默认情况下,可在选定的端口。配置执行后,单击概要选项卡以查看特定的端口,适用于你的集群。沙盒InnoDB群集配置条目存储在installer_config.xml文件

你可以使用MySQL的安装程序来安装mysql 1.0.9或后,如果未安装。mysql可以管理整个沙箱实例。在端口3310上的mysql连接,执行以下命令:

shell> mysqlsh root@localhost:3310

MySQL安装程序还提供了一个向导配置MySQL的路由器连接到测试InnoDB集群,在这一步中创建的。配置的详细信息,参见MySQL的路由器配置。要了解更多关于MySQL的路由器操作,看MySQL InnoDB分簇路由

2.3.3.2.2服务器配置MySQL的安装程序

MySQL安装程序处理MySQL服务器的初始配置。例如:

  • 它创建的配置文件(my.ini)是用来配置MySQL服务器。的值写入这个文件是由你选择在安装过程中使影响。一些定义宿主依赖性。例如,query_cache如果主机有少于三的核心功能。

    笔记

    查询缓存中不推荐使用MySQL 5.7和MySQL 8删除(后来)。

  • 默认情况下,添加为MySQL服务器Windows服务。

  • 提供了默认的安装路径和数据的MySQL服务器。有关如何更改默认路径,看第2.3.3.2.3,”设置MySQL安装服务器替代路径”

  • 它还可以创建用户帐户和配置MySQL服务器的权限,基于一般的角色,如数据库管理员、数据库设计、管理和备份。它可以创建一个Windows用户命名MysqlSys具有有限的权限,然后运行MySQL服务器。

    用户也可以添加和配置MySQL Workbench。

  • 检查显示高级选项使更多的日志记录选项要设置。这包括定义自定义错误日志,日志文件路径一般,慢查询日志(包括秒配置它需要执行一个查询),和二进制日志。

在配置过程中,单击下一个继续下一步后退返回到上一步。点击执行在最后一步应用服务器配置。

以下各节描述服务器配置选项,适用于Windows的MySQL服务器。你安装的服务器版本将确定哪些步骤和选项,您可以配置。配置MySQL服务器可以包括以下部分或全部步骤:

式和网络
  • 服务器配置类型

    选择MySQL服务器配置类型,描述你的设置。此设置定义的系统资源(内存),将被分配到你的MySQL服务器实例。

    • 发展:机器将举办很多其他的应用,通常这是你的个人工作站。此选项配置MySQL内存使用量最少的。

    • 服务器:其他几个应用程序将运行在本机,如Web服务器。此选项配置MySQL使用存储介质的量。

    • 献身的:一个致力于运行MySQL服务器。因为没有其他的应用程序将运行在这个服务器,如Web服务器,这个选项配置MySQL使用可用内存的大部分。

  • 连接

    连接选项控制如何MySQL的连接了。选项包括:

    • TCP / IP:你可以使TCP / IP网络在这里另有只允许本地主机连接。同时也确定了港口(用经典的MySQL),X协议端口(MySQL作为文件存储),以及是否为网络访问打开防火墙端口。

      重要

      MySQL 5.7.12 MySQL 8.0.4服务器配置,X协议端口分别设置在插件和扩展的步骤

      如果端口号是在使用已经,你会看到信息图标()旁边的默认值和下一个被禁用,直到你提供了一个新的端口号。

    • 命名管道定义:使管道名称,类似于使用--enable-named-pipe选项

    • 共享内存:使然后定义记忆的名字,类似于使用--shared-memory选项

  • 高级配置

    检查显示高级选项设置自定义的日志记录和在后续步骤中的高级选项。日志记录选项步骤可以定义自定义文件路径错误日志,一般日志,慢查询日志(包括秒配置它需要执行一个查询),和二进制日志。高级选项的步骤使您能够设置唯一的服务器ID时所需要的二进制日志复制拓扑中启用。

  • MySQL企业防火墙(商业版只)

    这个使企业防火墙复选框默认被选中。后的安装说明,看第6.5.6,MySQL企业防火墙”

认证方法

这个认证方法步骤只在安装或升级MySQL 8.0.4以上可见。介绍了服务器端的身份验证选项之间的选择。MySQL的用户帐户,你在下一步创建将使用在这一步你选择身份验证方法。

MySQL 8连接器和社区驱动使用libmysqlclient8现在支持mysql_native_password默认身份验证插件。然而,如果您无法更新您的客户端和应用程序支持这一新的身份验证方法,你可以配置MySQL服务器使用mysql_native_password传统的身份认证。关于这个变化的影响的更多信息,参见caching_sha2_password作为首选的身份验证插件

如果你安装或升级到MySQL 8.0.4或更高,选择以下一种认证方法:

  • 使用强密码加密认证(推荐)

    MySQL 8的支持的基础上改进的新的认证,以更强的SHA256密码的方法。建议所有新的MySQL服务器安装使用此方法前进。

    重要

    这个caching_sha2_password在服务器认证插件需要的连接器和客户端的新版本,并添加新的MySQL 8的默认身份验证支持。

  • 使用传统的认证方法(保留MySQL 5。X兼容)

    使用旧的MySQL 5。x的遗产认证方法应该只有在下列情况下考虑:

    • 应用程序无法更新为使用MySQL 5.0连接器和驱动程序。

    • 现有的应用程序的编译是不可行的。

    • 一个新的,特定语言的连接器或驱动程序尚不可用。

帐号和角色
  • root帐户密码

    分配一个root密码是必需的,你将要执行其他操作时,MySQL的安装程序。密码强度评估当你重复密码盒内装有。关于密码的要求或状况的描述性信息,将鼠标指针移动到信息图标()当它出现的时候

  • MySQL的用户帐户

    或者,您可以创建预定义的用户角色额外的MySQL用户帐户。每个预定义的角色,如数据库管理、配置自己的特权。例如,数据库管理员的角色比DB角色设计者更多的特权。点击的作用一个描述每个角色的下拉列表。

    笔记

    如果安装MySQL服务器,然后你还必须输入当前密码。

Windows服务

在Windows平台上,MySQL服务器可以运行一个服务由操作系统管理和配置启动Windows时自动启动。或者,您可以配置MySQL服务器运行一个可执行程序,需要手动配置。

  • 配置MySQL服务器作为Windows服务(默认选项。)

    当默认的配置选项,您也可以选择以下:

    • 在系统启动时启动MySQL服务器

      当选择(默认),该服务的启动类型设置为自动;否则,启动类型设置为手动。

    • 运行Windows服务

      什么时候标准的系统帐户选择(默认),服务登录网络服务。

      这个自定义用户选择要登录到微软Windows服务的特权。这个下一个按钮将被禁用,直到该用户配置权限。

      自定义用户配置在Windows开始菜单中搜索“本地安全策略”。在“本地安全策略”窗口中,选择地方政策用户权限分配,然后作为服务登录打开属性对话框。点击添加用户或组添加自定义的用户,然后单击好啊在每个对话框保存更改。

  • 取消Windows服务选项

插件和扩展

这个插件和扩展步是可见的在新的MySQL 5.7.12安装MySQL 8.0.4只。它支持X插件,必须安装并激活使用MySQL存储文档。

重要

在MySQL 8.0.11,X插件现在是默认激活。指定要使MySQL 8.0.11 X协议和防火墙端口(或更高)作为文件存储,看到在连接选项类型和网络

如果你是从以前的MySQL版本升级,然后你需要再次打开MySQL安装程序并选择重新配置MySQL服务器选项。《期权,包括:

  • 使X协议/ MySQL作为文件存储(默认选项。)

    当X协议选项被选中,MySQL安装程序的加载和启动X插件。无插件运行X,X协议的客户端无法连接到服务器。

    • 端口号:33060

      需要一个未使用的端口。默认端口号是33060。

    • 网络访问打开防火墙端口

      默认打开时,X协议的选择。

    有关使用MySQL作为文档存储和X插件的更多信息,参见20.1节,“关键概念”20.6节,“X插件”

日志记录选项

This step is available if the显示高级配置复选框被选中时式和网络步。为了使这一步现在,点击后退回到式和网络步,选择复选框

高级配置选项下面的MySQL日志文件相关:

高级选项

This step is available if the显示高级配置复选框被选中时式和网络步。为了使这一步现在,点击后退回到式和网络步,选择复选框

高级配置选项包括:

  • 服务器ID

    集的唯一标识符用于复制拓扑。如果启用了二进制日志,您必须指定一个服务器ID的默认ID值取决于服务器的版本。更多信息,见的描述--server-id选项

  • 表名的情况

    你可以设置以下初始和后续的配置服务器选项中。对于MySQL 8版本系列,这些选项仅适用于服务器的初始配置。

    • 较低的情况下

      lower_case_table_names1个选项的值(默认),在该表的名称存储在磁盘上,小写字母不区分大小写的比较。

    • 保持给定的情况下

      lower_case_table_names2期权的价值,即表的名称存储为给定的但比较小写。

应用服务器的配置

所有的配置设置应用到MySQL服务器当你点击执行。使用配置步骤标签按照每一个行动的进展;从白色到绿色的每个切换图标(带有复选标记)成功。否则,程序将停止并显示错误消息如果一个人行动的时间。点击日志选项卡,查看日志

当安装完成后,单击工艺安装程序和安装MySQL,MySQL的产品加入到微软Windows的开始菜单MySQL群组开放的MySQL安装载荷仪表板在安装MySQL的产品上市和其他MySQL的安装操作都可以。

MySQL Installer 2.3.3.2.3设置服务器替代路径

您可以更改默认的安装路径,数据路径,或当你安装MySQL服务器。当你安装了服务器的路径不能被无拆卸和重新安装的服务器实例的改变。

更改MySQL服务器的路径

  1. 找出MySQL服务器的更改和显示高级选项链接

    1. 导航到选择产品和功能从做中学的一步:接下来的

      1. 如果这是一个初始设置,选择Custom安装类型并单击下一个

      2. 如果MySQL安装程序已经安装,启动从开始菜单,然后点击添加从仪表板

    2. 点击编辑过滤产品列表,找到服务器实例将安装在可用的产品列表

    3. 与选定的服务器实例,使用箭头来移动所选服务器的产品/功能的安装列表

    4. 单击“服务器选择。当你选择服务器的高级选项链接出现。有关详细信息,参见图如下。

  2. 点击高级选项与路径设置选项,打开一个对话框窗口。在设定的路径,请单击下一个继续配置步骤

    图2.10更改MySQL服务器的路径

    Content is described in the surrounding text.

2.3.3.2.4 MySQL应用,连接器,和文件

MySQL的安装程序为您提供了用于开发和管理关键业务应用程序的Windows工具套件。该套件包括应用、连接器、文档和样品。

初始设置任何预定,选择安装类型,除了Server only、安装工具的最新的GA版本。使用自定义安装类型安装一个单独的工具或特定的版本。如果MySQL安装程序安装在主机已经使用添加选择和操作MySQL安装仪表板安装工具。

MySQL的路由器配置

MySQL的安装程序提供了一个配置向导,可以引导一个安装MySQL路由器2.1.3或以后的MySQL应用和InnoDB聚类之间的交通。当配置,MySQL路由器运行作为一个本地的Windows服务。有关使用MySQL InnoDB集群路由器的详细信息,参见MySQL InnoDB分簇路由

配置MySQL的路由器,做到以下几点:

  1. 设置innodb集群。有关如何使用MySQL安装本地主机配置沙盒InnoDB集群,看第2.3.3.2.1,集团“复制”。InnoDB MySQL服务器集群需要5.7.17或更高。

    对于一般的InnoDB群集的信息,参见21章,InnoDB集群

  2. 使用MySQL的安装程序,下载并安装MySQL路由器中的应用。安装完成后,配置向导会提示您输入信息。选择配置MySQL InnoDB集群路由器复选框以开始配置并提供以下配置值:

    • 主机名:本地默认

    • 门:在InnoDB集群的主服务器的端口号。默认值是3310。

    • 管理用户:根级权限管理用户

    • 密码用于管理用户的密码

    • 经典协议连接MySQL InnoDB集群

      读/写:设置第一个基地之一,是未使用的端口号(在80和65532)和向导将选择剩余端口为你。

      图中显示的MySQL的路由器配置屏幕的一个例子,与第一基地的指定的端口号为6446,其余端口设置向导为6447, 6448,和6449。

    图2.11 MySQL路由器配置

    Content is described in the surrounding text.

  3. 点击下一个然后执行应用配置。点击工艺关闭MySQL安装程序或返回到MySQL安装仪表板。

2.3.3.3 MySQL安装的产品目录和仪表板

本节介绍了MySQL的安装目录和仪表板。

产品目录

产品目录商店发布了MySQL的产品微软Windows的可下载的完整列表MySQL的下载。默认情况下,当一个互联网连接是目前,MySQL的安装目录每日更新。你也可以更新目录手动从仪表板(稍后介绍)。

一个最新的目录执行下列操作:

  • 填充可用的产品窗格选择产品和功能的步骤。这一步出现在你选择:

    • 这个Custom安装类型中初始设置

    • 这个添加从仪表板操作

  • 确定当产品更新可供安装在仪表板的上市产品。

目录中包括了所有的开发版本(发行前),通用版本(目前,GA)和次要版本(其他版本)。目录中的产品将有所不同,这取决于你的MySQL安装版下载。

MySQL安装仪表板

MySQL安装仪表板是默认的屏幕,你看,当你启动MySQL安装后初始设置完成。如果你关闭MySQL安装程序在安装完成后,MySQL安装程序恢复初始设置才显示仪表。

图2.12 MySQL安装仪表板元素

Content is described in the surrounding text.

安装设备安装设备的描述
  1. 关于图标的MySQL安装程序()显示关于mysql安装和一般信息的当前版本。版本号位于后退按钮

    总是有这个版本号报告时,MySQL安装问题。

  2. MySQL的安装选项图标()使你可以安排每日自动更新目录。默认情况下,目录更新计划时MySQL Installer首次安装。当新的产品或产品版本,MySQL的安装程序添加到目录,然后显示一个箭头图标()旁边,安装在仪表板上市的产品版本号。

    使用此选项可启用或禁用自动更新目录和复位的时候MySQL安装目录的自动更新。具体的设置,看到任务命名ManifestUpdate在Windows任务计划程序。

  3. MySQL安装仪表板操作提供各种动作,适用于安装的产品或列入目录产品。进行以下操作,首先单击操作链接,然后选择产品或产品管理:

    • 添加本操作:打开产品和功能屏幕。从那里,你可以过滤产品目录中的产品,选择一个或多个产品下载(如需要),并开始安装。有关使用过滤器的暗示,看产品安装定位

    • 修改:使用此操作添加或删除安装的产品相关的特征。的功能,你可以修改不同复杂度的产品。当程序快捷方式复选框被选中,产品出现在开始菜单下的MySQL群组

    • 升級:此操作负荷选择产品升级屏幕和填充它与所有的提升者。安装的产品可以有一个以上的升级版,需要一个当前产品目录。

      重要的服务器升级条件:

      • MySQL的安装程序不允许服务器升级主要发布版本或发布版本之间的未成年人,但不允许升级内释放系列,如升级到5.7.19 5.7.18。

      • 之间的里程碑版本升级(或从一个里程碑发布一个通用版本)不支持。重大的发展变化发生在里程碑版本,您可能会遇到兼容性问题启动服务器。

      选择一个新的产品版本:

      1. 点击升級。确认在未来的产品名称的复选框可升级的产品窗格中有一个复选标记。取消你不打算在这个时候升级的产品。

        笔记

        服务器在同一版本系列发布的里程碑,MySQL安装程序将服务器升级和显示,升级不支持的一个警告,指出持续的风险,并提供执行逻辑手动升级的步骤总结。你可以选择升级服务器在您自己的风险。对于如何与一个里程碑版本执行逻辑的升级,看逻辑升级

      2. 单击列表中的产品突出。这一行动填充最新版本对所选产品的每个版本的细节:版本号、出版日期和Changes链接到该版本的公开发行的纸币。

      MySQL安装程序升级所有选定的产品在一个行动。点击显示详细信息查看MySQL安装程序执行的动作。

    • 去除此操作打开删除产品的屏幕和填充它与安装在主机上的MySQL的产品。选择要删除的数据库产品(卸载),然后单击执行开始拆除过程

      选择产品去除,执行下列操作之一:

      • 选择一个或多个产品的复选框。

      • 选择产品复选框来选择产品

  4. 这个重新配置在快速链接栏旁边安装的每个服务器的负载电流的配置值为服务器然后循环通过所有的配置步骤,使您能够更改的选项和值。完成后,安装程序停止MySQL服务器,应用配置更改,并重新启动服务器,为你。用于描述每一个配置选项,看第2.3.3.2.2,“MySQL安装服务器配置”

    安装Samples and Examples与一个特定的MySQL服务器版本也可以被重新配置,应用功能的配置更改,如果任何。你必须提供凭据以root权限配置这些项目。

  5. 这个目录链接使您下载的MySQL产品的最新目录,然后手动将这些产品的变化与MySQL的安装程序。目录下载行为不执行一个已安装在主机产品升级。相反,它返回到仪表板上显示每个已安装的产品,一个新版本的版本列的箭头图标。使用升級运行安装新的产品版本。

    你也可以使用目录链接,不下载新的目录显示每个产品的电流改变历史。选择在这段时间不更新复选框来查看更改历史只。

产品安装定位

MySQL的产品目录中列出的类别:MySQL服务器,应用程序,MySQL连接器,和文件。只有最新的GA版本出现在可用的产品窗格的默认。如果你正在寻找一个预发布或以上的产品版本,它可能不在默认的列表是可见的。

更改默认的产品列表,单击添加在打开“选择产品和功能屏幕的仪表板,然后单击编辑。修改产品的价值,然后单击滤波器

图2.13过滤产品

Filter by Text, Category, Age, Already Downloaded, and Architecture.

复位以下一个或多个值滤波器提供的产品清单:

  • 文本:文本过滤

  • 类别:所有软件(默认),MySQL服务器,应用程序,MySQL连接器,或文件(样品和文件)。

  • 年龄:预发布,目前GA(默认),或其他版本。

  • 已经下载(复选框取消选择默认)。

  • 架构:任何(默认),32位或64位。

2.3.3.4 mysqlinstallerconsole参考

MysqleminerConseConsolE提供类似于MySQL的安装程序命令行的功能。它是安装在MySQL安装程序开始执行,然后可在MySQL Installer目录通常,这是C:\ Program Files(x86)\ \ \ MySQL安装MySQL,与控制台必须执行的行政特权。

使用,调用命令提示选择行政特权开始配饰,然后右键点击命令提示符与选择Run as administrator。从命令行中,选择更改目录的地方MysqleminerConseConsolE位于:

C:\> cd Program Files (x86)\MySQL\MySQL Installer for Windows
C:\Program Files (x86)\MySQL\MySQL Installer for Windows> MySQLInstallerConsole.exe help
=================== Start Initialization ===================
MySQL Installer is running in Community mode

Attempting to update manifest.
Initializing product requirements
Loading product catalog
Checking for product catalog snippets
Checking for product packages in the bundle
Categorizing product catalog
Finding all installed packages.
Your product catalog was last updated at 11/1/2016 4:10:38 PM
=================== End Initialization ===================

The following commands are available:

Configure - Configures one or more of your installed programs.
Help      - Provides list of available commands.
Install   - Install and configure one or more available MySQL programs.
List      - Provides an interactive way to list all products available.
Modify    - Modifies the features of installed products.
Remove    - Removes one or more products from your system.
Status    - Shows the status of all installed products.
Update    - Update the current product catalog.
Upgrade   - Upgrades one or more of your installed programs.

MysqleminerConseConsolE支持以下命令:

笔记

Configuration block values that contain a colon (":") must be wrapped in double quotes. For example, installdir="C:\MySQL\MySQL Server 8.0".

  • configure [product1]:[setting]=[value]; [product2]:[setting]=[value]; [...]

    Configure one or more MySQL products on your system. Multiple setting=value pairs can be configured for each product.

    开关包括:

    • -showsettings:显示所选产品的可用选项,通过在产品名称后- showsettings

    • -silent不可确认的确认即兴

    C:\>MySQLInstallerConsole configure -showsettings serverC:\>MySQLInstallerConsole configure server:port=3307
  • help [command]

    使用的例子帮助信息显示,然后退出。通过一个额外的命令来获得帮助的具体命令。

    C:\> MySQLInstallerConsole help
    C:\> MySQLInstallerConsole help install
    
  • install [product]:[features]:[config block]:[config block]:[config block]; [...]

    安装一个或多个MySQL的产品在您的系统。如果预发布产品,GA和预发布产品安装时的值-type开关开发商Client,或全部。使用-only_ga_products开关限制设置为GA的产品只有在使用这些设置类型产品。

    开关和语法选项包括:

    • -only_ga_products限制设置:包括GA产品只是产品。

    • -type=[SetupType]:安装一组预定义的软件。“setuptype”可以是下列之一:

      笔记

      非自定义安装类型只能如果没有安装其他MySQL的产品选择。

      • 开发商:安装一个完整的开发环境。

      • 服务器安装一个单一的MysQL服务器

      • 客户:安装客户端程序和库

      • 全部器安装的一切

      • 自定义:器安装用户选择产品。这是默认选项。

    • -showsettings:显示所选产品的可用选项,通过在产品名称后- showsettings

    • -silent不可确认的确认即兴

    • [config block]:一个或多个配置块可以指定。每个配置块分号分隔的键-值对列表。一块可以包括一个“配置”或者“用户”类型的键,在“配置”是默认的类型如果没有定义。

      包含一个冒号配置块值(:必须用双引号)。例如,installdir="C:\MySQL\MySQL Server 8.0"

      只有一个“配置”型块可以定义每个产品。“用户”块应为每个用户需要产品的安装期间创建的定义。

      笔记

      添加用户时不支持产品的重新配置。

    • [feature]:功能块是一个分号分隔的列表功能,或一个星号(*)选择所有功能

    C:\> MySQLInstallerConsole install server;5.6.25:*:port=3307;serverid=2:type=user;username=foo;password=bar;role=DBManager
    C:\> MySQLInstallerConsole install server;5.6.25;x64 -silent
    

    一个额外的配置模块通过例子,破碎了^为了适应这种屏幕:

    C:\>MySQLInstallerConsole install server;5.6.25;x64:*:type=config;openfirewall=true; ^
              generallog=true;binlog=true;serverid=3306;enable_tcpip=true;port=3306;rootpasswd=pass; ^
              installdir="C:\MySQL\MySQL Server 5.6":type=user;datadir="C:\MySQL\data";username=foo;password=bar;role=DBManager
  • list

    列表的交互式控制台,所有可用的MySQL的产品可以搜索。执行MySQLInstallerConsole list要启动控制台,并输入一个字符串搜索。

    C:\>MySQLInstallerConsole list
  • modify [product1:-removelist|+addlist] [product2:-removelist|+addlist] [...]

    修改或显示一个以前安装的mysql产品特点。

    • -silent不可确认的确认即兴

    C:\>MySQLInstallerConsole modify serverC:\>MySQLInstallerConsole modify server:+documentationC:\>MySQLInstallerConsole modify server:-debug
  • remove [product1] [product2] [...]

    从你的系统中删除一个或多个产品。

    • *:通过*删除所有的MySQL的产品。

    • -continue:即使发生错误时继续运行。

    • -silent不可确认的确认即兴

    C:\>MySQLInstallerConsole remove *C:\>MySQLInstallerConsole remove server
  • status

    提供了一个快速的概述,系统上安装的MySQL的产品。信息包括产品名称、版本、体系结构、安装日期,安装位置。

    C:\> MySQLInstallerConsole status
    
  • update

    下载最新的MySQL产品目录到你的系统。成功,下载目录将被应用在下一次MySQLInstaller或者mysqlinstallerconsole执行。

    C:\> MySQLInstallerConsole update
    
    笔记

    这个自动更新目录GUI选项执行此命令从Windows任务计划程序。

  • upgrade [product1:version] [product2:version] [...]

    升级一个或更多的产品在您的系统。语法选项包括:

    • *:通过*升级所有产品的最新版本,或通过特定的产品。

    • !:通过作为一个版本号的升级产品,其最新版本的MySQL。

    • -silent不可确认的确认即兴

    C:\>MySQLInstallerConsole upgrade *C:\>MySQLInstallerConsole upgrade workbench:6.3.5C:\>MySQLInstallerConsole upgrade workbench:!C:\>MySQLInstallerConsole upgrade workbench:6.3.5 excel:1.3.2

2.3.4 MySQL的通知

MySQL的通知是一个工具,可以监控和调整你的本地和远程MySQL服务器实例通过一个指标,驻留在微软Windows任务栏的状态。MySQL的通知还提供了快速访问MySQL Workbench通过上下文菜单。

MySQL数据库使用MySQL的安装程序,安装程序。它可以自动加载微软Windows启动时。

安装,下载和执行MySQL的安装程序。MySQL的通知选择应用程序,进行安装。看到MySQL的安装手册额外的细节

笔记详细介绍每个MySQL时释放的变化,看MySQL的通知发布说明

参观MySQL通知论坛额外的帮助和支持MySQL的通知。

功能包括:

  • 启动,停止,重启MySQL服务器实例。

  • 自动检测(增加)新的MySQL服务器服务。这些列在项目管理监控,也可以配置

  • 托盘图标的变化,根据不同的状态。如果所有监控MySQL服务器实例正在运行或红场,如果至少有一个服务停止是一?向右的绿色三角形。这个更新MySQL通知托盘图标基于服务状态选项,这决定了这一行为,通过为每个服务默认启用。

  • 链接到其他应用程序如MySQL Workbench,MySQL的安装程序,和MySQL事业。例如,选择管理实例将该特定实例的MySQL Workbench服务器管理窗口负荷。

  • 如果MySQL Workbench也安装,然后管理实例SQL编辑器可供选择的地方(但不是远程MySQL实例)。

  • 监控本地和远程MySQL实例。

2.3.4.1 MySQL时使用

MySQL的通知,在本地或远程计算机监控MySQL服务器提供了可视的状态信息。MySQL的通知图标在任务栏上的颜色变化来指示当前状态:运行或停止。

MySQL时自动添加本地计算机上的MySQL服务发现。默认情况下,该自动添加新的服务的名称包含选项和设置mysql。相关通知选项包括在新的服务或者是发现或经验状态变化通知,并默认启用。卸载一个服务从MySQL通知删除服务。

点击Windows任务栏通知图标显示MySQL MySQL通知主菜单,列出每个MySQL服务器分别显示当前状态。你可以启动、停止或重新启动MySQL服务器,每个从菜单如下图显示。当MySQL Workbench的本地安装的,管理实例SQL编辑器菜单启动应用程序

图2.14 MySQL通知服务实例的菜单

Content is described in the surrounding text.

这个行动菜单包括以下项目:

  • 项目管理监控

  • 启动MySQL的安装程序(只有当产品安装。)

  • 检查更新(只有当MySQL Installer安装。)

  • MySQL工具外内核(只有当产品安装。)

  • 刷新状态

  • 选项

  • 关于

  • 近距离通知

主菜单不显示行动菜单时,有没有被通知监控mysql服务。

MySQL通知选项

这个行动选项菜单提供了一套配置MySQL通知操作选项。期权分为以下几类:一般选项通知,和服务器连接选项

点击接受使选定的选项或取消忽略所有的变化。点击重置为默认值然后接受使用默认的选项值

一般选项这一组包括:

  • 用色彩丰富的状态图标:使一个多彩的风格图标托盘MySQL的通知。默认选择。

  • 运行在Windows启动:允许应用程序被加载时,微软Windows启动。取消选择默认。

  • 自动检查更新,每#一个新的通知:MySQL版本检查,并且运行这个检查每#周。通过与更新每4周默认选择。

  • 自动添加新的服务的名称包含:本文采用过滤服务和自动添加到本地计算机上运行时,远程计算机上的Windows服务已经监测MySQL监控名单。通过名称包含默认选择mysql

  • 平安监控MySQL服务器实例的每一#:间隔(秒)平安监控MySQL服务器实例状态变化。较长的时间间隔可能是必要的如果监控远程实例的列表是大。30秒默认。

选项通知这一组包括:

  • 当一个服务自动添加通知我:显示一个气球通知任务栏时,一个新发现的服务添加到监控服务列表。默认选择。

  • 当一个服务的变化情况通知我:显示任务栏气球通知在监控服务改变现状。默认选择。

MySQL服务器的连接选项。这一组包括:

  • 自动连接迁移延迟到:当有迁移到MySQL Workbench的连接(如果已安装),此选项推迟迁移的一个小时,一天,一周,一个月,或者无限期。

项目管理监控

这个行动项目管理监控菜单使您能够添加、配置、删除服务和MySQL的情况下你打算如何监测。这个管理项目窗口有两个选项卡:服务实例

服务标签当MySQL配置为本地服务,MySQL添加服务的通知服务标签自动。与服务选项卡打开,你可以选择以下适用于所有服务被监控选项:

  • 当状态变化通知我

  • 更新MySQL通知托盘图标基于服务状态

下图显示服务标签页打开,选项选择。此标签显示的服务名称,计算机,服务托管,而服务的现状。

图2.15 MySQL通知:管理服务

Content is described in the surrounding text.

停止监视服务,从监控服务并单击列表中选择它删除

点击添加然后Windows服务打开添加服务窗口。添加一个新的服务,从下拉列表中选择计算机,请从列表中选择一个服务,然后单击好啊接受。使用滤波器场降低服务组在列表或选择只显示服务匹配自动添加过滤器?再从一般的过滤器选项选项菜单

各种Windows服务(包括MySQL)可以选择如下图显示。除了服务名称,列表显示为选定的计算机各窗口服务现状。

图2.16:添加新服务,MySQL的通知

Content is described in the surrounding text.

实例标签当MySQL配置为一个MySQL实例,MySQL的通知添加实例的实例标签自动。与实例选项卡打开,你可以选择以下适用于每个实例被监视的选项:

  • 当状态变化通知我

  • 更新MySQL通知托盘图标基于服务状态

  • 监控MySQL实例状态每[ # ] [秒|分钟|小时|天]

下图显示实例标签页打开,选项选择。监测实例的状态设置为在这个例子中每两分钟。此标签显示的实例名、数据库驱动程序、和实例的当前状态。

图2.17 MySQL通知:管理MySQL实例

Content is described in the surrounding text.

停止监视的实例,从监控MySQL实例,点击列表中选择它删除

点击添加然后MySQL实例打开监控MySQL服务器实例窗口。使用滤波器场减少列表中的实例的集合或选择显示MySQL实例已经被监控?为了监测显示唯一的物品。

或者,你可以选择一个连接MySQL Workbench监测。点击添加新的连接如图所示,在未来,创造一个新的连接。

图2.18 MySQL通知:添加新的实例

Content is described in the surrounding text.

故障检修

对于没有记录在这里的问题,访问MySQL支持论坛的通知MySQL的通知的帮助和支持。

  • 问题:试图启动/停止/重新启动MySQL服务可能会产生一种类似于“服务错误MySQLVERSION没有最近的状态变化的要求和信息服务”MySQLVERSION没有找到在Windows服务”。

    解释:这是一例敏感性问题,在服务名MySQLVERSION相比,具有MySQLVERSION在配置文件中

    解决方案:更新你的MySQL通知配置文件的正确信息,或停止MySQL的通知和删除配置文件。MySQL的通知配置文件位于%APPDATA%\Oracle\MySQL Notifier\settings.config哪里AppData % %是一个变量,取决于你的系统。一个典型的位置是“C:\用户\YourUsername\ AppData \ \ \ \运行Oracle的MySQL的通知设置配置”。YourUsername是你的系统的用户名。在这个文件中,并在serverlist部分,更改服务器名称值从小写到实际的服务名称。例如,改变MySQLVERSIONMySQLVERSION,保存,然后重启mysql的通知。另外,停止MySQL时,删除该文件,然后重新启动MySQL的通知。

  • 问题:当连接到远程计算机监控远程Windows服务的目的,添加服务对话并不总是显示所有服务的Windows服务控制台中显示。

    解释:这种行为是由操作系统和结果与nondomain用户帐户时。对行为的完整描述,看用户帐户控制和WMI文章从微软

    解决方案:当远程计算机是一个兼容的领域,建议使用域用户帐户用于连接到远程计算机通过WMI。详细的安装说明使用WMI,看第2.3.4.2,“设置远程监控MySQL的通知”

    另外,当域用户帐户不可用,微软提供了一个不太安全的解决方法,只应谨慎推行。更多信息,见在Windows Vista用户帐户控制和远程限制描述从微软知识库文章

2.3.4.2设置远程监控MySQL的通知

MySQL时使用Windows管理规范(WMI)来管理和监控远程计算机上的服务。本节说明如何工作以及如何设置你的系统来监控远程MySQL实例。

为了配置WMI,是理解底层分布式组件对象模型(DCOM)重要建筑在WMI工作。具体来说,MySQL的通知是使用异步通知查询远程微软Windows主机的网络事件。这些事件发送一个异步回调到计算机上运行MySQL的通知,它知道当服务状态已在远程计算机上的改变。异步通知提供最佳的性能相比,半同步通知或同步通知使用定时器。

如下面的图所示,异步通知需要远程计算机发送一个回调到客户端计算机(从而打开一个反向连接),所以Windows防火墙和分布式组件的设置必须正确配置的通信功能正常。客户端(电脑),包括无担保的应用(unsecapp.exe在这个例子中),使远程计算机异步调用(计算机B),接到一个电话后的数据。

图2.19 MySQL通知分布式组件对象模型(DCOM)

Content is described in the surrounding text.

最常见的错误是由异步WMI通知被Windows防火墙阻止通信相关的,或DCOM/WMI设置不正确设置。一系列的解决方案常见的错误,看常见的错误

下面的步骤是必需的使WMI功能。这些步骤是分为两机。单主机运行MySQL的通知(电脑),和被监视的多个远程机器(计算机B)。

计算机上运行MySQL的通知(计算机)
  1. 启用远程管理通过编辑组策略编辑器,或使用NETSH

    使用组策略编辑器

    1. 点击开始,单击运行,型GPEDIT.MSC,然后单击好啊

    2. 本地计算机策略标题,扩大计算机配置

    3. 扩大管理模版,然后网络网络连接,然后Windows防火墙

    4. 如果计算机是域中,然后双击域配置文件否则,双点击;标准简介

    5. 双击Windows防火墙:允许入站远程管理例外打开配置窗口

    6. 检查启用选项按钮,然后单击好啊

    使用NETSH命令:

    笔记

    “防火墙”命令是过时的微软服务器2008年和Vista,并以“netsh advfirewall防火墙所取代”。

    1. 用管理员权限打开一个命令提示符窗口(您可以右键单击命令提示符图标选择以管理员身份运行

    2. 执行以下命令:

      NETSH advfirewall firewall set service RemoteAdmin enable
      
  2. 开放的TCP端口135:DCOM

    1. 用管理员权限打开一个命令提示符窗口(您可以右键单击命令提示符图标选择以管理员身份运行

    2. 执行以下命令:

      NETSH advfirewall firewall add rule name=DCOM_TCP135 protocol=TCP localport=135 dir=in action=allow
      
  3. 添加包含回调汇客户端应用程序(MySqlNotifier.exe)的Windows防火墙例外列表中(使用Windows防火墙配置或netsh):

    使用Windows防火墙配置:

    1. 在控制面板中,双击Windows防火墙

    2. 在Windows防火墙窗口,单击允许程序或功能通过

    3. 在允许的程序”窗口,单击更改设置一个与下面的:

      • 如果MySqlNotifier.exe在允许的程序和功能列表,确保它是检查类型的计算机连接到网络(私有,公共或两者)。

      • 如果MySqlNotifier.exe不在列表中,单击让另一个程序

        1. 添加程序窗口,选择MySqlNotifier.exe如果它存在在程序列表中,否则点击浏览去目录MySqlNotifier.exe安装以选择它,然后单击添加

        2. 确保MySqlNotifier.exe检查该类型的网络中的计算机连接(私有,公共或两者)。

    使用NETSH命令:

    1. 用管理员权限打开一个命令提示符窗口(你可以右键单击“命令提示符”图标,点击以管理员身份运行

    2. 执行下面的命令,在你改变”[YOUR_INSTALL_DIRECTORY]“:

      NETSH advfirewall firewall add rule name=MySqlNotifier program=[YOUR_INSTALL_DIRECTORY]\MySqlNotifier.exe action=allow dir=in
  4. 如果计算机B是一个成员WORKGROUP或者是在不同的领域,是由计算机的不信任,然后回调连接(连接2)是创建一个匿名连接。授予匿名连接DCOM的远程访问权限:

    1. 点击开始,单击运行,型DCOMCNFG,然后单击好啊

    2. 在“组件服务”对话框中,展开“组件服务,扩大计算机,然后右键单击我的电脑点击性能

    3. 在我的电脑属性”对话框中,单击COM安全标签

    4. 在访问权限,请单击编辑限制

    5. 在“访问权限”对话框中,选择匿名登录名在组或用户名称框。在允许的权限的用户在列中,选择远程访问,然后单击好啊

监控远程计算机(计算机B)

如果是登录到计算机上运行MySQL通知用户帐户(计算机)是远程计算机上的本地管理员(计算机B),使得同一帐户在计算机B的管理员,你可以跳到“允许远程管理的步骤。

设置DCOM安全允许非管理员用户访问远程计算机:

  1. 授予“DCOM远程启动和激活权限的用户或组:

    1. 点击开始,单击运行,型DCOMCNFG,然后单击好啊

    2. 在“组件服务”对话框中,展开“组件服务,扩大计算机,然后右键单击我的电脑点击性能

    3. 在我的电脑属性”对话框中,单击COM安全标签

    4. 在启动和激活权限,请单击编辑限制

    5. 启动和激活权限对话框中,遵循这些步骤,如果你的名字或者你的组没有出现在组或用户名称列表:

      1. 启动和激活权限对话框中,单击添加

      2. 在“选择用户或组”对话框中,添加你的名字,在组输入对象名称来选择框中,然后单击好啊

    6. 启动和激活权限对话框中,选择你的用户和组在组或用户名称框。在允许的权限的用户在列中,选择遥控发射,选择远程激活,然后单击好啊

    格兰特DCOM的远程访问权限:

    1. 点击开始,单击运行,型DCOMCNFG,然后单击好啊

    2. 在“组件服务”对话框中,展开“组件服务,扩大计算机,然后右键单击我的电脑点击性能

    3. 在我的电脑属性”对话框中,单击COM安全标签

    4. 在访问权限,请单击编辑限制

    5. 在“访问权限”对话框中,选择匿名登录名在组或用户名称框。在允许的权限的用户在列中,选择远程访问,然后单击好啊

  2. allowing非管理员用户接入到特异的WMI命名空间。

    1. 在控制面板中,双击管理工具

    2. 在“管理工具”窗口,双击计算机管理

    3. 在“计算机管理”窗口中,展开服务和应用程序

    4. 右键单击WMI控件图标选择性能

    5. 在WMI控件属性窗口中,单击安防标签

    6. 在“安全”选项卡,选择命名空间和点击安防。根/ cimv2是一种常用的命名空间。

    7. 找到合适的账户和支票远程启动在权限列表中

  3. 允许远程管理通过编辑组策略编辑器或使用NETSH

    使用组策略编辑器

    1. 点击开始,单击运行,型GPEDIT.MSC,然后单击好啊

    2. 在本地计算机策略标题,双击计算机配置

    3. 双击管理模版,然后网络网络连接,然后防火墙

    4. 如果计算机是域中,然后双击域配置文件否则,双点击;标准简介

    5. 点击Windows防火墙:允许入站远程管理例外

    6. 在“操作”菜单选择编辑,或者双击选择从以前的步骤。

    7. 检查启用单选按钮,然后单击好啊

    使用NETSH命令:

    1. 用管理员权限打开一个命令提示符窗口(你可以右键单击“命令提示符”图标,点击以管理员身份运行

    2. 执行以下命令:

      NETSH advfirewall firewall set service RemoteAdmin enable
      
  4. 确认用户帐户您登录与使用Name价值并不是full name价值:

    1. 控制面板,双击管理工具

    2. 管理工具窗口中,双击计算机管理

    3. 计算机管理窗口,扩大系统工具然后本地用户和组

    4. 点击用户节点,在右侧面板定位你的用户,确保使用姓名价值的连接,而不是全名价值

常见的错误
  • 0x80070005

    • DCOM的安全配置不正确(见计算机B的Setting DCOM security...步)

    • 远程计算机(计算机B)是工作组的成员或在不可信的客户计算机的域(计算机)(见计算机,该Grant Anonymous connections DCOM Remote Access permissions步)

  • 0x8007000E

    • 远程计算机(计算机B)是工作组的成员或在不可信的客户计算机的域(计算机)(见计算机,该Grant Anonymous connections DCOM Remote Access permissions步)

  • 0x80041003

    • 访问远程WMI命名空间没有正确配置(见计算机B的Allowing non-administrator users access to a specific WMI namespace步)

  • 0x800706BA

    • DCOM端口上的客户端计算机是不公开的(计算机)防火墙。看到Open the DCOM port TCP 135计算机的步骤

    • 远程计算机(计算机B)是无法因为其网络位置设置公共。确保您可以通过Windows资源管理器访问它。

2.3.5安装在微软Windows使用MySQLnoinstallzip档案

正在安装的用户noinstall包在本节使用说明来安装MySQL。从一个zip文件包安装MySQL的过程如下:

  1. 提取所需的安装目录主要档案

    可选:提取调试测试档案,如果你计划执行MySQL基准测试套件

  2. 创建一个选项文件

  3. 选择一个MySQL服务器类型

  4. 初始化MySQL

  5. 启动MySQL服务器

  6. 默认用户账户安全

这个过程是在下面的章节中描述。

2.3.5.1提取安装档案

安装MySQL手动,做到以下几点:

  1. 如果你是从以前的版本升级,请参阅第2.3.8,“升级MySQL在Windows”,在开始升级过程

  2. 确保你是在作为一个具有管理员权限的用户登录。

  3. 选择安装位置。传统上,MySQL服务器安装在C:\mysql。如果你没有安装MySQL时C:\ MySQL,你必须指定安装目录在启动过程中或在一个选项文件的路径。看到第2.3.5.2,“创造一个选项文件”

    笔记

    MySQL安装程序安装mysql下C:\Program Files\MySQL

  4. 提取安装文件到选定的安装位置使用您首选的文件压缩工具。有些工具可以提取存档文件夹在你所选择的安装位置。如果发生这种情况,你可以移动的子文件夹的内容到选定的安装位置。

2.3.5.2创建一个选项文件

如果您需要指定启动选项当你运行的服务器,你可以在命令行或者放置在一个选项文件。选项,每次服务器开始使用,您可能会发现使用一个选项文件中指定你的MySQL配置最方便。尤其是在下列情况下:

  • 安装或数据目录位置不同于默认位置(C:\Program Files\MySQL\MySQL Server 8.0C:\程序文件\ \ 8 \数据MySQL MySQL服务器

  • 你需要调整服务器的设置,如内存,缓存,或设置的配置信息。

当MySQL服务器启动Windows,它看起来在几个地点的选择文件,如Windows目录,C:\,和MySQL的安装目录(对位置的完整列表见第4.2.6、“使用选项文件”)。Windows目录通常被命名为类似C:\WINDOWS。你可以从价值确定其精确位置windir环境变量,使用下面的命令:

C:\> echo %WINDIR%

MySQL是在每一个位置的第一选择my.ini文件,然后在my.cnf文件然而,为了避免混淆,最好是如果你只使用一个文件。如果你的电脑使用一个引导装载程序的地方C:不启动驱动器,你唯一的选择是使用my.ini走吧Whichever option file you use,it must be a Plain text file .

笔记

当使用MySQL的安装程序来安装MySQL服务器,它将创建my.ini在默认的位置,和用户执行MySQL安装程序被授予完全权限,这个新的my.ini文件

换句话说,要确保MySQL服务器用户有权限阅读my.ini文件

你也可以使用实例选项文件包含在你的MySQL分布;看第5.1.2,“服务器配置默认值”

选择文件可以用任何文本编辑器创建和修改,如记事本。例如,如果MySQL安装在E:\mysql和数据目录中好:0 0和日期,你可以创建包含一个选项文件[mysqld]部分为指定值basedirdatadir备选办法:

[mysqld]# set basedir to your installation pathbasedir=E:/mysql# set datadir to the location of your data directorydatadir=E:/mydata/data

微软Windows路径名称选项文件使用指定的(前)斜线而不是反斜杠。如果你使用反斜杠,双他们:

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

使用选项文件值反斜线规则了第4.2.6、“使用选项文件”

zip压缩包不包括data目录初始化一个MySQL安装通过创建数据目录和填充表,MySQL数据库系统,可以使用初始化MySQL--initialize--initialize-insecure。更多信息,参见部分2.9.1.1,“初始化使用mysqld”手动数据目录

如果你想在一个不同的位置使用一个数据目录,你需要复制的全部内容data目录到新的位置。例如,如果你想使用好:0作为数据目录,相反,你必须做两件事:

  1. 移动整个data目录及其所有内容从默认位置(例如C:\程序文件\ \ 8 \数据MySQL MySQL服务器)来E:\mydata

  2. 使用--datadir选项来指定新的数据目录的位置,每次你启动服务器。

2.3.5.3选择MySQL服务器类型

下表显示了在MySQL 8的Windows服务器。

二元的描述
mysqld优化的二进制命名管道支架
mysqld调试喜欢mysqld,但编译调试和检查全自动内存分配

上述所有的二进制文件都是现代的英特尔处理器的优化,但应该在任何英特尔i386级或更高的处理器。

中的每一个分配的服务器支持的存储引擎相同的设置。这个SHOW ENGINES声明显示,发动机给定服务器支持。

所有的Windows 8服务器,MySQL为数据库目录的符号链接的支持。

MySQL支持TCP / IP在所有Windows平台。在Windows的MySQL服务器,也支持命名管道,如果你启动了服务器与--enable-named-pipe选项要使用此选项,因为一些用户遇到的问题明确地关闭MySQL服务器时使用命名管道。默认的是无论平台使用TCP / IP因为命名管道比TCP / IP在许多Windows配置慢。

2.3.5.4初始化数据目录

如果你安装MySQL的使用noinstall包,不包括数据目录。初始化数据目录、使用说明部分2.9.1.1,“初始化使用mysqld”手动数据目录

2.3.5.5第一次启动服务器

本节给出了启动MySQL服务器概述。下面的部分为从命令行启动MySQL服务器或Windows服务提供更具体的信息。

这里的信息主要适用于如果你安装MySQL的使用noinstall版本,或者如果你想配置和测试MySQL手动而不是GUI工具。

笔记

MySQL服务器会自动使用MySQL安装程序启动后,和MySQL的通知可用于启动/停止/在任何时候重新启动。

在这一部分中的示例假定MySQL安装的默认位置下C:\Program Files\MySQL\MySQL Server 8.0。调整路径名的例子中所示如果你的MySQL安装在不同的位置。

客户有两种选择。他们可以使用TCP / IP,或者他们也可以使用命名管道如果服务器支持命名管道连接。

MySQL的Windows还支持共享内存连接,如果服务器开始的--shared-memory选项客户可以通过共享内存连接使用--protocol=MEMORY选项

有关服务器的二进制运行,看第2.3.5.3,“选择MySQL服务器类型”

测试最好是在控制台窗口中的命令提示符(或DOS窗口)。这样,你可以在那里很容易看到窗口有服务器显示状态消息。如果这是你的配置错误,这些信息可以使您更容易识别和解决任何问题。

笔记

数据库MySQL可以开始之前必须初始化。关于初始化过程的更多信息,参见部分2.9.1.1,“初始化使用mysqld”手动数据目录

要启动服务器,输入这个命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --console

一个服务器,包括InnoDB支持,你应该看到类似消息开始以下(路径名称和大小可能不同):

InnoDB:第一个指定的数据文件C:\ ibdata \ ibdata1并不存在:InnoDB:要创造一个新的数据库!InnoDB:设置文件C:\ ibdata \ ibdata1大小209715200innodb:数据库物理文件写入全:等待…InnoDB:日志文件C:\ iblogs \ ib_logfile0并不存在:新是createdinnodb:设置日志文件C:\ iblogs \ ib_logfile0大小31457280innodb:日志文件C:\ iblogs \ ib_logfile1做不存在的:新的是createdinnodb:设置日志文件C:\ iblogs \ ib_logfile1大小31457280innodb:日志文件C:\ iblogs \ ib_logfile2并不存在:新是createdinnodb:设置日志文件C:\ iblogs \ ib_logfile2大小31457280innodb:doublewrite缓冲区没有发现:创造newinnodb:doublewrite缓冲createdinnodb:创造外键约束系统tablesinnodb:外键约束系统表created011024 10:58:25 InnoDB:开始

当服务器完成其启动顺序,你应该看到这样的事情,这表明服务器可以服务的客户端连接:

mysqld: ready for connections
Version: '8.0.14'  socket: ''  port: 3306

服务器继续写任何进一步的诊断输出产生的控制台。你可以打开一个新的控制台窗口中运行的客户端程序。

如果省略--console选项,服务器将诊断输出在数据目录的错误日志(C:\程序文件\ \ 8 \数据MySQL MySQL服务器默认模式)。the error is the with the日志文件.err扩展,可以设置使用--log-error选项

笔记

最初的root在MySQL的授权表帐户没有密码。启动服务器后,你应该对它使用说明中设置一个密码第2.9.4,”保证初始MySQL账户”

2.3.5.6启动MySQL从Windows命令行

MySQL服务器可以手动从命令行启动。这可以在任何版本的Windows做。

笔记

MySQL的通知也可用于启动/停止/重新启动MySQL服务器。

启动mysqld从命令行服务器,你应该开始一个控制台窗口(或DOS窗口输入此命令):

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"

路径mysqld可以根据安装位置不同,MySQL在你的系统。

你可以通过执行此命令停止MySQL服务器:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin" -u root shutdown
笔记

如果MySQLroot用户的帐户密码,你需要调用mysqladmin-p选择时提供密码提示

这个命令调用MySQL管理工具mysqladmin连接到服务器并告诉它关闭。命令连接的MySQLroot用户,这是在MySQL授权系统默认管理帐号。

笔记

在MySQL授权系统用户从任何登录的用户在微软Windows下完全独立。

如果mysqld无法启动,检查错误日志,看看是否有任何消息服务器写表明问题的原因。默认情况下,错误日志位于C:\Program Files\MySQL\MySQL Server 8.0\data目录这是一个后缀的文件错误,或者可以通过在指定的--log-error选项或者,你可以尝试在启动服务器--console选择;在这种情况下,服务器可能会显示在屏幕上,将有助于解决问题的一些有用的信息。

最后的选择是开始mysqld--standalone--debugoptions。在这情况下,mysqld写入日志文件C:\mysqld.trace应包含的原因mysqld无法启动。看到第28.5.3,“该计划”

使用mysqld详细帮助显示所有选项mysqld支持

2.3.5.7自定义路径的MySQL工具

警告

你必须小心当编辑你的系统PATH用手;意外删除或修改现有的任何部分路径价值能留给你一个故障或者不稳定的系统。

为了使它更容易调用mysql程序,您可以添加mysql的路径名bin你的Windows系统目录路径环境变量:

  • 在Windows桌面上,右键单击我的电脑图标,并选择性能

  • 接下来选择高级标签从系统性能菜单上,单击环境变量按钮

  • 系统变量,选择路径,然后单击编辑按钮这个编辑系统变量对话应该出现

  • 将光标放在文本中出现的空间结束标记变量的值。(使用终点关键要确保你的光标定位在该空间中的文本的最后。)然后输入你的MySQL数据库的完整路径名bin目录(例如,C:\程序文件\ \ \仓为MySQL的MySQL服务器

    笔记

    必须有一个分号任何价值目前在这一领域的分离路径。

    这些对话,并依次对话,点击好啊直到所有被打开的对话已被开除。新的PATH价值现在应该提供给任何新的shell命令你打开,让你可以通过在系统上的任何目录的DOS提示符下键入其名称调用任何MySQL的可执行程序,无需提供路径。这包括服务器的MySQL客户端,和所有的MySQL命令行工具等mysqladminmysqldump

你不应该把MySQLbin目录到你的窗口路径如果你是在同一台机器上运行多个MySQL服务器。

2.3.5.8启动MySQL作为Windows服务

在Windows中,推荐的方式运行mysql安装为Windows服务,使MySQL启动和停止Windows时自动启动和停止。一个MySQL服务器安装为服务控制也可从命令行使用命令,或使用图形服务功用一般来说,安装mysql作为Windows服务,你应该登录使用具有管理员权限的帐号。

笔记

MySQL的通知也可用于监测MySQL服务的状态。

这个服务实用程序(Windows服务控制管理器)可以在Windows控制面板中找到。为了避免冲突,建议关闭服务实用而从命令行执行服务器安装或移除操作。

安装服务

在安装MySQL作为Windows服务,你首先应该是通过使用以下命令运行停止当前的服务器:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin"
          -u root shutdown
笔记

如果MySQLroot用户的帐户密码,你需要调用mysqladmin-p选择时提供密码提示

这个命令调用MySQL管理工具mysqladmin连接到服务器并告诉它关闭。命令连接的MySQLroot用户,这是在MySQL授权系统默认管理帐号。

笔记

在MySQL授权系统的用户在Windows下是完全独立于任何登录的用户。

安装服务器作为服务使用这个命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install

服务没有启动服务器安装命令。这说明了在本节稍后。

为了使它更容易调用mysql程序,您可以添加mysql的路径名bin你的Windows系统目录路径环境变量:

  • 在Windows桌面上,右键单击我的电脑图标,并选择性能

  • 接下来选择高级标签从系统性能菜单上,单击环境变量按钮

  • 系统变量,选择路径,然后单击编辑按钮这个编辑系统变量对话应该出现

  • 将光标放在文本中出现的空间结束标记变量的值。(使用终点关键要确保你的光标定位在该空间中的文本的最后。)然后输入你的MySQL数据库的完整路径名bin目录(例如,C:\程序文件\ \ \仓为MySQL的MySQL服务器),应该有一个分号任何价值目前在这一领域的分离路径。这些对话,并依次对话,点击好啊直到所有被打开的对话已被开除。你现在应该能够通过在系统上的任何目录的DOS提示符下键入其名称调用任何MySQL的可执行程序,无需提供路径。这包括服务器的MySQL客户端,和所有的MySQL命令行工具等mysqladminmysqldump

    你不应该把MySQLbin目录到你的窗口路径如果你是在同一台机器上运行多个MySQL服务器。

警告

你必须小心当编辑你的系统PATH用手;意外删除或修改现有的任何部分路径价值能留给你一个故障或者不稳定的系统。

以下参数可用于安装服务时:

  • 你可以指定一个服务名称后立即--install选择。故障服务名称MySQL

  • 如果一个服务名称是给定的,它可以通过一个单一的选项。按照惯例,这应该是--defaults-file=file_name指定名称的选项文件,服务器应该选择什么时候开始。

    一个单一的选择比其他的使用--defaults-file目的是尽可能的沮丧--defaults-file更为灵活,因为它可以让你将它们放置在指定的选项文件中指定的服务器的多个启动选项。

  • 你也可以指定一个--local-service选择以下服务名称。这导致服务器运行使用LocalServiceWindows帐户限制了系统权限。如果两--defaults-file——本地服务给出下面的服务的名称,他们可以以任何顺序。

一是安装为Windows服务的MySQL服务器,下面的规则确定的服务名称和选项,服务器使用的文件:

  • 如果服务没有安装命令指定服务名或默认的服务名称(MySQL)以下安装选项,服务器使用服务名称MySQL读选项从[ mysqld ]在标准选项文件组

  • 如果服务安装命令指定服务以外的名称MySQL安装选项,服务器使用这些服务的名字。它读取选项从[mysqld]组与组具有相同的名称作为标准选项文件服务。这使您可以使用[ mysqld ]选项应该被所有MySQL服务组和一个选项组的服务名称使用的服务器安装,服务名称。

  • If the service - facility command Stratefies a--defaults-file服务名称后选择,服务器读取选项相同的方式在以前的项目的描述,但它只读取指定的文件,忽略了从标准选项文件选项。

作为一个更复杂的例子,考虑下面的命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"
          --install MySQL --defaults-file=C:\my-opts.cnf

在这里,默认的服务名称(MySQL)后给予的安装选项如果没有--defaults-file选择了这个命令将产生的影响导致服务器读取[ mysqld ]从标准选项文件组。然而,由于--defaults-file选项,选择从服务器读取[ mysqld ]选项组中,只有从指定的文件。

笔记

在Windows中,如果服务器开始的--defaults-file--install选项,--install必须先。否则,mysqld.exe将尝试启动MySQL服务器。

你也可以指定的选项在Windows启动参数服务在开始之前你的MySQL服务效用。

最后,在试图启动mysql服务,确保用户变量%TEMP%TMP % %(也%TMPDIR%,如果它曾集)为系统用户运行服务是指向一个文件夹,用户有写权限。运行mysql服务默认的用户是LocalSystem,和默认值为%TEMP%TMP % %C:\Windows\Temp,一个目录LocalSystem具有写访问默认情况下。然而,如果有任何变化,默认设置(例如,改变谁运行服务或上述用户变量,或用户--tmpdir选择已被用于将临时目录的地方),MySQL服务可能无法运行,因为写入到临时目录没有被授予适当的用户。

启动服务

一个MySQL服务器实例后已安装的一种服务,Windows启动时自动启动服务。该服务还可以立即从开始服务实用程序,或使用启动MySQL命令。这个命令不区分大小写

当作为服务运行,mysqld没有一个控制台窗口,所以没有消息可以看到。如果mysqld没有启动,检查错误日志,看看是否有任何消息服务器写表明问题的原因。错误日志位于MySQL数据目录(例如,C:\Program Files\MySQL\MySQL Server 8.0\data)。文件与EN is the suffix of错误

当一个MySQL服务器已经安装的一种服务,而服务运行时,Windows停止服务的Windows时自动关闭。服务器也可以手动停止使用Services实用的停止使用mysql命令,或关闭命令

你也可以安装服务器作为人工服务如果您不希望自动启动的服务在启动过程中的选择。为此,使用--install-manual选择,而不是安装选项:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install-manual
删除服务

删除服务器安装为服务,先停止它如果它正在运行的执行停止使用mysql。然后使用--remove选择删除它:

C:\>"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --remove

如果mysqld没有运行作为一项服务,你可以从命令行启动。有关说明,见第2.3.5.6,“启动MySQL从Windows命令行”

如果你遇到困难,在安装过程中,看到第2.3.6“排除微软Windows MySQL服务器安装”

为阻止或删除MySQL的Windows服务的更多信息,参见第5.7.2.2,“从多个MySQL实例的Windows服务”

2.3.5.9测试MySQL的安装

你可以测试是否MySQL服务器通过执行下列命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqlshow"
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqlshow" -u root mysql
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin" version status proc
C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql" test

如果mysqld反应慢了TCP/IP连接的客户端程序,有可能是你的DNS问题。在这种情况下,开始mysqld--skip-name-resolve唯一的选择和使用本地服务器在IP地址Host对MySQL的授权表列。(确保帐户存在指定IP地址或你可能无法连接。)

你能强迫一个MySQL客户端使用命名管道连接而不是TCP / IP通过指定--pipe--protocol=PIPE通过选择或指定(期)作为主机名称。使用--socket选项,如果你不想使用默认的管道名称指定管道的名称。

如果你对设置密码root帐户,删除匿名帐户,或创建新用户帐户,然后连接到MySQL服务器必须使用适当的U-p与前面所示的命令选项。看到4.2.2节,“连接到服务器”

为更多的信息关于MySQLShow,看到第4.5.7,”MySQLShow显示数据库、表和列信息”,

2.3.6排除微软Windows MySQL服务器安装

安装并第一次运行MySQL的时候,你可能会遭遇某些错误,防止MySQL服务器启动。这一部分可以帮助您诊断和纠正这些错误。

你的第一个问题是当故障服务器资源错误日志。MySQL服务器使用错误日志记录的错误,防止服务器启动相关信息。错误日志位于数据目录指定在你my.ini文件默认的数据目录位置C:\程序文件\ \ 8 \数据MySQL MySQL服务器,或C:\ProgramData\Mysql在Windows 7和Windows Server 2008。这个C:\下目录默认是隐藏的。你需要改变你的文件夹选项查看目录和内容。更多信息在错误日志和理解的内容,看5.4.2部分,“错误日志”

对于可能出现的错误信息,咨询时显示MySQL服务启动控制台消息。使用启动MySQL从命令行命令安装后mysqld作为一个服务对于MySQL服务器启动为服务看到任何错误信息。看到第2.3.5.8,“启动MySQL作为Windows服务”

下面的例子显示了其他常见的错误消息时可能遇到的安装MySQL和第一次启动服务器:

  • 如果MySQL服务器找不到mysql权限的数据库或其他重要文件,它显示这些信息:

    发生系统错误1067。致命错误:无法打开和锁定权限表:表“MySQL用户不存在。

    这些信息往往发生在MySQL库或数据目录是安装在不同的位置比默认的位置(C:\Program Files\MySQL\MySQL Server 8.0C:\程序文件\ \ 8 \数据MySQL MySQL服务器分别)

    这种情况可以发生在MySQL的升级和安装一个新的位置,但没有配置文件更新以反映新的位置。此外,新与旧的配置文件可能会发生冲突。一定要删除或重命名旧的配置文件升级MySQL。

    如果你已经安装了MySQL以外的目录C:\Program Files\MySQL\MySQL Server 8.0,确保MySQL服务器知道这个通过配置使用(my.ini)文件。把…my.ini在你的Windows目录下的文件,通常c:\ Windows。从价值确定其精确位置WINDIR环境变量,发出以下命令从命令提示符:

    C:\>echo %WINDIR%

    你可以用任何文本编辑器创建或修改一个设置文件,如记事本。例如,如果MySQL安装在E:\mysql和数据目录D:\mysqldata,你可以创建选项文件和设置[mysqld]部分为指定值basedirdatadir备选办法:

    [mysqld]# set basedir to your installation pathbasedir=E:/mysql# set datadir to the location of your data directorydatadir=D:/MySQLdata

    微软Windows路径名称选项文件使用指定的(前)斜线而不是反斜杠。如果你使用反斜杠,双他们:

    [mysqld]
    # set basedir to your installation path
    basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0
    # set datadir to the location of your data directory
    datadir=D:\\MySQLdata
    

    使用选项文件值反斜线规则了第4.2.6、“使用选项文件”

    如果你改变datadir在你的MySQL配置文件的值,你必须把现有的MySQL数据目录的内容在启动MySQL服务器。

    看到第2.3.5.2,“创造一个选项文件”

  • 如果您重新安装或升级MySQL没有停止并删除现有的MySQL服务和安装MySQL使用MySQL的安装,您可能会看到此错误:

    Error: Cannot create Windows service for MySql. Error: 0
    

    当配置向导试图安装服务和发现具有相同名称的现有服务。

    解决这个问题的一个办法是选择一个服务以外的名称mysql使用配置向导时。这可以使新服务被正确安装,但叶过时的服务到位。虽然这是无害的,最好是去掉旧的服务不再使用。

    要永久删除旧的mysql服务,执行以下命令,作为一个具有管理权限的用户,在命令行:

    C:\>sc delete mysql[现场] deleteservice成功

    如果sc效用不可用于您的Windows版本,下载delsrv效用http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp与使用delsrv mysql语法

2.3.7 Windows安装后的程序

GUI工具的存在,更在本节中描述的任务,包括:

如果有必要,初始化数据目录并创建MySQL授权表。Windows安装操作MySQL安装程序进行自动初始化数据目录。从一个zip文件包安装,你可以初始化数据目录如部分2.9.1.1,“初始化使用mysqld”手动数据目录

关于密码,如果你安装MySQL使用MySQL的安装程序,你可能已经指定了一个密码,初始root账户(见2.3.3节,“MySQL的Windows安装程序”否则,使用。)中给出的密码分配程序第2.9.4,”保证初始MySQL账户”

在指定的密码,你可能想尝试运行客户端程序,确保您可以连接到服务器并运行正常。确保服务器运行(见第2.3.5.5,”启动服务器的第一次”)。你也可以设置一个MySQL服务运行Windows时自动启动(见第2.3.5.8,“启动MySQL作为Windows服务”

这些说明,假设你目前的位置是MySQL的安装目录,它有一个bin这里使用的MySQL程序包含子目录。如果这是不正确的,调整相应的命令路径名。

如果你安装使用MySQL安装MySQL(见2.3.3节,“MySQL的Windows安装程序”),默认的安装目录是C:\Program Files\MySQL\MySQL Server 8.0

C:\>cd "C:\Program Files\MySQL\MySQL Server 8.0"

从zip文件安装常见的安装位置C:\mysql

C:\>cd C:\mysql

另外,添加bin目录到你的路径环境变量设置。使你的命令解释器找到MySQL程序是正确的,所以你可以通过键入唯一的名称运行一个程序,而不是它的路径名。看到第2.3.5.7,“自定义路径的MySQL工具”

正在运行的服务器,发出以下命令来验证,你可以从服务器中检索信息。输出应该类似于图。

使用MySQLShow看看数据库存在:

C:\> bin\mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

安装数据库可能不同的名单,但总是包含最小mysqlinformation_schema

前面的命令(和其他MySQL程序如命令MySQL)不得如果正确的MySQL帐户不存在。例如,程序可能会失败,错误,或者您可能无法查看所有数据库。如果你安装使用MySQL安装MySQL的root用户将一直与你提供的密码自动创建。在这种情况下,你应该使用你的根-p选项(你必须如果你已经获得了最初的MySQL账户。使用这些选项)与P客户方案即兴曲root的密码。例如:

C:\>bin\mysqlshow -u root -p输入密码:(enter root password here)-------------------- |数据库| -------------------- | information_schema | | MySQL | | performance_schema | |系统| --------------------

如果你指定一个数据库名称,MySQLShow显示一个列表的数据库表中:

C:\> bin\mysqlshow mysql
Database: mysql
+---------------------------+
|          Tables           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

使用MySQL程序从表中选择信息mysql数据库:

C:\>bin\mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql------ ----------- ----------------------- |用户|主机|插件| ------ ----------- ----------------------- |根| localhost | caching_sha2_password | ------ ----------- -----------------------

为更多的信息关于MySQLMySQLShow,看到4.5.1“,”MySQL- MySQL命令行工具”,和第4.5.7,”MySQLShow显示数据库、表和列信息”,

2.3.8升级MySQL在Windows

有两种方法升级MySQL在Windows:

  • 使用MySQL安装程序

  • 使用Windows的ZIP文件分布

你选择的方法取决于现有的安装进行。在继续之前,回顾2.10.1节,“升级MySQL”在升级MySQL不特定于Windows的附加信息。

之间的里程碑版本升级(或从一个里程碑发布一个通用版本)不支持。重大的发展变化发生在里程碑版本,您可能会遇到兼容性问题启动服务器。

MySQL安装程序升级MySQL

执行与MySQL安装程序升级是最好的方法在当前服务器进行安装与升级是在当前版本系列。MySQL的安装程序不支持在发布系列的升级,如从5.7到8,它不会提示你升级提供一个升级的指标。指令在升级之间释放系列,看使用Windows ZIP分布升级MySQL

使用MySQL安装程序升级:

  1. 启动MySQL的安装程序。

  2. 从仪表板中,单击目录下载最新的更改目录。安装的服务器可以升级,如果仪表板上显示一个箭头旁边的服务器版本号。

  3. 点击升級。产品有更新的版本会出现在列表中。

    笔记

    服务器在同一版本系列发布的里程碑,MySQL安装程序将服务器升级和显示,升级不支持的一个警告,指出持续的风险,并提供执行手动升级的步骤总结。你可以重新选择服务器升级,风险自负。

  4. 取消选择所有但MySQL服务器产品,除非你打算在这个时候升级其他产品,并单击下一个

  5. 点击执行开始下载。当下载完成后,点击下一个应用更新

  6. 配置服务器

使用Windows ZIP分布升级MySQL

使用Windows的ZIP文件分布进行升级:

  1. 经常备份你当前的MySQL安装在执行升级之前。看到2节,“数据库备份方法

  2. 下载最新版本的Windows的ZIP文件分布的MySQLhttp://dev.mysql.com /下载/

  3. 在升级之前的MySQL,停止服务器。如果服务器安装为服务,以下从命令提示符命令停止服务:

    C:\> NET STOP MySQL
    

    如果你没有运行MySQL服务器作为一种服务,使用mysqladmin停止吧。例如,从MySQL 5.7升级到8之前,使用mysqladmin从MySQL 5.7如下:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root shutdown
    
    笔记

    如果MySQLroot用户的帐户密码,调用mysqladmin-p选择和输入密码时的密码。

  4. 解压zip档案。你可以覆盖现有的MySQL安装(通常位于C:\mysql),或安装到不同的目录,如C:\ mysql8。覆盖现有的安装建议。

  5. 如果你使用MySQL作为Windows服务,你不得不删除服务在这个程序之前,安装服务。(见第2.3.5.8,“启动MySQL作为Windows服务”。)

  6. 重新启动服务器。例如,使用启动MySQL如果你运行MySQL数据库作为一种服务,或调用mysqld不然直接

  7. 作为管理员运行mysql_upgrade检查你的表格,试图在必要时修理他们,如果他们已经改变了,你可以利用任何新功能更新你的授权表。看到4.4.5“,”mysql_upgrade检查升级MySQL表”

  8. 如果你遇到错误,看第2.3.6“排除微软Windows MySQL服务器安装”

2.4安装MySQL在MacOS

对于一个MacOS版本列出MySQL服务器支持,看到http://www.mysql.com/support/supportedplatforms/database.html

MySQL的MacOS在许多不同的形式提供:

基于MySQL在MacOS的更多信息,参见2.4.1节,“一般说明安装MySQL在MacOS”

2.4.1一般笔记安装MySQL在MacOS

你应该记住以下问题和笔记记:

  • 其他的MySQL安装:安装程序不能通过软件包管理器如自制认识MySQL安装。安装和升级过程是由我们提供的MySQL软件包。如果其他的安装,然后考虑阻止他们执行这个安装程序以避免端口冲突之前。

    自制:例如,如果你安装使用自制的默认位置然后MySQL安装程序安装到不同的位置,MySQL服务器,不会从自制的升级版。在这种情况下你将结束与多个MySQL的安装,默认情况下,尝试使用相同的端口。阻止其他MySQL服务器实例运行安装程序之前,如执行BREW服务停止MySQL停止主机的MySQL服务。

  • launchd:一个launchd守护安装改变MySQL的配置选项。认为编辑它如果需要的话,请看下面的文档的附加信息。另外,MacOS 10.10删除启动项的支持,有利于发展进程。可选的MySQL偏好窗格在MacOS系统偏好设置使用launchd守护。

  • 用户:你可能需要(或想要)来创建一个特定的mysql用户对自己的MySQL目录和数据。你可以通过目录实用,和mysql用户应该已经存在。用于在单用户模式下,一个入口_mysql(注意下划线前缀)应该已经存在于系统/etc/passwd文件

  • 数据:因为MySQL安装程序包安装MySQL的内容到一个版本和平台特定的目录,你可以使用这个升级和迁移您的数据库版本之间的。您将需要复制data从老版本到新版本目录,或者指定一个替代datadir设置数据目录的位置值。默认情况下,MySQL目录下安装/usr/local/

  • 别名:你可能想添加别名你的内核资源文件以便于访问常用的程序如MySQLmysqladmin从命令行。语法猛击是:

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
    

    tcsh使用:

    alias mysql /usr/local/mysql/bin/mysql
    alias mysqladmin /usr/local/mysql/bin/mysqladmin
    

    更好的是,添加/usr/local/mysql/bin你的路径环境变量。你可以通过你的内核修改相应的启动文件。有关更多信息,参见4.2.1节,“调用mysql程序”

  • 拆卸:在复制完从以前安装的mysql数据库文件和已成功地开始了新的服务器,你应该考虑删除旧的安装文件,节省磁盘空间。此外,你也应该删除旧版本的软件包目录位于收据/Library/Receipts/mysql-VERSION.pkg

  • 遗产:OS X 10.7之前,MySQL服务器被捆绑的OS X服务器。

2.4.2安装使用本地包MacOS MySQL

包是位于磁盘映像(.dmg)文件,您首先需要安装通过双击它的图标在搜索。然后将图像和显示其内容。

笔记

在安装之前,一定要停止所有正在运行的MySQL服务器实例通过使用MySQL管理应用程序(在MacOS服务器),偏好窗格,或关闭在命令行

安装MySQL的应用程序安装包:

  1. 下载的镜像(.dmg(社区)文件版本在这里)包含MySQL安装程序包。双击文件安装磁盘映像并查看其内容。

    双击磁盘的MySQL安装程序包。它是根据版本的MySQL你下载命名。例如,MySQL服务器8.0.14它可能被命名为mysql-8.0.14-osx-10.13-x86_64.pkg

  2. 初始向导介绍屏幕参考MySQL服务器版本安装。点击继续开始安装

    MySQL社区版显示一份相关的GNU通用公共许可证。点击继续然后同意继续

  3. 军事设施类型你可以点击页面安装执行安装向导使用所有的默认设置,请单击定制修改要安装的组件(MySQL服务器,MySQL测试,偏好窗格,launchd的支持--但MySQL测试是默认启用)。

    笔记

    虽然更改安装位置期权是可见的,安装的位置不能改变。

    图2.20安装:安装类型安装向导

    Content is described in the surrounding text.

    图2.21:自定义安装向导安装

    Customize shows three package name options: MySQL Server, MySQL Test, Preference Pane, and Launchd Support. All three options are checked.

  4. 点击安装安装MySQL服务器。安装过程到此结束,如果升级当前MySQL服务器安装,否则按照向导的额外配置你的新的MySQL服务器安装。

  5. 一个成功的新的MySQL服务器安装后,通过选择密码默认的加密类型齐全的配置步骤,定义root密码,并启用(或禁用)在启动MySQL服务器。

  6. 默认的MySQL 8的密码机制caching_sha2_password(强),这一步可以让你改变它mysql_native_password(遗产)

    图2.22安装安装向导:选择一个密码加密类型

    Most content is described in the surrounding text. The installer refers to caching_sha2_password as "Use Strong Password Encryption" and mysql_native_password as a "Use Legacy Password Encryption".

    选择传统的口令机制改变生成的launchd文件设置--default_authentication_plugin=mysql_native_password在下面programarguments。选择强密码加密不定--default_authentication_plugin由于使用的是MySQL服务器的默认值,这是caching_sha2_password

  7. 定义为根用户的密码,并切换是否MySQL服务器的配置步骤完成后应开始。

    图2.23程序包安装向导:定义MySQL root密码

    Content is described in the surrounding text.

  8. 概要是最后一步,引用一个成功和完整的MySQL服务器安装。关闭向导

    图2.24安装安装向导:总结

    Shows that the installation was a success, and includes links to the MySQL manual, mysql.com, and oracle.com.

MySQL服务器已经安装。如果你选择不启动MySQL,然后用launchctl可以从命令行或通过点击“开始”启动MySQL使用MySQL的偏好窗格。更多信息,参见2.4.3,“安装和使用MySQL启动守护程序”,和2.4.4,“安装和使用MySQL偏好窗格”。使用MySQL偏好窗格或launchd配置MySQL启动时自动启动。

当安装应用程序安装包,文件被安装到一个目录内/usr/local匹配的安装版本和平台的名称。例如,安装程序文件mysql-8.0.14……osx10.13-x86_64.dmg安装MySQL为_ /usr/local mysql-8.0.14-osx10.13-x86 64号与链接/usr/local/mysql。下表显示了MySQL的安装目录布局。

表2.6 MySQL的安装布局在MacOS

目录目录contents of
binmysqld服务器、客户端和实用程序
data日志文件,数据库,在/usr/local/mysql/data/mysqld.local.err是默认的错误日志
docs辅助文件,如发行说明和建立信息
include包括(标题)文件
lib图书馆
manUNIX手册页
mysql-testMySQL的测试套件(使用安装程序包时,在安装过程中&#39;mysql测试默认是禁用的(DMG))
share其他支持文件,包括错误消息、示例配置文件、SQL数据库安装
support-files脚本示例配置文件
/tmp/mysql.sockmysql的UNIX套接字的位置

2.4.3安装和使用MySQL启动守护程序

MacOS使用启动守护进程自动启动,停止,和管理流程和应用如MySQL。

默认情况下,安装包(DMG)在MacOS安装一个launchd文件命名/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist包含一个类似plist的定义:

<?xml version="1.0" encoding="gb3212"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string>    <key>ProcessType</key>       <string>Interactive</string>    <key>Disabled</key>          <false/>    <key>RunAtLoad</key>         <true/>    <key>KeepAlive</key>         <true/>    <key>SessionCreate</key>     <true/>    <key>LaunchOnlyOnce</key>    <false/>    <key>UserName</key>          <string>_mysql</string>    <key>GroupName</key>         <string>_mysql</string>    <key>ExitTimeOut</key>       <integer>600</integer>    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>    <key>ProgramArguments</key>        <array>            <string>/usr/local/mysql/bin/mysqld</string>            <string>--user=_mysql</string>            <string>--basedir=/usr/local/mysql</string>            <string>--datadir=/usr/local/mysql/data</string>            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>            <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>            <string>--early-plugin-load=keyring_file=keyring_file.so</string>        </array>    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string></dict></plist>
笔记

一些用户报告说,增加一个plist DOCTYPE声明使launchd操作失败,尽管它通过皮棉检查。我们怀疑这是一个副本正贴误差。一个包含上述代码段文件的MD5校验码d925f05f6d1b6ee5ce5451b596d6baed

为了使launchd服务,您可以:

  • 打开系统偏好和选择MacOS MySQL设置面板,然后执行启动MySQL服务器

    图2.25 MySQL偏好窗格:位置

    Shows "MySQL" typed into the macOS System Preferences search box, and a highlighted "MySQL" icon in the bottom left.

    这个实例页面包括一个选项来启动或停止MySQL,和初始化数据库再现data/目录卸载卸载MySQL服务器和可选的MySQL的偏好面板和launchd信息。

    图2.26 MySQL偏好窗格:实例

    The left side shows a list of MySQL instances separated by "Active Instance", "Installed Instances", and "Data Directories" sections. The right side shows a "Stop MySQL Server" button, a checkbox titled "Start MySQL when your computer starts up", and "Initialize Database" and "Uninstall" buttons. Several fields reference 8.0.11 as the current installed MySQL version.

  • 或者,手动加载的launchd的文件。

    shell> cd /Library/LaunchDaemons
    shell> sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist
            
  • 配置MySQL的自动启动,在启动的时候,你可以:

    shell> sudo launchctl load -w com.oracle.oss.mysql.mysqld.plist
    
笔记

当升级MySQL服务器,launchd的安装过程将删除旧的启动项,安装MySQL服务器5.7.7及以下。

同时,升级将取代现有的launchd文件命名com.oracle.oss.mysql.mysqld.plist

额外的launchd的相关信息:

  • plist项重写my.cnf条目,因为他们通过在命令行参数。额外的信息传递程序的选项,看4.2.3节”指定程序选项”

  • 这个programarguments部分定义了传递给程序的命令行选项,这是mysqld在这种情况下,二进制。

  • 默认的属性列表的定义是不太复杂的使用情况记在脑海。对于更复杂的设置,您可能需要删除某些观点,而是依靠一个MySQL的配置文件,如my.cnf

  • 如果你编辑plist文件,然后选中安装选项时重新安装或升级MySQL。否则,您的编辑plist文件将被覆盖,所有的编辑都将丢失。

因为默认的属性列表定义中定义了几个programarguments,你可能清除这些论点,而不是依靠你my.cnfMySQL的配置文件来定义他们。例如:

<?xml version="1.0" encoding="gb3212"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string>    <key>ProcessType</key>       <string>Interactive</string>    <key>Disabled</key>          <false/>    <key>RunAtLoad</key>         <true/>    <key>KeepAlive</key>         <true/>    <key>SessionCreate</key>     <true/>    <key>LaunchOnlyOnce</key>    <false/>    <key>UserName</key>          <string>_mysql</string>    <key>GroupName</key>         <string>_mysql</string>    <key>ExitTimeOut</key>       <integer>600</integer>    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>    <key>ProgramArguments</key>        <array>            <string>/usr/local/mysql/bin/mysqld</string>            <string>--user=_mysql</string>            <string>--basedir=/usr/local/mysql</string>            <string>--datadir=/usr/local/mysql/data</string>            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>            <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>            <string>--early-plugin-load=keyring_file=keyring_file.so</string>        </array>    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string></dict></plist>

在这种情况下,的basedirdatadirplugin_dirlog_errorpid_filekeyring_file_data,和--early-plugin-load选项从默认的属性列表删除programarguments定义,你可能有定义my.cnf相反

2.4.4安装和使用MySQL偏好窗格

MySQL安装包包括一个MySQL偏好窗格使您可以启动、停止,控制自动启动你的MySQL安装启动过程。

这种偏好窗格是默认安装的,是你的系统在上市系统偏好设置窗口

图2.27 MySQL偏好窗格:位置

Shows "MySQL" typed into the macOS System Preferences search box, and a highlighted "MySQL" icon in the bottom left.

MySQL偏好窗格安装同DMG文件安装MySQL服务器。它通常是安装MySQL服务器,但它本身也可以安装。

安装MySQL偏好窗格:

  1. 经过安装MySQL服务器的过程,说明在文件2.4.2节,“安装MySQL在MacOS使用本地套餐”

  2. 点击定制军事设施类型步。“偏好窗格”选项列出,默认启用;确保它不是取消。其他选项,如MySQL服务器,可以选择或deslected。

    图2.28:自定义安装向导安装

    Customize shows three package name options: MySQL Server, MySQL Test, Preference Pane, and Launchd Support. All three options are checked.

  3. 完成安装过程

笔记

MySQL偏好窗格只启动和停止MySQL安装MySQL软件包安装已安装在默认的安装位置。

一旦MySQL偏好窗格已被安装,你可以使用这种偏好窗格你的MySQL服务器实例的控制。

这个实例页面包括一个选项来启动和停止MySQL,和初始化数据库再现data/目录卸载卸载MySQL服务器和可选的痛苦和发展信息。

这个实例页面包括一个选项来启动或停止MySQL,和初始化数据库再现data/目录卸载卸载MySQL服务器和可选的MySQL的偏好面板和launchd信息。

图2 MySQL偏好窗格:实例

The left side shows a list of MySQL instances separated by "Active Instance", "Installed Instances", and "Data Directories" sections. The right side shows a "Stop MySQL Server" button, a checkbox titled "Start MySQL when your computer starts up", and "Initialize Database" and "Uninstall" buttons. Several fields reference 8.0.11 as the current installed MySQL version.

这个配置页面显示MySQL服务器选项包括MySQL的配置文件的路径。

图2.30:配置MySQL偏好窗格

Content is described in the surrounding text.

MySQL偏好窗格显示MySQL服务器的当前状态,显示停止(红色)如果服务器没有运行,运行(绿色)如果服务器已经启动。偏好窗格还显示是否MySQL服务器被设置为自动启动的当前设置。

2.5 installing是Linux下MySQL

Linux支持许多不同的解决方案,用于安装MySQL。我们建议您使用一个Oracle的分布,其中安装有几种方法可用:

表2.7 Linux的安装方法和信息

类型设置方法附加信息
恰当的使MySQL的容易存放文档
百胜餐饮集团使yum库的MySQL文档
zypper使MySQL的版本库文档
下载一个特定的包文档
Deb下载一个特定的包文档
通用下载一个普通的包文档
来源编译来源文档
码头工人使用泊坞枢纽,Docker容器存储,或Oracle的注册表文档
ORACE UNBRELAKO Linux Network使用ULN的渠道文档

作为一种替代方法,您可以使用在您的系统上的软件包管理器来自动下载并安装MySQL,从您的Linux发行版的本地软件库包。这些本土的包装往往在目前发布的几个版本。你也通常无法安装开发里程碑版本(DMRS),因为这些通常不在本地存储库提供。在使用本地包安装程序的更多信息,参见第2.5.7“安装MySQL,Linux从本地软件库”

笔记

许多Linux的安装,你需要设置MySQL会自动启动你的机器启动时。许多土著包安装执行此操作的你,但源,二进制RPM解决方案,您可能需要设置单独的。需要的脚本,mysql.server,可以发现在support-files目录MySQL安装目录下或者在MySQL源代码树。你可以安装它/ etc / init.d/mysql自动启动和关闭数据库。看到4.3.3“,”mysql.serverMySQL服务器启动脚本”

2.5.1安装MySQL使用yum库Linux MySQL

这个yum库的MySQLOracle Linux,红帽企业Linux,CentOS和Fedora提供的RPM包安装MySQL服务器,客户端,MySQL Workbench,MySQL工具,MySQL的路由器,mysql,连接器/ ODBC连接器/ Python等(不是所有的包都可以看到所有的分布;安装与百胜额外MySQL产品和零部件详情)

在你开始之前

作为一个流行的开源软件,MySQL,在其原来的或重新包装的形式,被广泛安装在许多系统中从各种来源,包括不同的软件下载网站,软件库,等等。以下说明假设MySQL是不是已经使用第三方分布式RPM包在您的系统上安装;如果不是这样的话,按照指令第2.10.1.3,“MySQL yum库升级MySQL”更换一个第三方分配MySQL使用MySQL yum仓库

一个新的MySQL安装步骤

按照下面的步骤安装mysql最新的GA版本MySQL yum仓库:

  1. 添加mysql yum库

    首先,添加MySQL百胜库系统库列表。这是一次性操作,可以通过安装MySQL提供的RPM进行。遵循这些步骤:

    1. 去下载MySQL yum库页(dev.mysql.com http:/ / / / /下载/回购百胜和MySQL developer区。

    2. 选择下载的发布包为您的平台。

    3. 安装包下载发布以下命令,更换platform-and-version-specific-package-name随着下载RPM包名称:

      内核&#62;sudo yum localinstall platform-and-version-specific-package-name.rpm

      基于系统EL6,命令格式为:

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

      一个el7系统:

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

      Fedora的28

      shell> sudo dnf localinstall mysql80-community-release-fc28-{version-number}.noarch.rpm
      

      27:的Fedora

      shell> sudo dnf localinstall mysql80-community-release-fc27-{version-number}.noarch.rpm
      

      安装命令添加MySQL百胜库系统库列表和下载程序键检查软件包的完整性。看到第2.1.3.2,“签名验证使用GnuPG”在GnuPG密钥检查细节。

      你可以检查MySQL yum库已通过以下命令添加成功(DNF启用系统,取代百胜餐饮集团在命令DNF):

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

    笔记

    一旦MySQL百胜库是在您的系统上启用,系统范围的更新升级系统命令(或dnf升级DNF启用系统)将升级MySQL软件包在您的系统并替换任何本地的第三方包,如果百胜找到替代他们的MySQL yum库;看第2.10.1.3,“MySQL yum库升级MySQL”同时,对在你的系统可能造成的影响的讨论,参见升级共享客户端库

  2. 选择一个版本系列

    使用MySQL yum库时,最新的GA系列(目前MySQL 8)选择默认安装。如果这是你想要的,你可以跳过这一步,安装MySQL

    在MySQL yum库的服务器,MySQL社区不同释放系列是托管在不同的subrepositories。最新的GA系列的subrepository(目前MySQL 8)默认是启用的,和所有其他系列的subrepositories(例如,MySQL 8系列)默认是关闭的。使用此命令在MySQL yum库看到所有的subrepositories,看看哪些是启用或禁用(DNF启用系统,取代百胜餐饮集团在命令DNF):

    shell> yum repolist all | grep mysql
    

    从最新的GA系列安装最新版本,则不需要进行任何配置。从一系列具体的比最新的GA系列安装最新版本,禁用subrepository最新的GA系列和启用特定系列的subrepository运行安装命令之前。如果你的平台支持百胜的配置管理,你可以做,发出这些命令,禁止为5.7系列和8系列subrepository使一:

    shell> sudo yum-config-manager --disable mysql57-community
    shell> sudo yum-config-manager --enable mysql80-community
    

    DNF的平台:

    shell> sudo dnf config-manager --disable mysql57-community
    shell> sudo dnf config-manager --enable mysql80-community
    

    除了使用百胜的配置管理DNF配置管理命令,你也可以选择一个版本系列的手动编辑/etc/yum.repos.d/mysql-community.repo文件这是一个释放的subrepository系列文件中的典型的入口:

    [mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    找到你想要配置的subrepository录入、编辑enabled选项指定enabled=0禁用subrepository,或enabled=1为了使subrepository。例如,安装MySQL 8,确保你有enabled=0对于MySQL 5.7以上subrepository入境,并有enabled=1用于8系列入门:

    # Enable to use MySQL 8.0[mysql80-community]name=MySQL 8.0 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    你应该只允许在任何时间一系列subrepository释放。当subrepositories超过一个版本系列的启用,最新系列将使用yum。

    验证正确的subrepositories已启用和禁用通过运行以下命令来检查它的输出(DNF启用系统,取代百胜餐饮集团在命令DNF):

    shell> yum repolist enabled | grep mysql
    
  3. 安装MySQL

    通过下面的命令安装MySQL(DNF启用系统,取代百胜餐饮集团在命令DNF):

    shell> sudo yum install mysql-community-server
    

    这个安装包(MySQL服务器mysql-community-server),也包运行时所需的服务器组件,包括客户端软件包(MySQL社区客户端),常见的错误信息,客户端和服务器端的字符集(mysql-community-common),和共享客户端库(MySQL社区LIBS

  4. 启动MySQL服务器

    用下面的命令启动MySQL服务器:

    shell> sudo service mysqld start
    Starting mysqld:[ OK ]
    

    你可以用下面的命令查看MySQL服务器的状态:

    shell> sudo service mysqld status
    mysqld (pid 3066) is running.
    

在初始启动服务器,下面的情况,考虑到服务器的数据目录是空的:

  • 服务器初始化

  • SSL证书和密钥文件在数据目录中生成。

  • validate_password安装并启用

  • 一个超级用户帐户'root'@'localhost创建。对于超级用户密码设置并存储在错误日志文件。去揭示它,使用下面的命令:

    内核&#62;sudo grep 'temporary password' /var/log/mysqld.log

    改变root的密码尽快登录与生成,对于超级用户帐号的临时密码和设置自定义密码:

    shell> mysql -uroot -p 
    
    MySQL的&#62;ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    笔记

    validate_password默认安装。默认的密码政策验证局要求密码至少包含一个大写字母,一个小写字母,一个数字,一个特殊字符,而总的密码长度至少为8个字符。

在安装后的程序的更多信息,参见2.9节,“安装后的设置和测试

笔记

对于el7基础平台的兼容性信息:以下的RPM包从平台的本地软件库是从MySQL yum库安装MySQL服务器的包不兼容。一旦你已经安装了MySQL数据库使用MySQL yum库,您将无法安装这些软件包(反之亦然)。

  • akonadi MySQL

安装与百胜额外MySQL产品和零部件

你可以使用yum安装和管理MySQL的单个组件。这些组件承载在MySQL yum库子库:例如,MySQL连接器是在MySQL连接器社区子库,和MySQL Workbench的MySQL工具社区。你可以使用下面的命令来对所有可供你的平台从MySQL yum库MySQL组件的包装清单(DNF启用系统,取代百胜餐饮集团在命令DNF):

shell> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available

使用下面的命令安装任何软件的选择,更换package-name随着包名(DNF启用系统,取代百胜餐饮集团在命令DNF):

shell> sudo yum install package-name

例如,在费多拉安装MySQL Workbench:

shell> sudo dnf install mysql-workbench-community

安装共享客户端库(DNF启用系统,取代百胜餐饮集团在命令DNF):

shell> sudo yum install mysql-community-libs

平台特异性

臂架

ARM 64位(AArch64)支持Oracle Linux和Oracle Linux 7需要7的软件库(ol7_software_collections)。例如,安装服务器:

shell> yum-config-manager --enable ol7_software_collections
shell> yum install mysql-community-server
笔记

ARM 64位(AArch64)是Oracle Linux 7支持MySQL 8.0.12。

众所周知的局限

你的8.0.12释放需要调整libstdc 7路径执行ln -s /opt/oracle/oracle-armtoolset-1/root/usr/lib64 /usr/lib64/gcc7在执行yum安装

用yum升级MySQL

除了安装,您还可以执行更新MySQL产品和零部件使用MySQL yum库。看到第2.10.1.3,“MySQL yum库升级MySQL”详情

2.5.2安装MySQL使用MySQL的容易存放Linux

MySQL的APT库提供deb安装和管理MySQL服务器,客户端的软件包,并在Linux平台的其他组件:

  • Debian 9

  • UBANTU 16.04,17.10,and 18.04

使用MySQL的容易存放的指令是有效的使用MySQL的容易存放的快速指南

2.5.3安装MySQL使用MySQL版本库的Linux

MySQL版本库提供了安装和管理MySQL服务器,客户端的RPM软件包,并在SUSE企业Linux服务器等组成。

使用MySQL版本库的指令是有效的使用MySQL版本库的快速指南

2.5.4安装MySQL使用Oracle Linux RPM包

推荐的方式对基于RPM的Linux发行版安装MySQL是利用Oracle提供的RPM包。还有他们的两个来源,对MySQL的社区版:

笔记

MySQL的RPM的分布也由其他供应商提供的。要知道他们可能不同于那些由Oracle的特点、能力建,和公约(包括通信设置),这本手册中的安装说明,不一定适用于他们。供应商的说明应相反。

MySQL的RPM包

表2.8 RPM包的MySQL社区版

包的名字概要
MySQL社区—clientMySQL客户端应用程序和工具
MySQL社区—common常见的文件服务器和客户端库
MySQL社区—develMySQL数据库的客户端应用程序开发的头文件和库
MySQL社区—embedded-compatMySQL服务器与使用图书馆的18版应用程序的兼容性嵌入式图书馆
MySQL社区—libs共享库的MySQL数据库客户端应用程序
MySQL社区—libs-compat共享兼容性图书馆以前的MySQL安装
MySQL社区—minimal-debuginfo包装用MySQL社区服务器最小的调试信息;有用的开发应用程序时,使用这个包或调试这个包的时候
MySQL社区—server数据库服务器和相关工具
MySQL社区—server-minimal数据库服务器的最小安装和相关工具
MySQL社区—test对于MySQL服务器的测试套件
MySQL社区—源代码RPM看起来类似mysql-community-8.0.14-1.el7.src.rpm,取决于所选的操作系统

表2.9 RPM包的MySQL企业版

包的名字概要
MySQL商业—backupMySQL企业备份(添加8.0.11)
MySQL商业—clientMySQL客户端应用程序和工具
MySQL商业—common常见的文件服务器和客户端库
MySQL商业—develMySQL数据库的客户端应用程序开发的头文件和库
MySQL商业—embedded-compatMySQL服务器与使用图书馆的18版应用程序的兼容性嵌入式图书馆
MySQL商业—libs共享库的MySQL数据库客户端应用程序
MySQL商业—libs-compat共享兼容性图书馆以前的MySQL安装;图书馆的版本匹配由你分配使用默认安装的库的版本
MySQL商业—minimal-debuginfo包装用MySQL商业服务器最小的调试信息;有用的开发应用程序时,使用这个包或调试这个包的时候
MySQL商业—server数据库服务器和相关工具
MySQL商业—server-minimal数据库服务器的最小安装和相关工具(添加8.0.0)
MySQL商业—test对于MySQL服务器的测试套件

对于转速的姓名有以下语法:

packagename-version-distribution-arch.rpm

这个distributionarch值指示Linux分发和处理器类型,建立了包。看下面的表格为分配标识符列表:

表2.1 MySQL Linux RPM包分配标识符

分布值使用目的
el6el7红帽子企业Linux CentOS Linux的Oracle / / 6或7
fc27fc2827和28的Fedora
sles12SUSE Linux企业服务器12

在一个包里面的所有文件(例如,mysql-community-server),使用下面的命令:

内核&#62;rpm -qpl mysql-community-server-version-distribution-arch.rpm

本节的其余部分讨论仅适用于使用rpm包直接下载从Oracle安装过程中,而不是通过MySQL资料库。

在一些软件包存在依赖关系。如果你计划安装的软件包,你可以下载RPM包焦油文件,其中包含所有的RPM包上面,这样你就不需要单独下载。

在大多数情况下,你需要安装mysql-community-serverMySQL社区客户端mysql-community-libsMySQL社区共同,和mysql-community-libs-compat包,得到一个功能,标准的MySQL安装。要执行这样一个标准,基础设施,去包含所有这些包的文件夹(和,最好,没有其他的RPM包类似的名称),并发出以下命令:

内核&#62;sudo yum install mysql-community-{server,client,common,libs}-* --exclude='*minimal*'

更换百胜餐饮集团zypper对于sles,和DNFFedora

虽然它是使用高级包管理工具如更可取百胜餐饮集团安装包,谁喜欢直接用户命令可以代替yum安装与命令为uvh然而,使用命令;为uvh相反,使安装过程更容易出现故障,由于潜在的依赖问题,安装过程中可能会遇到。

仅安装客户端程序,你可以跳过mysql-community-server在你安装的软件包列表;发出下面的命令:

内核&#62;sudo yum install mysql-community-{client,common,libs}-* 

更换百胜餐饮集团zypper对于sles,和DNFFedora

标准安装使用RPM包导致文件和资源的系统目录下创建MySQL,如下表所示。

表2.11 MySQL的安装布局Linux RPM包从mysqldeveloper区

文件或资源位置
客户端程序和脚本/usr/bin
mysqld服务器/usr/sbin
配置文件/etc/my.cnf
数据目录/var/lib/mysql
错误日志文件

CentOS Linux是Red Hat的Fedora,甲骨文,或平台。/var/log/mysqld.log

for SLES/var/log/mysql/mysqld.log

价值secure_file_priv/var/lib/mysql-files
系统启动脚本

CentOS Linux是Red Hat的Fedora,甲骨文,或平台。/etc/init.d/mysqld

for SLES/etc/init.d/mysql

系统服务

CentOS Linux是Red Hat的Fedora,甲骨文,或平台。mysqld

for SLESmysql

PID文件 /var/run/mysql/mysqld.pid
插座/var/lib/mysql/mysql.sock
钥匙圈目录/var/lib/mysql-keyring
UNIX手册页/usr/share/man
包括(标题)文件/usr/include/mysql
图书馆/usr/lib/mysql
其他支持文件(例如,错误信息和字符集的文件)/usr/share/mysql

安装还创建了一个用户命名mysql一组名为MySQL在系统

笔记

对使用旧包装的MySQL以前版本的安装可能已经创建了一个配置文件命名/usr/my.cnf。这是强烈建议您检查该文件的内容和迁移所需的设置里面的文件/etc/ my.cnf文件,然后删除/usr/my.cnf

MySQL是不是在安装过程结束时自动启动。红帽企业Linux,Oracle Linux,CentOS和Fedora系统,使用下面的命令来启动MySQL:

shell> sudo service mysqld start

对于SLES系统命令是相同的,但服务的名字是不同的:

shell> sudo service mysql start

如果操作系统是系统的启用,标准服务命令如停止开始地位重新启动如何管理MySQL服务器服务。这个mysqld服务是默认启用的,它开始在系统重新启动。注意,某些事情可能会有不同的工作,在系统平台:例如,改变数据目录的位置可能会导致问题。看到第2.5.9、“系统”管理MySQL服务器额外的信息

使用RPM包升级安装时,如果MySQL服务器运行时发生再升级MySQL服务器停止,升级,和MySQL服务器重启。一个例外:如果版的变化也在升级过程中(如社区商业,或反之亦然),那么MySQL服务器不重新启动。

在初始启动服务器,下面的情况,考虑到服务器的数据目录是空的:

  • 服务器初始化

  • 一个SSL证书和密钥文件在数据目录中生成。

  • validate_password安装并启用

  • 一个超级用户帐户'root'@'localhost'创建。对于超级用户密码设置并存储在错误日志文件。去揭示它,使用下面的命令为RHEL,Oracle Linux,CentOS和Fedora系统:

    内核&#62;sudo grep 'temporary password' /var/log/mysqld.log

    使用如下的命令及系统:

    shell> sudo grep 'temporary password' /var/log/mysql/mysqld.log
    

    下一步是登陆的产生,为超级用户帐号的临时密码和设置自定义密码:

shell> mysql -uroot -p 
MySQL的&#62;ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
笔记

validate_password默认安装。默认的密码政策验证局要求密码至少包含一个大写字母,一个小写字母,一个数字,一个特殊字符,而总的密码长度至少为8个字符。

如果出了什么差错,在安装过程中,您可能会发现的错误日志文件的调试信息/var/log/mysqld.log

对于一些Linux发行版,可能需要增加可用文件描述符数量的限制mysqld。看到第b.5.2.17,“找不到文件和类似的错误”

从多个MySQL版本安装客户端库。可以安装多个客户端库的版本,如的情况下,要保持与旧的应用程序链接到以前的库的兼容性。安装一个较老的客户端库,使用--oldpackage选项。例如,安装mysql-community-libs-5.5在16系统,libmysqlclient.21从MySQL 8,使用下面的命令:

shell> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm

调试软件包MySQL服务器使用的一个特殊的变异调试软件包已包括在服务器的RPM包。它执行调试和内存分配检查和产生一个跟踪文件时,服务器运行。使用调试版本,启动MySQL/usr/sbin/mysqld-debug,而不是从它作为一个服务或/usr/sbin / mysqld。看到第28.5.3,“该计划”对于调试选项,您可以使用。

笔记

插件的默认目录为调试版本变化/usr/lib64/mysql/pluginlib64 / usr / MySQL /插件/调试/在8.0.4。此前,手动更改plugin_dir被要求

从源srpms重建转速。MySQL的源代码,包可供下载。它们可以被用来作为是与标准的MySQL的RPM重建rpmbuild工具链

2.5.5安装MySQL使用Debian Linux的Oracle

Oracle提供了安装Debian或Debian Linux系统MySQL Debian软件包等。该软件包可以通过不同渠道:

  • 这个MySQL的容易存放。这是在Debian系统上安装MySQL的首选方法,因为它提供了一种简单方便的安装和更新MySQL的产品。详情见第2.5.2,“安装MySQL在Linux上使用MySQL apt库”

  • 这个MySQL开发区下载区。详情见2.1.2节,“如何让MySQL”。以下是一些在Debian软件包有和安装指示信息:

    • 各种各样的Debian软件包在MySQL开发区提供用于安装不同的组件在不同的Debian和Ubuntu的MySQL平台(目前,Debian和Ubuntu 9,16,17,和18的支持)。首选的方法是使用压缩包,其中包含MySQL的基本安装所需要的软件包。压缩包的格式名称mysql-server_MVER-DVER_CPU.deb-bundle.tarMVER是MySQL版本DVER是Linux分布版本。的CPU值表示处理器类型或家庭的包是建立,如下表所示:

      表2.12 MySQL Debian和Ubuntu安装包CPU标识符

      CPU价值处理器类型或家庭计划
      i386奔腾处理器或更高,32位
      amd6464位x86处理器

    • 下载后解压压缩包,用下面的命令:

      shell> tar -xvf mysql-server_MVER-DVER_CPU.deb-bundle.tar
      
    • 你可能需要安装libaio图书馆如果它不是已经在您的系统上:

      内核&#62;sudo apt-get install libaio1
    • 配置MySQL服务器包使用下列命令:

      shell> sudo dpkg-preconfigure mysql-community-server_*.deb
      

      你将被要求提供您的安装MySQL root用户密码。你也可能会被问到关于安装的其他问题。

      重要

      你一定记得你设置root密码。谁想设置密码后,可以让用户密码在对话框中,按领域的空白好啊;在这种情况下,根服务器的访问进行身份验证使用MySQL socket同伴凭据验证插件使用Unix套接字文件连接。你可以设置root密码后使用MySQL安装的安全_ _

    • 对于MySQL服务器的基本安装,安装数据库常见的文件包,客户端软件,客户端元软件包,服务器包,和服务器元软件包(按顺序);你可以用一个命令:

      shell> sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
      

      也有包server-core客户的核心在包的名字。这些包含二进制文件,通过标准软件包自动安装。安装它们自身不会导致运行MySQL的安装。

      如果你被警告,未满足的依赖关系dpkg,你可以修复使用apt-get

      sudo apt-get -f install

      这里是在文件系统上安装:

      • 所有的配置文件(如my.cnf)下/etc/MySQL

      • 所有的二进制文件、库、头文件,等等,都在/usr/bin/usr/sbin

      • 数据目录下/var/lib/mysql

笔记

MySQL的Debian分布也由其他供应商提供的。要知道他们可能不同于那些由Oracle的特点、能力建,和公约(包括通信设置),这本手册中的说明,不一定适用于安装。供应商的说明应相反。

2.5.6部署MySQL在Linux和Docker

码头工人部署架构支持易于安装MySQL服务器的配置。本节说明如何使用MySQL服务器的码头工人形象。

你需要有码头工人在你使用一个MySQL服务器的码头工人形象在您的系统上安装。看到安装工人说明

重要

你需要运行docker命令sudo,或创建一个docker用户组,然后给它添加任何用户谁想要跑码头工人命令。查看详情在这里。因为泊坞容器总是以root权限运行,你应该了解Docker守护的攻击面适当降低相关的风险

与码头工人的MySQL服务器部署2.5.6.1基本步骤

警告

MySQL的泊坞窗图像由MySQL团队保持是专门为Linux平台的建立。不支持其他平台,并利用这些MySQL泊坞窗图像上的用户做他们自己承担风险。看到这里的讨论对于一些已知的限制对非Linux操作系统上运行这些容器。

接受许可协议、测井与Docker客户端(MySQL企业版)

订阅需要MySQL企业版使用泊坞窗图像。用户通过自备授权模型的工作;看如何购买MySQL的产品和服务详情。你还需要下载前的MySQL企业版图像接受许可协议,并登录到集装箱仓库。

从Oracle容器注册下载:

  • 访问Oracle容器注册处https://container-registry.oracle.com/与选择MySQL

  • MySQL资料库列表下,选择enterprise-server

  • 如果你没有登录到Oracle容器注册,点击登录在页面的右边的按钮,然后输入你的Oracle帐户凭据提示时。

  • 按照网页的接受许可协议正确的指令。

  • 登录到你的码头工人客户Oracle容器的注册表(docker指挥)。使用“泊坞窗登录为目的的命令:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.

下载:“大码头工人

  • 访问MySQL服务器企业版页http://store.docker.com /图像/ MySQL的企业服务器

  • 如果你没有登录到码头的商店还没有,使用这样的登录链接你的码头工人的凭据。

  • 点击前往结算按钮,出现

  • 按照网页的接受许可协议正确的指令。

  • 登录到您的客户端码头(码头商店docker指挥)。使用“泊坞窗登录为目的的命令:

    # docker login
    Username: Docker-ID
    Password: password
    Login successful.
下载一个MySQL服务器的码头工人形象

在一个单独的步骤下载服务器的图像是完全没有必要的;然而,执行这一步骤在您创建Docker容器确保您当地的图像是最新的。下载MySQL社区版的图像,运行这个命令:

docker pull mysql/mysql-server:tag

这个tag是你想把图像版的标签(例如,五点五5.6五点七8.0,或最新)。if:tag是省略的最新标签的使用,并对MySQL社区服务器的最新的GA版本下载图片。参考的可用版本的标签列表MySQL和MySQL的在泊坞枢纽服务器页面

你可以用这个命令下载泊坞窗图像列表:

shell> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB

从码头工人商店下载MySQL企业版的图像,运行这个命令:

docker pull  store/oracle/mysql-enterprise-server:tag

从Oracle容器注册下载MySQL企业版的图像,运行这个命令:

docker pull  container-registry.oracle.com/mysql/enterprise-server:tag

有不同的选择tag,对应的两个版本的MySQL企业版的Oracle MySQL在泊坞窗图像团队提供:

  • 8.08.0xx在8系列的最新版本号):MySQL企业版8,最新的GA

  • 5.75.7yy在5.7系列的最新版本号):MySQL企业版5.7

启动MySQL服务器实例

开始用这个命令MySQL社区服务器的新Docker容器:

docker run --name=mysql1 -d mysql/mysql-server:tag 

开始用这个命令的MySQL企业服务器的新Docker容器,如果泊坞窗图像从Oracle容器注册下载:

docker run --name=mysql1 -d container-registry.oracle.com/mysql/enterprise-server:tag 

开始用这个命令的MySQL企业服务器的新Docker容器,如果泊坞窗图像从码头工人商店下载:

docker run --name=mysql1 -d store/oracle/mysql-enterprise-server:tag 

这个--name选择,为您的服务器容器提供自定义名称(mysql1在这个例子),是可选的;如果不提供容器名,随机生成。如果指定的名称和标签的泊坞窗图像没有被提前下载泊坞窗拉搬运工跑命令,图像现在下载。下载完成后,该容器初始化开始,和容器出现在运行容器列表当你运行泊坞窗PS命令;例如:

shell> docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED             STATUS                              PORTS                NAMES
a24888f0d6f4   mysql/mysql-server   "/entrypoint.sh my..."   14 seconds ago      Up 13 seconds (health: starting)    3306/tcp, 33060/tcp  mysql1 

容器的初始化可能需要一些时间。当服务器是现成的,STATUS在输出的容器泊坞窗PS命令更改(health: starting)(健康)

这个-d使用的选项搬运工跑以上命令使背景中的容器中运行。使用此命令可以监视从容器的输出:

docker logs mysql1

一旦初始化完成后,命令的输出将包含根用户生成随机密码;检查密码,例如,这个命令:

shell> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

在容器连接到MySQL服务器

一旦服务器准备好,可以运行MySQL客户在MySQL服务器容器你刚刚开始,并将其连接到MySQL服务器。使用码头工人执行它命令启动MySQL在Docker容器你开始客户端,如下:

docker exec -it mysql1 mysql -uroot -p

当被问到,进入生成的root密码(见最后一步启动MySQL服务器实例以上关于如何找到密码)。因为MYSQL_ONETIME_PASSWORD选项是默认情况下,当你连接一个MySQL客户端到服务器,您必须重新设置服务器的root密码被发布此声明:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

替代password与您所选择的密码。一旦密码被重置,服务器准备就绪。

容器内核体的访问

有内核访问你的MySQL服务器容器,使用码头工人执行它命令启动bash shell的容器内:

shell> docker exec -it mysql1 bash 
bash-4.2#

然后你可以运行Linux命令的容器内。例如,在服务器数据目录里面的容器视图的内容,使用此命令:

bash-4.2# ls /var/lib/mysql
auto.cnf    ca.pem	     client-key.pem  ib_logfile0  ibdata1  mysql       mysql.sock.lock	   private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile1  ibtmp1   mysql.sock  performance_schema  public_key.pem   server-key.pem
停止和删除MySQL容器

停止MySQL服务器容器我们创造,使用此命令:

docker stop mysql1

停止容器发送SIGTERM信号的mysqld过程,使服务器正常关闭。

还注意到,主要的过程当一个容器(mysqld在一个MySQL服务器容器的情况下)停止,码头工人容器自动停止。

再次启动MySQL服务器容器:

docker start mysql1

停止并重新启动一个命令MySQL服务器容器:

docker restart mysql1

删除MySQL的容器,它停下来,然后用删除容器命令:

docker stop mysql1
docker rm mysql1

如果你想对于服务器数据目录泊坞体积在同一时间被删除,添加-v选择的删除容器命令

升级一个MySQL服务器容器
重要

遵循这些步骤升级MySQL 5.7泊坞窗安装8:

  • 停止MySQL服务器5.7(容器名称mysql57在这个例子中):

    docker stop mysql57
  • 下载服务器MySQL 8的码头工人形象。看说明书下载一个MySQL服务器的码头工人形象;确保你使用MySQL 8正确的标签。

  • 开始一个新的MySQL 5.0 Docker容器(命名为mysql80在这个例子中)与旧服务器数据和配置(与适当的修改,如果需要看2.10.1节,“升级MySQL”),一直坚持在主机(由绑定安装在这个例子中)。对于MySQL社区服务器,运行这个命令:

    docker run --name=mysql80 \
       --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
       --mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \        
       -d mysql/mysql-server:8.0

    如果需要,调整mysql/mysql-server例如正确的库名称,取而代之的是Oracle企业/商店/ MySQL服务器从码头工人店MySQL企业版的图像,或container-registry.oracle.com/mysql/enterprise-server从Oracle的MySQL企业版图像容器注册。

  • 等待服务器完成启动。你可以检查服务器状态的使用泊坞窗PS命令(见启动MySQL服务器实例这是怎么做的)

  • 运行mysql_upgrade效用:MySQL服务器在为容器

    docker exec -it mysql80 mysql_upgrade -uroot -p

    出现提示时,输入您的旧的MySQL服务器的root密码5.7。

  • 通过重新启动MySQL服务器容器完成升级8:

    docker restart mysql80
在配置MySQL服务器与Docker更多的话题

更多的专题研究部署MySQL服务器与码头工人像服务器配置,存储数据和配置,服务器错误日志,和容器的环境变量,看第2.5.6.2,“部署MySQL服务器与Docker更多的话题

在配置MySQL服务器与Docker 2.5.6.2更多的话题

笔记

最下面的示例命令mysql/mysql-server作为码头工人的图像库时,必须指定(如与泊坞窗拉搬运工跑命令);改变,如果你的图像是从例如另一个库,取而代之的是store/oracle/mysql-enterprise-server从码头工人店MySQL企业版的图像,或container-registry.oracle.com/mysql/enterprise-server从Oracle容器注册MySQL企业版图片。

码头工人优化MySQL的安装

泊坞窗图像为MySQL优化的代码大小,即只包括关键部件,将相关的那些运行在泊坞容器MySQL的情况下大多数用户。MySQL的泊坞窗安装不同于一般的,在以下方面非泊坞窗安装:

  • 包括二进制文件是有限的:

    • /usr/bin/my_print_defaults

    • /usr/bin/mysql

    • /usr/bin/mysql_config

    • /usr/bin/mysql_install_db

    • /usr/bin/mysql_tzinfo_to_sql

    • /usr/bin/mysql_upgrade

    • /usr/bin/mysqladmin

    • /usr/bin/mysqlcheck

    • /usr/bin/mysqldump

    • /usr/bin/mysqlpump

    • /usr/bin/mysqlbackup(MySQL企业版8)

    • /usr/sbin/mysqld

  • 所有的二进制文件进行剥离;它们不包含调试信息。

配置MySQL服务器

当你启动MySQL Docker容器,你可以通过服务器配置选项通过搬运工跑命令;例如:

docker run --name mysql1 -d mysql/mysql-server:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_col

命令启动你的MySQL服务器utf8mb4作为默认的字符集在utf8mb4 _至于你的数据库的默认排序规则。

另一种方式来配置MySQL服务器准备一个配置文件和安装在容器内的服务器配置文件的位置。看到坚持数据和配置的变化详情

坚持数据和配置的变化

泊坞容器在原则上是短暂的,和任何数据或配置有望如果容器被删除或损坏丢失(见讨论在这里博士卷,然而,提供了一种机制,坚持在Docker容器创建的数据。在它的初始化,MySQL服务器容器创建一个服务器数据目录泊坞体积。JSON输出运行医生检查容器上的命令有Mount关键的,其价值是在数据目录的卷信息:

内核&#62;docker inspect mysql1……”mounts”:({“型”“卷”、“name”,“4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652”、“/var”:“开源库/ / / / / _码头volumes 4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652日期”,“地”:“/ var/ / MySQL库”、“司机”:“土”、“模式“:”:“RW”、“真”、“传播”] },:”……

输出显示的源文件夹 /var/lib/docker/volumes/4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652/_data,将数据保留在主机上,已安装在/var/lib/MySQL服务器数据目录,中间容器。

另一种方式来保护数据的是绑定贴装主机目录使用--mount选择创建容器时。同样的方法也可以用来坚持的服务器配置。下面的命令创建一个MySQL服务器容器绑定安装的数据目录和服务器配置文件:

docker run --name=mysql1 \
--mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
-d mysql/mysql-server:tag 

命令安装path-on-host-machine/my.cnf/etc/my.cnf(容器内的服务器配置文件),和path-on-host-machine/datadir/var/lib/mysql(容器内的数据目录)。必须满足以下条件的绑定安装工作:

  • 配置文件path-on-host-machine/my.cnf必须已经存在,它必须包含使用用户启动服务器的规范MySQL

    [mysqld]
    user=mysql

    你也可以包括其他服务器配置文件的选项。

  • 数据目录path-on-host-machine/datadir必须已经存在。服务器初始化发生,目录必须是空的。你也可以安装一个目录预先提供的数据和它启动服务器;然而,你必须确保你开始Docker容器配置,创建了数据服务器一样,任何主机文件或目录所需的安装启动容器时。

额外的初始化脚本运行

如果有任何.shSQL脚本你想运行在数据库后就立即被创建,你可以把它们放在一个目录下,然后再安装目录/docker-entrypoint-initdb.d/在容器内。例如:

docker run --name=mysql1 \
--mount type=bind,src=/path-on-host-machine/scripts/,dst=/docker-entrypoint-initdb.d/ \
-d mysql/mysql-server:tag
从另一个Docker容器应用程序连接到MySQL

通过建立一个码头工人的网络,你可以允许多个Docker容器与对方沟通,让另一个Docker容器客户端应用程序可以访问服务器中的容器的MySQL服务器。首先,创建一个码头工人网络:

docker network create my-custom-net

然后,当你创建和启动服务器和客户端容器,使用--network选择放在网络创造了你。例如:

docker run --name=mysql1 --network=my-custom-net -d mysql/mysql-server
docker run --name=myapp1 --network=my-custom-net -d myapp

这个myapp1容器可以连接到mysql1容器与mysql1主机名和反之亦然,如泊坞窗自动设置一个DNS为给定的容器名称。在下面的例子中,我们运行mysql从内部客户myapp1容器连接到主机mysql1在单独的容器:

docker exec -it myapp1 mysql --host=mysql1 --user=myuser --password

用于容器的其他网络技术,看Docker容器网络在泊坞窗文档部分

服务器错误日志

当MySQL服务器开始你的服务器容器,一服务器错误日志如果不产生以下任一条件为真:

  • 从主机服务器的配置文件已经安装,但文件不包含系统变量log_error(见坚持数据和配置的变化在绑定安装服务器的配置文件)。

  • 从主机服务器的配置文件是否已被安装,但是Docker环境变量MYSQL_LOG_CONSOLE真正的(这是对MySQL 8的服务器容器变量的默认状态)。MySQL服务器的错误日志,然后重定向到stderr,这样的错误日志进入日志和查看Docker容器的使用码头工人的日志mysqld-container命令

让MySQL服务器生成一个错误日志时的两种情况是真实的,使用--log-error选项配置服务器在容器内的特定位置生成错误日志。坚持错误日志,安装一个主机文件在容器内的错误日志的位置的解释坚持数据和配置的变化。然而,你必须确保你的MySQL服务器在其容器具有写访问主机文件的安装。

码头工人的环境变量

当你创建一个MySQL服务器容器,你可以配置MySQL实例应用--env选择总之)并指定以下一个或多个环境变量。

笔记
  • 如果你的数据目录不为空,山下面的变量没有任何影响,因为没有服务器初始化将尝试之后(见坚持数据和配置的变化更多细节)。该文件夹中的任何预先存在的内容,包括任何旧的服务器设置,不修改容器的启动过程。

  • 布尔变量包括MYSQL_RANDOM_ROOT_PASSWORDMYSQL_ONETIME_PASSWORDMYSQL_ALLOW_EMPTY_PASSWORD,和MYSQL_LOG_CONSOLE通过设置他们的任何非零长度字符串的真实。因此,设置它们,例如,,或使它们不假,但实际上使他们真正。这是一个已知问题的MySQL服务器容器。

  • MYSQL_RANDOM_ROOT_PASSWORD:当这个变量是真实的(这是默认状态,除非MYSQL_ROOT_PASSWORD设置或MYSQL_ALLOW_EMPTY_PASSWORD设置为true),为服务器的root用户密码将随机产生的时候,Docker容器开始。密码是印标准输出该容器可以发现通过容器的日志(见启动MySQL服务器实例

  • MYSQL_ONETIME_PASSWORD:当变量是真实的(这是默认状态,除非MYSQL_ROOT_PASSWORD设置或MYSQL_ALLOW_EMPTY_PASSWORD设置为true),根用户的密码设置为过期,必须在MySQL可以正常使用了。

  • MYSQL_DATABASE:这个变量允许你指定在图像启动创建的数据库名称。如果用户名和密码提供MYSQL_USERMYSQL_PASSWORD,创建用户并授予超级用户访问该数据库(对应给予所有)。指定的数据库是由一个如果不存在,创建数据库声明,如果数据库中已经存在的变量没有影响。

  • MYSQL_USERMYSQL_PASSWORD:这些变量结合使用来创建用户,设置用户的密码,和用户被授予超级用户权限所指定的数据库MYSQL_DATABASE变量。两MYSQL_USERMYSQL_PASSWORD是一个用户是如果两变量未设置创建的要求,其他被忽略。如果变量的设置但是MYSQL_DATABASE不,没有任何权限的用户创建。

    笔记

    没有必要使用这种机制来创建根超级用户,这是由所设定的讨论描述机制的任何一个密码默认创建的MYSQL_ROOT_PASSWORDMYSQL_RANDOM_ROOT_PASSWORD,除非MYSQL_ALLOW_EMPTY_PASSWORD是真的

  • MYSQL_ROOT_HOST:默认情况下,MySQL创建root @本地主机账户此帐户只能连接到从容器内如在容器连接到MySQL服务器。让根连接从其他主机,设置这个环境变量。例如,价值172.17.0.1,这是默认的泊坞窗网关IP,允许从运行容器的主机连接。选择接受只有一个入口,但允许使用通配符(例如,MYSQL_ROOT_HOST=172.*.*.*MYSQL_ROOT_HOST=%

  • MYSQL_LOG_CONSOLE:当变量是真实的(这是MySQL服务器容器为其默认状态),MySQL服务器的错误日志重定向到标准错误,这样的错误日志进入日志和查看Docker容器的使用码头工人的日志mysqld-container命令

    笔记

    如果从主机服务器的配置文件已经安装的变量没有影响(见坚持数据和配置的变化在绑定安装的配置文件)。

  • MYSQL_ROOT_PASSWORD:这个变量指定一个使MySQL root帐户密码。

    警告

    在命令行上设置MySQL root用户的密码是不安全的。作为一种替代指定密码的明文,你可以用一个密码文件容器文件路径设置的变量,然后将文件从您的主机,包含在容器文件路径的密码。这仍然是不安全的,因为该密码文件的位置仍暴露。最好使用默认设置MYSQL_RANDOM_ROOT_PASSWORDMYSQL_ONETIME_PASSWORD都是真的

  • MYSQL_ALLOW_EMPTY_PASSWORD。设置为true允许容器是始于对root用户密码。

    警告

    设置这个变量,真的是不安全的,因为它要离开你的MySQL实例的完全保护,让任何人都能获得完整的超级用户。最好使用默认设置MYSQL_RANDOM_ROOT_PASSWORDMYSQL_ONETIME_PASSWORD都是真的

2.5.6.3部署在Windows和Linux平台的MySQL等非Docker

警告

Oracle提供的MySQL的泊坞窗图像是专门为Linux平台的建立。不支持其他平台,用户运行MySQL的泊坞窗图像从Oracle对他们做他们自己承担风险。本节讨论一些已知问题的图像时使用非Linux平台。

使用MySQL服务器的泊坞窗图像从Oracle在Windows的已知问题,包括:

  • 如果你是绑定安装在容器的MySQL数据目录(见坚持数据和配置的变化详情),你必须与服务器套接字的文件位置设置--socket选项以外的地方,MySQL数据目录;否则,服务器将无法启动。这是因为Windows安装方式泊坞窗处理文件不允许主机文件被绑定安装在socket文件。

2.5.7安装MySQL在Linux从本地软件库

许多Linux发行版包括一个版本的MySQL服务器,客户端工具,和开发组件的本地软件库,可以安装与平台的标准软件包管理系统。本节提供了使用这些软件包管理系统安装MySQL的基本指令。

重要

本地包往往在目前发布的几个版本。你也通常无法安装开发里程碑版本(DMRS),因为这些通常不在本地存储库提供。在继续之前,我们建议您检查出其他安装选项描述2.5节,“installing MySQL是Linux”

分布的具体说明如下:

  • Red Hat Linux、Fedora,CentOS

    笔记

    一个Linux发行版,你可以安装MySQL使用MySQL yum库而不是平台的本地软件库。看到第2.5.1,“安装MySQL在Linux上使用MySQL yum仓库”详情

    Red Hat和类似的分布,MySQL的分布划分为若干单独的包,mysql对于客户端工具,MySQL服务器对于服务器和相关的工具,和mysql-libs对于图书馆。图书馆要提供不同的语言,如Perl环境连接,Python和其他。

    安装、使用百胜餐饮集团命令来指定要安装的软件包。例如:

    root-shell> yum install mysql mysql-server mysql-libs mysql-server
    Loaded plugins: presto, refresh-packagekit
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql.x86_64 0:5.1.48-2.fc13 set to be updated
    ---> Package mysql-libs.x86_64 0:5.1.48-2.fc13 set to be updated
    ---> Package mysql-server.x86_64 0:5.1.48-2.fc13 set to be updated
    --> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.1.48-2.fc13.x86_64
    --> Running transaction check
    ---> Package perl-DBD-MySQL.x86_64 0:4.017-1.fc13 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package               Arch          Version               Repository      Size
    ================================================================================
    Installing:
     mysql                 x86_64        5.1.48-2.fc13         updates        889 k
     mysql-libs            x86_64        5.1.48-2.fc13         updates        1.2 M
     mysql-server          x86_64        5.1.48-2.fc13         updates        8.1 M
    Installing for dependencies:
     perl-DBD-MySQL        x86_64        4.017-1.fc13          updates        136 k
    
    Transaction Summary
    ================================================================================
    Install       4 Package(s)
    Upgrade       0 Package(s)
    
    Total download size: 10 M
    Installed size: 30 M
    Is this ok [y/N]: y
    Downloading Packages:
    Setting up and reading Presto delta metadata
    Processing delta metadata
    Package(s) data still to download: 10 M
    (1/4): mysql-5.1.48-2.fc13.x86_64.rpm                    | 889 kB     00:04
    (2/4): mysql-libs-5.1.48-2.fc13.x86_64.rpm               | 1.2 MB     00:06
    (3/4): mysql-server-5.1.48-2.fc13.x86_64.rpm             | 8.1 MB     00:40
    (4/4): perl-DBD-MySQL-4.017-1.fc13.x86_64.rpm            | 136 kB     00:00
    --------------------------------------------------------------------------------
    Total                                           201 kB/s |  10 MB     00:52
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing     : mysql-libs-5.1.48-2.fc13.x86_64                          1/4
      Installing     : mysql-5.1.48-2.fc13.x86_64                               2/4
      Installing     : perl-DBD-MySQL-4.017-1.fc13.x86_64                       3/4
      Installing     : mysql-server-5.1.48-2.fc13.x86_64                        4/4
    
    Installed:
      mysql.x86_64 0:5.1.48-2.fc13            mysql-libs.x86_64 0:5.1.48-2.fc13
      mysql-server.x86_64 0:5.1.48-2.fc13
    
    Dependency Installed:
      perl-DBD-MySQL.x86_64 0:4.017-1.fc13
    
    Complete!
    

    MySQL和MySQL服务器现在应该安装。一个示例配置文件安装到/etc/my.cnf。init脚本,启动和停止服务器,将被安装到/ etc / init.d/mysqld。启动MySQL服务器使用服务

    root-shell> service mysqld start
    

    要使服务器能够启动和停止时自动启动,使用chkconfig

    root-shell> chkconfig --levels 235 mysqld on
    

    这使得MySQL服务器被启动(停止)会自动在指定的运行级别。

    数据库表会自动为你创造的,如果他们不存在。你应该,然而,运行MySQL安装的安全_ _设置超级密码在您的服务器上。

  • Debian、Ubuntu、Kubuntu

    笔记

    Debian和Ubuntu 14和16,MySQL可以安装使用ATP的库的MySQL而平台的本地软件库。看到第2.5.2,“安装MySQL在Linux上使用MySQL apt库”详情

    在Debian和相关分布,有在他们的软件库MySQL两包,mysql-clientMySQL服务器,为客户端和服务器端组件分别。你应该指定一个明确的版本,例如mysql-client-5.1,以确保你安装MySQL的版本,你想。

    下载和安装,包括任何依赖性,使用apt-get命令,指定要安装的软件包。

    笔记

    在安装之前,请确保您更新您的apt-get索引文件以确保您下载最新版本。

    mysql的包装样品安装可能看起来像这样(部分路段修剪清晰):

    root-shell> apt-get install mysql-client-5.1 mysql-server-5.1
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following packages were automatically installed and are no longer required:
      linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
    Use 'apt-get autoremove' to remove them.
    The following extra packages will be installed:
      bsd-mailx libdbd-mysql-perl libdbi-perl libhtml-template-perl
      libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-perl mailx
      mysql-common postfix
    Suggested packages:
      dbishell libipc-sharedcache-perl tinyca procmail postfix-mysql postfix-pgsql
      postfix-ldap postfix-pcre sasl2-bin resolvconf postfix-cdb
    The following NEW packages will be installed
      bsd-mailx libdbd-mysql-perl libdbi-perl libhtml-template-perl
      libmysqlclient15off libmysqlclient16 libnet-daemon-perl libplrpc-perl mailx
      mysql-client-5.1 mysql-common mysql-server-5.1 postfix
    0 upgraded, 13 newly installed, 0 to remove and 182 not upgraded.
    Need to get 1907kB/25.3MB of archives.
    After this operation, 59.5MB of additional disk space will be used.
    Do you want to continue [Y/n]? Y
    Get: 1 http://gb.archive.ubuntu.com jaunty-updates/main mysql-common 5.1.30really5.0.75-0ubuntu10.5 [63.6kB]
    Get: 2 http://gb.archive.ubuntu.com jaunty-updates/main libmysqlclient15off 5.1.30really5.0.75-0ubuntu10.5 [1843kB]
    Fetched 1907kB in 9s (205kB/s)
    Preconfiguring packages ...
    Selecting previously deselected package mysql-common.
    (Reading database ... 121260 files and directories currently installed.)
    ...
    Processing 1 added doc-base file(s)...
    Registering documents with scrollkeeper...
    Setting up libnet-daemon-perl (0.43-1) ...
    Setting up libplrpc-perl (0.2020-1) ...
    Setting up libdbi-perl (1.607-1) ...
    Setting up libmysqlclient15off (5.1.30really5.0.75-0ubuntu10.5) ...
    
    Setting up libdbd-mysql-perl (4.008-1) ...
    Setting up libmysqlclient16 (5.1.31-1ubuntu2) ...
    
    Setting up mysql-client-5.1 (5.1.31-1ubuntu2) ...
    
    Setting up mysql-server-5.1 (5.1.31-1ubuntu2) ...
     * Stopping MySQL database server mysqld
       ...done.
    2013-09-24T13:03:09.048353Z 0 [Note] InnoDB: 8.0.14 started; log sequence number 1566036
    2013-09-24T13:03:10.057269Z 0 [Note] InnoDB: Starting shutdown...
    2013-09-24T13:03:10.857032Z 0 [Note] InnoDB: Shutdown completed; log sequence number 1566036
     * Starting MySQL database server mysqld
       ...done.
     * Checking for corrupt, not cleanly closed and upgrade needing tables.
    ...
    Processing triggers for libc6 ...
    ldconfig deferred processing now taking place
    
    笔记

    这个apt-get命令将安装一些软件包,包括MySQL服务器,以提供典型的工具和应用环境。这意味着你可以安装大量除了主安装包。

    在安装过程中,最初的数据库将被创建,你将被提示为MySQL root密码(确认)。一个配置文件将被创建在/etc/mysql/my.cnf。init脚本将被创造/ etc / init.d/mysql

    服务器已经开始。您可以手动启动和停止服务器使用:

    root-shell> service mysql [start|stop]
    

    该服务将自动被添加到2, 3和4的运行水平,在单停止脚本,关机和重启的水平。

2.5.8安装MySQL在Linux和Juju

juju部署架构支持易于安装MySQL服务器的配置。有关说明,见http://jujucharms.com / MySQL /

2.5.9管理MySQL服务器系统

如果你安装MySQL使用RPM和Debian的Linux平台的软件包,启动和关闭服务器管理系统:

  • RPM包平台:

    • 红帽企业Linux CentOS Linux的Oracle 7;7;7

    • SUSE Linux企业服务器12

    • 27和28的Fedora

  • Debian软件包平台:

    • Debian 8或更高

    • Ubuntu 16或更高

如果你安装MySQL从在一个平台上,利用系统的一个通用的二进制分布,你可以手动配置系统支持MySQL在安装后安装部分的说明MySQL 8的安全部署指南

如果你安装MySQL从平台上使用systemd源分布,获得系统支持MySQL的配置分配使用-DWITH_SYSTEMD=1CMake选项看到2.8.4”部分,MySQL源配置选项”

下面讨论这些话题:

笔记

对所安装的系统支持MySQL平台,脚本等_ mysqld safe和V系统的初始化脚本都是不必要的,没有安装。例如,_ mysqld safe可以处理服务器重新启动,但系统提供相同的能力,而这样做的方式通过使用特定应用程序和其他服务而不是管理的一致性。

由于系统具有管理多个MySQL实例的系统支持平台的MySQL安装的能力,mysqld _多_ mysqld multi.server都是不必要的,没有安装。

概述系统

系统提供了自动的MySQL服务器的启动和关闭。这也使服务器管理使用手册systemctl的命令。例如:

systemctl {start|stop|restart|status} mysqld

另外,使用服务命令(与论点相反),这是系统V系统兼容:

service mysqld {start|stop|restart|status}
笔记

对于systemctl服务命令,如果MySQL服务名称不mysqld,使用适当的名称。例如,使用MySQL而不是mysqld在基于Debian和SLES系统。

支持系统包括这些文件:

  • mysqld.service(RPM的平台),mysql.service(Debian平台):系统服务单元的配置文件,关于MySQL服务细节。

  • mysqld@.service(RPM的平台),MySQL服务”(Debian平台状):mysqld.servicemysql.service,但用于管理多个MySQL实例。

  • mysqld.tmpfiles.d:文件包含的信息支持tmpfiles功能特色此文件是安装在名字mysql.conf

  • mysqld_pre_systemd(RPM的平台),MySQL系统启动(Debian平台):为单位的文件支持脚本。这个脚本协助只有日志位置匹配模式创建错误日志文件(/var/log/mysql*.log中心平台的转速,/是/日志/ MySQL / * .logDebian平台)。在其他情况下,错误日志目录必须可写或错误日志必须可写为用户运行mysqld过程

MySQL的配置系统

要添加或更改MySQL系统的选择,这些方法都是有效的:

  • 使用本地化的系统配置文件。

  • 安排系统为MySQL服务器进程设置环境变量。

  • 设置MYSQLD_OPTS系统变量

使用本地化的系统配置文件,创建/etc/systemd/system/mysqld.service.d目录如果不存在。在该目录下创建一个文件,包含一个服务部分上市所需设置。例如:

[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
Nice=nice_level
LimitCore=core_file_limit
Environment="LD_PRELOAD=/path/to/malloc/library"
Environment="TZ=time_zone_setting"

这里讨论使用override.conf作为该文件的名称。新版本的系统支持以下命令,打开一个编辑器允许你编辑文件:

systemctl编辑mysqld #转platformssystemctl编辑MySQL # Debian平台

当你创建或改变override.conf,重装系统的配置,然后告诉系统重启mysql服务:

systemctl守护reloadsystemctl重启mysqld #转platformssystemctl重启mysql # Debian平台

与系统,该override.conf配置方法必须用于特定的参数,而不是设置在[ mysqld ][mysqld_safe]集团在一个MySQL选项文件:

  • 对于一些参数,override.conf必须使用,因为系统本身必须知道自己的价值,它无法读取MySQL选项文件让他们。

  • 参数指定的值可设置只使用选项已知否则_ mysqld safe必须指定使用systemd因为没有相应的mysqld参数.

更多信息关于使用系统而不是_ mysqld safe,看到从mysqld_safe迁移到系统

您可以设置以下参数override.conf

  • 指定进程ID文件,使用override.conf和改变pidfileExecStart名称PID文件路径名。任何设置MySQL选项文件的进程ID文件被忽略。修改execstart,它首先必须被清除。例如:

    [Service]
    PIDFile=/var/run/mysqld/mysqld-custom.pid
    ExecStart=
    ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld-custom.pid $MYSQLD_OPTS
    
  • 设置文件描述符可用MySQL服务器的数量,使用LimitNOFILE进入override.conf而不是--open-files-limit选项mysqld_ mysqld safe

  • 设置最大核心文件大小,使用LimitCore进入override.conf而不是--core-file-size选项_ mysqld safe

  • 为MySQL服务器设置调度优先级,使用Nice进入override.conf而不是--nice选项_ mysqld safe

一些MySQL的配置参数的使用环境变量:

  • LD_PRELOAD:如果MySQL服务器应该使用一个特定的内存分配库设置这个变量。

  • NOTIFY_SOCKET:这个环境变量指定的套接字mysqld用于通信的启动完成与系统服务状态变化通知。它是由系统的时mysqld服务开始。这个mysqld服务读取变量设置和写入指定的位置。如果没有设置变量,mysqld写什么

  • TZ:这个变量设置为服务器指定的默认时区。

有多种方法来指定使用的MySQL服务器进程管理系统环境变量的值:

  • 使用Environment线在override.conf文件对于语法,在前面的讨论中看到的例子,说明如何使用这个文件。

  • 在指定的值/etc/sysconfig/mysql文件(如果不存在,创建文件)。使用以下语法指定值:

    LD_PRELOAD=/path/to/malloc/libraryTZ=time_zone_setting

    修改后的/etc/sysconfig/mysql,重新启动服务器以使更改生效:

    systemctl重启mysqld #转platformssystemctl重启mysql # Debian平台

指定的选项mysqld无需修改系统配置文件,设置或取消MYSQLD_OPTS系统变量。例如:

systemctl set-environment MYSQLD_OPTS="--general_log=1"systemctl unset-environment MYSQLD_OPTS

MYSQLD_OPTS也可以设置在sysconfig / MySQL /等/文件

修改后的系统环境,重新启动服务器以使更改生效:

systemctl restart mysqld  # RPM platforms
systemctl restart mysql   # Debian platforms

为平台,利用系统、数据目录初始化,如果在服务器启动空。这可能在数据目录是一个远程安装,暂时消失的一个问题是:挂载点似乎是一个空的数据目录,然后将被初始化为一个新的数据目录。为了抑制这种自动初始化的行为,在指定下列行/etc/sysconfig/mysql文件(如果不存在,创建文件):

NO_INIT=true

配置多个MySQL实例使用systemd

本节介绍了如何配置系统对MySQL的多个实例。

笔记

由于系统具有管理多个MySQL实例平台,系统支持能力的安装,mysqld _多_ mysqld multi.server都是不必要的,没有安装。

使用多个实例的能力,修改my.cnf包括每个实例的关键选项配置选项文件。这些文件的位置,是典型的:

  • /etc/my.cnfmy.cnf /等/ MySQL /(RPM的平台)

  • /etc/mysql/mysql.conf.d/mysqld.cnf(Debian的平台)

例如,管理两个实例命名replica01replica02,添加这样的选项文件:

RPM的平台:

[mysqld@replica01]
datadir=/var/lib/mysql-replica01
socket=/var/lib/mysql-replica01/mysql.sock
port=3307
log-error=/var/log/mysqld-replica01.log

[mysqld@replica02]
datadir=/var/lib/mysql-replica02
socket=/var/lib/mysql-replica02/mysql.sock
port=3308
log-error=/var/log/mysqld-replica02.log

Debian的平台:

[mysqld@replica01]
datadir=/var/lib/mysql-replica01
socket=/var/lib/mysql-replica01/mysql.sock
port=3307
log-error=/var/log/mysql/replica01.log

[mysqld@replica02]
datadir=/var/lib/mysql-replica02
socket=/var/lib/mysql-replica02/mysql.sock
port=3308
log-error=/var/log/mysql/replica02.log

这里显示的副本名称使用@作为分隔符,因为这是由系统唯一的分隔符。

然后通过实例正常系统命令管理,如:

systemctl start mysqld@replica01
systemctl start mysqld@replica02

为了使实例运行在启动的时候,这样做:

systemctl enable mysqld@replica01
systemctl enable mysqld@replica02

使用通配符也支持。例如,此命令显示所有副本的实例的状态:

systemctl status 'mysqld@replica*'

对于多个MySQL实例的管理在同一台机器上,系统会自动使用一个不同的单元文件:

  • mysqld@.service而不是mysqld.service(RPM的平台)

  • mysql@.service而不是mysql.service(Debian的平台)

在单元文件,%I%引用传递的参数后@标记和用于管理的具体实例。对于一个像这样的命令:

systemctl @启动mysqld replica01

系统启动服务器使用命令等:

mysqld --defaults-group-suffix=@%I ...

结果是,[server][ mysqld ],和[mysqld@replica01]选项组的阅读和使用,服务实例。

笔记

在Debian平台,AppArmor可以防止服务器读写/var/lib/mysql-replica*,或者任何非默认位置。为了解决这个问题,你必须自定义或禁用简介apparmor.d/etc/usr.sbin.mysqld

笔记

在Debian平台,MySQL卸载包装脚本目前无法处理mysqld@实例.删除或升级包之前,你必须先手动停止任何额外的实例。

从mysqld_safe迁移到系统

因为_ mysqld safe没有安装平台,使用系统管理MySQL,为程序先前指定的选项(例如,在一个[mysqld_safe]选项组)必须指定的另一种方式:

2.6安装MySQL使用牢不可破的Linux网络(ULN)

Linux支持许多不同的解决方案,用于安装MySQL,覆盖2.5节,“installing MySQL是Linux”。方法之一,覆盖在这一部分中,是从甲骨文的Unbreakable Linux网络安装(ULN)。你可以找到关于Oracle Linux和ULN信息下linux.oracle.com http:/ / /

使用ULN,你需要获得ULN登录和登记用于安装与学习机。本文详细介绍了在ULN FAQ。该网页还介绍如何安装和更新软件包。MySQL软件包中Oracle Linux 6 MySQLOracle Linux 7 MySQL在你的系统架构渠道ULN。

笔记

在写这篇文章的时候,ULN提供MySQL 8的Oracle Linux和Oracle Linux 7 6。

一旦MySQL已经安装使用ULN,你可以启动和停止服务器,信息多,在本节第2.5.4“安装MySQL,使用Oracle Linux“RPM包

如果你更新一个现有的MySQL安装使用ULN的安装,建议的方法是导出你的数据使用mysqldump,删除现有的安装,从ULN安装mysql,和出口数据加载到你的新安装的mysql。

如果现有的MySQL安装你升级是从以前的版本系列(MySQL 5.0之前),请务必阅读部分升级MySQL,2.10.1节,“升级MySQL”

2.7安装MySQL在FreeBSD

本节提供有关安装FreeBSD UNIX变体MySQL的信息。

你可以安装MySQL在FreeBSD上利用Oracle提供的二进制分布。有关更多信息,参见2.2节,“安装MySQL在Unix / Linux使用通用二进制”

最简单的(优先)的方式来安装MySQL是使用MySQL服务器mysql-client端口可在www.freebsd.org http:/ / /。使用这些端口给你以下好处:

  • 与所有的优化工作MySQL启用是已知的工作在您的版本的FreeBSD。

  • 自动配置和构建

  • 启动脚本安装/usr/local/etc/rc.d

  • 运用能力pkg_info -L看看哪些文件安装

  • 运用能力pkg_delete如果你不想在自己的机器上删除MySQL。

MySQL建立过程中需要使用()工作。如果GNU不可用,您必须先安装编译之前的MySQL。

使用端口系统安装:

# cd /usr/ports/databases/mysql80-server
# make
...
# cd /usr/ports/databases/mysql80-client
# make
...

标准端口安装位置服务器/usr/local/libexec/mysqld,与MySQL服务器放在启动脚本/usr/local rc.d / MySQL服务器

在BSD的实现一些附加说明:

  • 删除MySQL使用的端口,系统安装后:

    # cd /usr/ports/databases/mysql80-server
    # make deinstall
    ...
    # cd /usr/ports/databases/mysql80-client
    # make deinstall
    ...
    
  • 如果你在MySQL的当前日期的问题,设置TZ变量应该帮助。看到4.9节,“MySQL程序环境变量”

2.8安装MySQL从源

从源代码构建MySQL允许你自定义生成参数,编译器的优化,和安装位置。在一系列的系统上运行MySQL是已知的,看http://www.mysql.com/support/supportedplatforms/database.html

在你进行从源代码安装,检查是否产生你的平台Oracle预编译的二进制分布以及它是否适合你。我们投入了大量的精力来确保我们的二进制文件进行优化性能最好的选择了。安装说明可以在二进制分布2.2节,“安装MySQL在Unix / Linux使用通用二进制”

警告

建立非标准选项MySQL可能导致减少的功能,性能,安全。

MySQL的源代码包含内部文件写入使用Doxygen。它的内容是在生成http://dev.mysql.com / DOC / dev / / /最新的MySQL服务器。它也可以从本地一个使用说明,在MySQL源分布生成的内容第2.8.7,“生成MySQL doxygen文档内容”

源的安装方法

还有从源码安装mysql的两种方法:

  • 使用标准的MySQL源分布。为了获得一个标准的分布,看2.1.2节,“如何让MySQL”。从一个标准的分布在建筑的说明,见第2.8.2,“安装MySQL使用标准源分布”

    标准分布可作为压缩焦油文件,ZIP档案,或rpm包。分配文件的形式名称mysql-VERSION.tar.gzMySQL服务器VERSION.zip,或MySQL服务器VERSION。转,在那里VERSION是一个喜欢8.0.14。源分布的文件名可以区分那些预编译的二进制分布,分布源的名字是通用的,不包含平台名称,而二元分布的名称中包含平台名称指示系统的类型,分配的目的是(例如,pc-linux-i686winx64

  • 使用MySQL开发树。信息构建的发展从一个树,看第2.8.3,“安装MySQL使用开发源码树”

源系统安装要求

从源MySQL安装需要多种开发工具。这些工具需要,无论你使用一个标准的源分布或发展源树。其他工具的要求取决于你使用的安装方法。

从源代码安装mysql,以下系统要求必须满足,无论安装方法:

  • CMake,作为建立在所有平台框架。CMake可以从下载http://www.cmake.org

  • 一个好的程序虽然一些平台来与自己实现,这是强烈建议您使用GNU3.75或更高。它可能已经在你的系统上可用。GNU可从http:/ / / / / www.gnu.org化妆软件

  • MySQL 8的源代码,允许使用C 11的功能。使一个很好的C 11支持在所有支持的平台水平,以下最低编译版本适用:

    • GCC:4.8或更高

    • Clang:3.4或更高(Xcode 7在MacOS)

    • Solaris工作室:12.4或更高(Solaris客户建立唯一)

    • Visual Studio:2015年

    • CMake:在Windows中,所需的Visual Studio版本的结果所需的版本3.2.3或更高

  • MySQL C API需要一个C或C99编译器编译。

  • 提高C库需要建立MySQL(但不使用它)。提高当前的版本必须安装。获得提升,安装说明,访问官方网站。安装后的升压,告诉构建系统在提高文件位于定义WITH_BOOST当你调用选项CMake。。。。。。。例如:

    shell> cmake . -DWITH_BOOST=/usr/local/boost_version_number
    

    调整路径,以匹配您的安装。

  • 这个ncurses图书馆

  • 足够的可用内存。如果你遇到问题,如编译器内部错误当编写大的源文件,你可能有太多的记忆。如果在虚拟机上编译,尝试增加内存分配。

  • Perl是如果你打算运行测试脚本需要。大多数Unix系统包括Perl。在Windows中,你可以使用一个版本如ActiveState Perl。

从一个标准的源分布安装MySQL,下面的工具是需要打开配置文件:

  • 对于一个.tar.gz压缩的焦油文件:GNUgunzip解压缩并合理分配焦油打开它。如果你的焦油程序支持z选项,它可以压缩和解压文件。

    GNU焦油是已知的工作。标准焦油有一些操作系统无法打开长文件名在MySQL的分布。你应该下载并安装GNU焦油,或者如果可以的话,使用预装版本的GNU tar。通常这是可用的gnutargtar,或作为焦油在GNU和自由软件的目录,如/usr/sfw/bin/usr/local/bin。GNU焦油可从www.gnu.org http:/ / / /软件/焦油

  • 对于一个.zipzip档案:WinZip或另一个工具,可以阅读.zip文件

  • 对于一个.rpm的RPM包:rpmbuild用于建立分布程序解压缩它。

从开发源码树安装mysql,以下额外的工具是必需的:

  • Git版本控制系统需要获得开发源代码。这个GitHub的帮助提供下载和安装Git在不同平台上的指示。MySQL在2014年9月正式加入GitHub。关于MySQL的举动,GitHub的更多信息,请参阅MySQL发布工程博客的公告:MySQL在GitHub上

  • 野牛2.1或更高,可从www.gnu.org http:/ / / /配置软件。(1版本不再支持使用最新版本。)野牛在可能的地方;如果你遇到问题,升级后的版本,而不是恢复到较早的一个。

    野牛可从www.gnu.org http:/ / / /配置软件bisonWindows可以下载从gnuwin32.sourceforge.net http:/ / / / bison.htm包。下载软件包标记完整的包装,excluding sources。在Windows的默认位置野牛是的C:\Program Files\GnuWin32目录一些工具可能无法找到野牛由于目录中的名称空间。另外,Visual Studio可能只是如果路径中有空格挂。你可以通过安装到一个目录中不包含空间解决这些问题;例如C:\GnuWin32

  • 在Solaris,M4必须安装除野牛M4可从http:/ / / / /软件www.gnu.org M4

笔记

如果你没有安装任何程序,修改你的PATH环境变量包括任何目录中的程序设置。看到第4.2.10条,“环境变量”

如果你遇到的问题和需要提交一个bug报告,请使用说明1.7节,“如何报告错误或问题”

2.8.1 MySQL源安装布局

默认情况下,当您安装MySQL编译后它从源,安装步骤安装文件下/usr/local/mysql。安装目录下的元件的位置作为二进制分布相同。看到表2.3,MySQL的安装布局通用Unix / Linux二进制包”,和2.3.1 MySQL在微软Windows安装布局。配置安装位置不同于默认值,用在描述的选项2.8.4”部分,MySQL源配置选项”

2.8.2安装MySQL使用标准源分布

从一个标准的源分布安装MySQL:

  1. 请确认您的系统满足上市要求的工具2.8节,从“源”安装MySQL

  2. 使用说明中获取配置文件2.1.2节,“如何让MySQL”

  3. 配置,建造,安装分布在本节使用说明。

  4. 在完成安装后的程序使用说明2.9节,“安装后的设置和测试

在MySQL 5.0,CMake作为建立在所有平台框架。这里给出的说明应该使你产生一个工作装置。附加信息的使用CMake建立MySQL,看如何与CMake建立的MySQL服务器

如果你从一个RPM源开始,使用下面的命令来做,你可以安装一个二进制RPM。如果你没有rpmbuild,使用相反

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

结果是一个或多个二进制RPM包你安装如第2.5.4“安装MySQL,使用Oracle Linux“RPM包

从压缩的安装顺序焦油文件或ZIP文件源分布类似于从一个普通的二进制分布安装过程(见2.2节,“安装MySQL在Unix / Linux使用通用二进制”),除了它适用于所有平台,包括配置和编译的分布。例如,一个压缩焦油在UNIX文件源分布,基本的安装命令序列如下:

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

更详细的版本的源代码构建的具体说明如下。

笔记

这里显示的程序不设置任何MySQL账户密码。在以下的程序,进行2.9节,“安装后的设置和测试对安装后的设置和测试。

执行预置设置

在Unix上,设置mysql用户和组,将用于运行和执行MySQL服务器的数据库目录。详情见创建一个mysql系统中的用户和组,在2.2节,“安装MySQL在Unix / Linux使用通用二进制”。然后执行以下步骤为mysql作为用户,除非noted。

获得和解压的分布

选择目录下你想打开和更改位置到它的分布。

使用说明中获取配置文件2.1.2节,“如何让MySQL”

打开分配到当前目录:

  • 对unpack a压缩焦油文件,焦油可以解压缩并打开分布有z选择支持:

    内核&#62;tar zxvf mysql-VERSION.tar.gz

    如果你的焦油没有z选项的支持,用解压缩打开的分布焦油打开它:

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

    另外,CMake可以解压缩并打开分布:

    shell> cmake -E tar zxvf mysql-VERSION.tar.gz
    
  • 打开一个ZIP文件,使用WinZip或另一个工具,可以阅读.zip文件

打开配置文件创建一个目录mysql-VERSION

配置分布

改变位置,在打开分配的顶层目录:

shell> cd mysql-VERSION

建立源代码树的外部保持干净的树。如果顶层源目录命名mysql-src你当前的工作目录下,你可以建立一个目录BLD在同一水平。创建目录和去那里:

shell> mkdir bld
shell> cd bld

配置生成目录。最低配置命令不包括选项重写配置默认值:

shell> cmake ../mysql-src

生成目录不需要外部源树。例如,你可以建立一个目录bld顶层源树下。要做到这一点,从MySQL的SRC为您的当前工作目录,创建目录bld然后去那里:

内核&#62;mkdir bld内核&#62;cd bld

配置生成目录。最低配置命令不包括选项重写配置默认值:

shell> cmake ..

如果你在同一水平,有多个源树(例如,建立MySQL的多个版本),第二策略可以是有利的。第一个策略的地方建立目录在同一水平,这就需要你选择每一个唯一的名称。第二个策略,你可以生成目录树在每个源使用相同的名称。以下说明假定这二策略。

在Windows中,指定开发环境。例如,下面的命令配置为32位或64位分别建立MySQL:

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

在MacOS,使用Xcode IDE:

shell> cmake .. -G Xcode

当你运行CMake,你可能想添加选项的命令行。这里是一些例子:

一个更广泛的选项列表,参见2.8.4”部分,MySQL源配置选项”

列出的配置选项,使用下面的命令:

shell> cmake .. -L   # overview
shell> cmake .. -LH  # overview with help text
shell> cmake .. -LAH # all params with help text
shell> ccmake ..     # interactive display

如果CMake失败了,你可能需要重新运行不同的选项配置。如果你重新配置,需要注意以下几点:

  • 如果CMake运行后它已被运行,它可能使用的是先前的调用过程中收集到的信息。此信息存储在CMakeCache.txt。什么时候CMake启动时,它寻找的文件并读取它的内容,如果它存在,在假设信息仍然是正确的。这个假设是无效的当你重新配置。

  • 每一次你运行CMake,你必须跑再重新编译。然而,你可能想从以前的删除旧的对象文件的建立首先是因为他们被编译使用不同的配置选项。

为了防止旧的目标文件或配置信息被使用,运行这些命令在生成目录之前重新运行在UNIXCMake

shell> make clean
shell> rm CMakeCache.txt

或者,在Windows:

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

如果你要发送邮件到MySQL邮件列表的要求配置辅助,先检查文件在CMakeFiles关于故障的有用信息目录。提交一个bug报告,请使用说明1.7节,“如何报告错误或问题”

建立分布

在线:Unix

shell> make
shell> make VERBOSE=1

第二命令集VERBOSE显示每个编译的源的命令。

使用相反,你是在哪里使用GNU系统它已被安装

在Windows:

shell> devenv MySQL.sln /build RelWithDebInfo

如果你已经在编译阶段,但分布不建,看第2,“处理编译MySQL”问题,帮助。如果不能解决问题,请进入我们的bug数据库采用了指令1.7节,“如何报告错误或问题”。如果你已经安装了所需的工具的最新版本,他们崩溃试图处理我们的配置文件,请报告,也。然而,如果你得到一个command not found错误或类似的问题所需的工具,不报告。相反,确保安装所需的所有工具,你路径变量设置正确的话,你的内核可以找到他们。

安装分布

在线:Unix

shell> make install

这个安装文件的安装目录下(默认配置,/usr/local/mysql)。你可能需要运行的命令为root

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

内核&#62;make install DESTDIR="/opt/mysql"

另外,生成安装包文件,你可以安装你喜欢的地方:

shell> make package

此操作产生一个或多个.tar.gz文件可以像安装普通二进制分发包。看到2.2节,“安装MySQL在Unix / Linux使用通用二进制”。如果你运行CMake-DCPACK_MONOLITHIC_INSTALL=1,操作产生一个单一的文件。否则,会产生多个文件。

在Windows中,生成数据目录,然后创建一个.zip档案的安装包:

内核&#62;devenv MySQL.sln /build RelWithDebInfo /project initial_database内核&#62;devenv MySQL.sln /build RelWithDebInfo /project package

你可以安装结果.zip档案在你喜欢的地方。看到第2.3.5”安装在微软Windows使用MySQLnoinstallzip档案”

安装程序将安装后

安装过程的其余部分包括设置配置文件,创建了核心数据库,并启动MySQL服务器。有关说明,见2.9节,“安装后的设置和测试

笔记

这是MySQL的授权表上市最初没有密码的账户。启动服务器后,你应该设置密码使用说明2.9节,“安装后的设置和测试

2.8.3安装MySQL使用开发源码树

本节介绍了如何从新的开发源代码安装MySQL,这是托管在GitHub。得到MySQL服务器的源代码从这个库的托管服务,你可以建立一个本地MySQL的Git仓库。

打开(放)GitHubMySQL服务器和MySQL,其他项目上发现的MySQL网页MySQL服务器项目是一个单一的资料库,包含多个MySQL系列分支。

MySQL正式加入GitHub的月份,2014。关于MySQL的举动,GitHub的更多信息,请参阅MySQL发布工程博客的公告:MySQL在GitHub上

从开发源码安装先决条件

从开发源码树安装MySQL,你的系统必须满足要求的工具概述2.8节,从“源”安装MySQL

建立一个MySQL的Git仓库

在你的机器上建立一个MySQL的Git仓库,使用此程序:

  1. 克隆的MySQL的Git仓库到你的机器。下面的命令克隆到一个目录名为MySQL的Git仓库mysql-server。初始下载完成需要一定的时间,这取决于您的连接速度。

    ~ $ git clone https://github.com/mysql/mysql-server.gitcloning到MySQL服务器的远程对象:…:计数1198513,done.remote:总1198513(δ0),再用0(δ0),包1198513receiving重用对象:100%(1198513/1198513),1.01钩| 7.44 MIB的,做的。解决三角洲:100%(993200/993200),完成。检查连接…完成。检查文件:100 %(25510 / 25510),做。
  2. 克隆操作完成时,您的本地MySQL的Git仓库的内容出现类似下面的:

    ~$ cd mysql-server
    ~/mysql-server$ ls
    BUILD                cmd-line-utils       libservices          sql
    CMakeLists.txt       config.h.cmake       man                  sql-common
    COPYING              configure.cmake      mysql-test           storage
    Docs                 dbug                 mysys                strings
    Doxyfile-perfschema  extra                mysys_ssl            support-files
    INSTALL              include              packaging            testclients
    README               libbinlogevents      plugin               unittest
    VERSION              libbinlogstandalone  rapid                vio
    client               libevent             regex                win
    cmake                libmysql             scripts              zlib
    
  3. 使用布兰奇命令查看MySQL库远程跟踪分支。

    ~/mysql-server$ git branch -r
      origin/5.5
      origin/5.6
      origin/5.7
      origin/8.0
      origin/HEAD -> origin/5.7
      origin/cluster-7.2
      origin/cluster-7.3
      origin/cluster-7.4
      origin/cluster-7.5
  4. 查看,检查你的本地库的分支问题Git的分支命令。当你克隆了MySQL的Git仓库,MySQL 5.7支自动签出。星号标识5.7分活跃的分支。

    ~/mysql-server$ git branch
    * 5.7
  5. 检查出一个不同的MySQL分支,运行git checkout命令,指定公司名称。例如,查看MySQL 5.0分:

    ~/mysql-server$ git checkout 8.0
    Checking out files: 100% (9600/9600), done.
    Branch 8.0 set up to track remote branch 8.0 from origin.
    Switched to a new branch '8.0'
  6. 运行git branch确认MySQL 8分是存在的。MySQL 8,这是最后一支你签出,由星号表明它是活跃的分支标记。

    ~ / MySQL服务器$ git分支5.7×8.0
  7. 使用git checkout命令切换分支之间。例如:

    ~/mysql-server$ git checkout 5.7
  8. 获得您的初始安装的mysql的Git仓库后进行了更改,切换到要更新和问题的分支git pull命令:

    ~ / MySQL服务器$ git checkout 8 ~ / MySQL服务器$ git pull

    检查提交的历史,使用git log选项:

    ~ / MySQL服务器$ git log

    你也可以浏览提交历史和源代码在GitHubMySQL站点

    如果你发现你有一个问题关于变化或代码,发送电子邮件到MySQLinternals通讯名单看到第1.6.2,MySQL邮件列表”。关于贡献补丁信息,看有助于MySQL服务器

  9. 当你克隆了MySQL的Git仓库,查到了你想建立的分支,你可以从源代码构建MySQL服务器。指令设置第2.8.2,“安装MySQL使用标准源分布”,除了你跳过有关获取和拆包分布的部分。

    是关于安装建立一个分布源树在生产机上小心。安装命令可能会覆盖你的生活释放装置。如果你已经安装MySQL和不想覆盖它,运行CMake有价值的CMAKE_INSTALL_PREFIXMYSQL_TCP_PORT,和MYSQL_UNIX_ADDR不同于那些由您的生产服务器使用的选项。更多信息关于防止多台服务器互相干扰,看5.7节,“运行多个MySQL实例一机”

    努力发挥你的新安装。例如,尝试新功能崩溃。开始运行做试验。看到第28.1.2,“MySQL测试套件”

2.8.4 . MYSQL源-配置选项

这个CMake程序提供了大量的对你如何配置一个MySQL源分布控制。通常情况下,你可以使用的选项CMake命令行。关于选择信息的支持CMake,运行这些命令在顶层的源目录:

shell> cmake . -LH
shell> ccmake .

你也可以影响CMake使用某些环境变量。看到4.9节,“MySQL程序环境变量”

下表显示了可用的CMake选项在Default柱,前缀代表的价值CMAKE_INSTALL_PREFIX选项,它指定的安装基础目录。这个值是作为几个安装子目录的父的位置。

表2.13 MySQL源配置选项(C)

格式描述默认介绍远离的
BUILD_CONFIG使用相同的编译选项为正式版本
BUNDLE_RUNTIME_LIBRARIES束运行库与服务器的MSI和Windows ZIP包OFF8.0.11
CMAKE_BUILD_TYPE建立生产型RelWithDebInfo
CMAKE_CXX_FLAGS编译法
CMAKE_C_FLAGS旗for C编译
CMAKE_INSTALL_PREFIX安装基础的目录/usr/local/mysql
COMPILATION_COMMENT关于编译环境评论
CPACK_MONOLITHIC_INSTALL是否建立生产单一的文件包OFF
DEFAULT_CHARSET服务器的默认字符集utf8mb4
DEFAULT_COLLATION默认的服务器排序规则utf8mb4_0900_ai_ci
DISABLE_DATA_LOCK排除性能模式数据锁仪表OFF
DISABLE_PSI_COND排除条件仪器性能模式OFF
DISABLE_PSI_ERROR排除性能架构服务器错误检测OFF
DISABLE_PSI_FILE排除仪器性能架构文件OFF
DISABLE_PSI_IDLE排除闲置仪器性能模式OFF
DISABLE_PSI_MEMORY排除模式记忆仪器性能OFF
DISABLE_PSI_METADATA排除模式元数据仪器性能OFF
DISABLE_PSI_MUTEX排除模式互斥仪器性能OFF
DISABLE_PSI_PS排除性能架构的准备好的语句OFF
DISABLE_PSI_RWLOCK排除模式rwlock仪器性能OFF
DISABLE_PSI_SOCKET排除插座仪器性能模式OFF
DISABLE_PSI_SP排除性能架构存储程序的仪器OFF
DISABLE_PSI_STAGE排除图式阶段仪器性能OFF
DISABLE_PSI_STATEMENT排除性能架构表仪表OFF
DISABLE_PSI_STATEMENT_DIGEST排除模式statements_digest仪器性能OFF
DISABLE_PSI_TABLE排除模式表仪器性能OFF
DISABLE_PSI_THREAD排除性能架构螺纹仪表OFF
DISABLE_PSI_TRANSACTION排除模式交易仪器性能OFF
DISABLE_SHARED不建立共享库,编译位置相关代码OFF
DOWNLOAD_BOOST是否下载boost库OFF
DOWNLOAD_BOOST_TIMEOUT下载boost库秒超时600
ENABLED_LOCAL_INFILE是否启用本地加载数据文件OFF
ENABLED_PROFILING是否启用查询分析代码ON
ENABLE_DEBUG_SYNC是否启用调试同步支持ON8.0.1
ENABLE_DOWNLOADS是否下载任意文件OFF
ENABLE_DTRACE是否包括DTrace支持8.0.1
ENABLE_EXPERIMENTAL_SYSVARS是否启用InnoDB系统变量实验OFF8.0.11
ENABLE_GCOV是否包括gcov支持
ENABLE_GPROF使gprof(优化Linux构建只)OFF
FORCE_UNSUPPORTED_COMPILER是否允许不支持的编译器OFF
IGNORE_AIO_CHECKWith -DBUILD_CONFIG=mysql_release, ignore libaio checkOFF
INSTALL_BINDIR用户可执行目录PREFIX/bin
INSTALL_DOCDIR文件目录PREFIX/docs
INSTALL_DOCREADMEDIR自述文件目录PREFIX
INSTALL_INCLUDEDIR头文件目录PREFIX/include
INSTALL_INFODIR信息文件的目录PREFIX/docs
INSTALL_LAYOUT选择预定义的安装布局STANDALONE
INSTALL_LIBDIR库文件目录PREFIX/lib
INSTALL_MANDIR手册页目录PREFIX/man
INSTALL_MYSQLKEYRINGDIR对于keyring_file插件数据文件目录platform specific
INSTALL_MYSQLSHAREDIR共享数据目录PREFIX/share
INSTALL_MYSQLTESTDIRMySQL的测试目录PREFIX/mysql-test
INSTALL_PKGCONFIGDIR对于mysqlclient.pc PKG的配置文件目录INSTALL_LIBDIR/pkgconfig
INSTALL_PLUGINDIR插件目录PREFIX/lib/plugin
INSTALL_SBINDIR服务器可执行目录PREFIX/bin
INSTALL_SECURE_FILE_PRIVDIR安全_ _私人文件的默认值platform specific
INSTALL_SHAREDIRaclocal / mysql.m4安装目录PREFIX/share
INSTALL_STATIC_LIBRARIES是否安装静态库ON
INSTALL_SUPPORTFILESDIR额外的支持文件目录PREFIX/support-files
LINK_RANDOMIZE是否在mysqld随机二进制符号秩序OFF8.0.1
LINK_RANDOMIZE_SEED对于link_randomize选择种子价值mysql8.0.1
MAX_INDEXES每台最大指标64
MUTEX_TYPEInnoDB互斥型event
MYSQLX_TCP_PORTTCP / IP X插件使用的端口号33060
MYSQLX_UNIX_ADDRUNIX套接字文件X插件使用/tmp/mysqlx.sock
MYSQL_DATADIR数据目录
MYSQL_MAINTAINER_MODE是否启用MySQL保持特定的发展环境OFF
MYSQL_PROJECT_NAMEWindows / OS X项目名称MySQL
MYSQL_TCP_PORTTCP / IP端口号3306
MYSQL_UNIX_ADDRUNIX套接字文件/tmp/mysql.sock
ODBC_INCLUDESODBC包括目录
ODBC_LIB_DIRODBC库目录
OPTIMIZER_TRACE是否支持优化追踪
REPRODUCIBLE_BUILD特别要注意创造构建结果独立的建造地点和时间8.0.11
SYSCONFDIR选择文件或目录
SYSTEMD_PID_DIRPID文件系统目录下/var/run/mysqld
SYSTEMD_SERVICE_NAME在系统的MySQL服务名称mysqld
TMPDIR默认值
USE_LD_GOLD是否使用GNU黄金装载机ON8.0.0
WIN_DEBUG_NO_INLINE是否禁用函数内联OFF
WITHOUT_SERVER不建立服务器OFF
WITHOUT_xxx_STORAGE_ENGINE排除存储引擎XXX从建立
WITH_ANT蚂蚁建筑GCS java包装程序路径8.0.11
WITH_ASAN使addresssanitizerOFF
WITH_ASAN_SCOPE使addresssanitizer - fsanitize地址使用范围Clang旗后OFF8.0.4
WITH_AUTHENTICATION_LDAP是否如果LDAP身份验证插件不能建立报告错误OFF8.0.2
WITH_AUTHENTICATION_PAM建立PAM认证插件OFF
WITH_AWS_SDKAmazon网络服务软件开发工具包的位置8.0.2
WITH_BOOST的Boost库的源位置
WITH_CLIENT_PROTOCOL_TRACING建立客户端协议跟踪框架ON
WITH_CURL曲库位置8.0.2
WITH_DEBUG是否包括调试支持OFF
WITH_DEFAULT_COMPILER_OPTIONS使用错误编译方法ON
WITH_DEFAULT_FEATURE_SET是否使用默认的功能设置ON
WITH_EDITLINE使用libedit / editline图书馆bundled
WITH_GMOCK对googlemock配送路径
WITH_ICUICU支持型bundled8.0.4
WITH_INNODB_EXTRA_DEBUG是否包括InnoDB额外的调试支持。OFF
WITH_INNODB_MEMCACHED是否生成缓存共享库OFF
WITH_KEYRING_TEST建立密钥环的测试程序OFF
WITH_LIBEVENT使用libevent库bundled
WITH_LIBWRAP是否包括LibWrap(TCP wrappers)支持OFF
WITH_LTO使链接时优化OFF8.0.13
WITH_LZ4lz4库支持的类型bundled
WITH_LZMAtype of lzma图书馆支援bundled8.0.4
WITH_MECAB编译mecab
WITH_MSAN使memorysanitizerOFF
WITH_MSCRT_DEBUG使Visual Studio CRT内存泄漏追踪OFF
WITH_MYSQLX是否禁用X协议ON8.0.11
WITH_NUMA集NUMA内存分配政策
WITH_PROTOBUF该协议使用缓冲包装bundled
WITH_RAPID是否建立快速发展周期的插件ON
WITH_RAPIDJSONrapidjson介质类型bundled8.0.13
WITH_RE2分子库支持的类型bundled8.0.4
WITH_SSLSSL支持型system
WITH_SYSTEMD使系统支持文件安装OFF
WITH_SYSTEM_LIBS设置系统图书馆价值选择不明确OFF8.0.11
WITH_TEST_TRACE_PLUGIN建立测试协议跟踪插件OFF
WITH_TSAN使threadsanitizerOFF
WITH_UBSAN使未定义行为的消毒剂OFF
WITH_UNIT_TESTS单元测试编译MySQLON
WITH_UNIXODBC使unixODBC支持OFF
WITH_VALGRIND是否在Valgrind编译头文件OFF
WITH_ZLIB支持的文件类型bundled
WITH_xxx_STORAGE_ENGINE编译存储引擎XXX静态服务器

以下各节提供更多的信息CMake选项

布尔选项的值可以指定为1或ON在启用的选项,或0或关闭禁用选项

许多选项配置编译时的默认值,可以覆盖在服务器启动。例如,在CMAKE_INSTALL_PREFIXMYSQL_TCP_PORT,和MYSQL_UNIX_ADDR配置默认的安装基础目录位置选项,TCP / IP端口号和Unix套接字文件可以在服务器启动了--basedir--port,和--socket选项mysqld。在适用的情况下,相应的配置选项说明mysqld启动选项

一般选项

  • -DBUILD_CONFIG=mysql_release

    此选项配置源分布具有相同版本使用Oracle官方MySQL产生二进制分布选择释放。

  • -DBUNDLE_RUNTIME_LIBRARIES=bool

    是否包运行时库服务器的MSI和Windows ZIP包。

  • -DCMAKE_BUILD_TYPE=type

    建立生产型:

    • RelWithDebInfo:使优化和生成调试信息。这是默认的MySQL版本类型。

    • Release:启用优化但省略调试信息减少建设规模。此生成类型在MySQL 8.0.13添加。

    • Debug:禁用优化和生成调试信息。此生成类型也用于如果WITH_DEBUG选项启用。这是,-DWITH_DEBUG=1具有相同的效果-DCMAKE_BUILD_TYPE=Debug

  • -DCPACK_MONOLITHIC_INSTALL=bool

    这个选项影响是否使包操作产生多个安装包文件或单个文件。如果禁用,操作产生的多个安装包文件,这可能是有用的如果你想安装只有一个MySQL安装的一个子集。如果启用,它产生一个单一的文件安装的一切。

安装布局选项

这个CMAKE_INSTALL_PREFIX选项表明基地安装目录。其他选项与表格的名称安装_xxx显示组件的位置被解释为相对于前缀和他们的价值观是相对路径名。他们的价值观不应该包括前缀。

  • -DCMAKE_INSTALL_PREFIX=dir_name

    安装基础目录

    这个值可以设置在服务器启动--basedir选项

  • -DINSTALL_BINDIR=dir_name

    在安装的用户程序

  • -DINSTALL_DOCDIR=dir_name

    where to install文件。

  • -DINSTALL_DOCREADMEDIR=dir_name

    安装位置README文件

  • -DINSTALL_INCLUDEDIR=dir_name

    在安装头文件

  • -DINSTALL_INFODIR=dir_name

    在安装信息文件

  • -DINSTALL_LAYOUT=name

    选择一个预定义的安装布局:

    • STANDALONE布局:same as used for.tar.gz.zippackages。This is the默认。

    • RPM:布局类似于RPM

    • SVR4:Solaris Package的布局。

    • DEB布局:deb包(实验)。

    你可以选择一个预定义的布局,但通过指定其他选项修改单个组件的安装位置。例如:

    shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
    

    这个INSTALL_LAYOUT值确定的默认值secure_file_privkeyring_encrypted_file_data,和keyring_file_data系统变量。See the deal of those变量in第5.1.7,服务器“系统变量”,和第6.5.4.11,“钥匙系统变量”

  • -DINSTALL_LIBDIR=dir_name

    在安装库文件

  • -DINSTALL_MANDIR=dir_name

    在安装手册

  • -DINSTALL_MYSQLKEYRINGDIR=dir_path

    默认目录使用的位置keyring_file插件数据文件。默认值是特定于平台的,取决于你的价值INSTALL_LAYOUTCMake期权;看到的描述keyring_file_data系统变量第5.1.7,服务器“系统变量”

  • -DINSTALL_MYSQLSHAREDIR=dir_name

    在安装共享数据文件

  • -DINSTALL_MYSQLTESTDIR=dir_name

    安装位置mysql-test目录为了抑制这个目录安装,明确设置选项为空值(-DINSTALL_MYSQLTESTDIR=

  • -DINSTALL_PKGCONFIGDIR=dir_name

    的安装目录mysqlclient.pc使用的文件pkg-config。默认值是INSTALL_LIBDIR/pkgconfig,除非INSTALL_LIBDIR结束MySQL,在这种情况下,首先被删除。

  • -DINSTALL_PLUGINDIR=dir_name

    这个插件目录的位置

    这个值可以设置在服务器启动--plugin_dir选项

  • -DINSTALL_SBINDIR=dir_name

    安装位置mysqld服务器

  • -DINSTALL_SECURE_FILE_PRIVDIR=dir_name

    为默认值secure_file_priv系统变量。默认值是特定于平台的,取决于你的价值INSTALL_LAYOUTCMake期权;看到的描述secure_file_priv系统变量第5.1.7,服务器“系统变量”

  • -DINSTALL_SHAREDIR=dir_name

    安装位置aclocal/mysql.m4

  • -DINSTALL_STATIC_LIBRARIES=bool

    是否安装静态库。默认值是ON。如果设置为关闭,这些库没有安装:libmysqlclient.a一libmysqlservices。

  • -DINSTALL_SUPPORTFILESDIR=dir_name

    在安装额外的支持文件。

  • -DLINK_RANDOMIZE=bool

    是否随机符号秩序的mysqld二元的.默认值是OFF。此选项只能用于调试启用。

  • -DLINK_RANDOMIZE_SEED=val

    种子的价值LINK_RANDOMIZE选项该值是一个字符串。默认值是MySQLAn Ararbitrary choice .

  • -DMYSQL_DATADIR=dir_name

    在MySQL数据目录的位置。

    这个值可以设置在服务器启动--datadir选项

  • -DODBC_INCLUDES=dir_name

    ODBC的位置包括目录,并可以配置连接器/ ODBC应用。

  • -DODBC_LIB_DIR=dir_name

    ODBC的图书馆目录的位置,可以使用ODBC配置连接器/时。

  • -DSYSCONFDIR=dir_name

    默认的my.cnf选择文件或目录

    这个位置不能设置在服务器启动,但你可以启动服务器与一个给定的选项文件使用--defaults-file=file_name选项,在file_name是完整的路径名的文件。

  • -DSYSTEMD_PID_DIR=dir_name

    名称的目录中创建文件时,MySQL的管理控制系统。默认值是/var/run/mysqld;这可能是根据隐式改变INSTALL_LAYOUT价值

    这个选项是忽视,除非WITH_SYSTEMD启用

  • -DSYSTEMD_SERVICE_NAME=name

    姓名的MySQL服务时使用MySQL管理系统。默认值是mysqld;这可能是根据隐式改变INSTALL_LAYOUT价值

    这个选项是忽视,除非WITH_SYSTEMD启用

  • -DTMPDIR=dir_name

    使用的默认位置tmpdir系统变量。如果没有指定,默认的值_ TMPDIR P进入<stdio.h>

存储引擎的选择

存储引擎以插件。你可以建立一个插件模块(静态编译到服务器)或动态模块(建立一个动态库,必须安装在服务器上使用INSTALL PLUGIN声明或--plugin-load在可选项)。有些插件可能不支持静态或动态的建筑。

这个InnoDBMyISAMMERGEMEMORY,和CSV发动机是强制性的(总是编译到服务器),不需要安装明确。

编译一个存储引擎静到服务器,使用-DWITH_engine_STORAGE_ENGINE=1。一些允许engine资料库BLACKHOLE例子,和FEDERATED。实例:

-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1
笔记

这是不可能的编译没有性能模式支持。如果需要编译没有仪器的特殊类型,可以做以下CMake备选办法:

DISABLE_PSI_COND
DISABLE_PSI_DATA_LOCK
DISABLE_PSI_ERROR
DISABLE_PSI_FILE
DISABLE_PSI_IDLE
DISABLE_PSI_MEMORY
DISABLE_PSI_METADATA
DISABLE_PSI_MUTEX
DISABLE_PSI_PS
DISABLE_PSI_RWLOCK
DISABLE_PSI_SOCKET
DISABLE_PSI_SP
DISABLE_PSI_STAGE
DISABLE_PSI_STATEMENT
DISABLE_PSI_STATEMENT_DIGEST
DISABLE_PSI_TABLE
DISABLE_PSI_THREAD
DISABLE_PSI_TRANSACTION

例如,编译无互斥仪表配置MySQL使用-DDISABLE_PSI_MUTEX=1选项

排除存储引擎从建造、使用-DWITH_engine_STORAGE_ENGINE=0。实例:

-DWITH_ARCHIVE_STORAGE_ENGINE=0-DWITH_EXAMPLE_STORAGE_ENGINE=0-DWITH_FEDERATED_STORAGE_ENGINE=0

它也可以排除一个存储引擎的建立-DWITHOUT_engine_STORAGE_ENGINE=1(但我与_engine_STORAGE_ENGINE=0优先)。实例:

-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

如果没有-DWITH_engine_STORAGE_ENGINE也没有我dwithout _engine_storage_engine被指定为一个给定的存储引擎,该引擎是建立一个共享的模块,或如果它不能建立一个共享模块排除。

特征选择

  • -DCOMPILATION_COMMENT=string

    关于编译环境的一个描述性的评论。

  • -DDEFAULT_CHARSET=charset_name

    服务器字符集。默认情况下,MySQL的使用utf8mb4字符集

    charset_name可能是一个二元的armscii8ASCII码big5cp1250cp1251cp1256cp1257cp850cp852cp866cp932dec8eucjpmseuckrgb2312GBKgeostd8希腊hebrewkeybcs2koi8rkoi8ulatin1latin2latin5latin7事件macromanSJISswe7tis620ucs2ujisutf8utf8mb4utf16Utf16leutf32。允许的字符集是列在CMake / character_sets.cmake文件的价值CHARSETS_AVAILABLE

    这个值可以设置在服务器启动--character_set_server选项

  • -DDEFAULT_COLLATION=collation_name

    服务器排序规则。默认情况下,MySQL的使用utf8mb4_0900_ai_ci。使用SHOW COLLATION声明确定的排序规则可为每个字符集。

    这个值可以设置在服务器启动--collation_server选项

  • -DDISABLE_PSI_COND=bool

    是否排除条件仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_FILE=bool

    是否排除仪器性能架构文件。默认值是OFF(包括)

  • -DDISABLE_PSI_IDLE=bool

    是否排除闲置仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_MEMORY=bool

    是否排除模式记忆仪器性能。默认值是OFF(包括)

  • -DDISABLE_PSI_METADATA=bool

    是否排除模式元数据仪器性能。默认值是OFF(包括)

  • -DDISABLE_PSI_MUTEX=bool

    是否排除互斥仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_RWLOCK=bool

    是否排除rwlock仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_SOCKET=bool

    是否排除插座仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_SP=bool

    是否排除性能架构存储程序的仪器。默认值是OFF(包括)

  • -DDISABLE_PSI_STAGE=bool

    是否排除图式阶段仪器性能。默认值是OFF(包括)

  • -DDISABLE_PSI_STATEMENT=bool

    是否排除性能架构表仪表。默认值是OFF(包括)

  • -DDISABLE_PSI_STATEMENT_DIGEST=bool

    是否排除statement_digest仪器性能模式。默认值是OFF(包括)

  • -DDISABLE_PSI_TABLE=bool

    是否排除仪器性能模式表。默认值是OFF(包括)

  • -DDISABLE_SHARED=bool

    是否禁用构建共享库和编译位置相关代码。默认值是OFF(编译位置无关的代码)。

    启用此选项禁用-fPIC,结果共享库没有建成,包括插件和组件。调用CMake产生这一警告:Dynamic plugins are disabled.

  • -DDISABLE_PSI_PS=bool

    排除性能架构的准备好的语句实例仪表。默认值是OFF(包括)

  • -DDISABLE_PSI_THREAD=bool

    排除性能架构螺纹仪表。默认值是OFF(包括)

    只有禁用线程时,建筑没有任何仪器,因为其他仪器对线程的依赖。

  • -DDISABLE_PSI_TRANSACTION=bool

    排除模式交易仪器性能。默认值是OFF(包括)

  • -DDISABLE_PSI_DATA_LOCK=bool

    排除性能模式数据锁仪表。默认值是OFF(包括)

  • -DDISABLE_PSI_ERROR=bool

    排除性能架构服务器错误检测。默认值是OFF(包括)

  • -DDOWNLOAD_BOOST=bool

    是否下载boost库。默认值是OFF

    看到WITH_BOOST有关使用增加额外的讨论选项。

  • -DDOWNLOAD_BOOST_TIMEOUT=seconds

    下载boost库秒超时。默认值为600秒。

    看到WITH_BOOST有关使用增加额外的讨论选项。

  • -DENABLE_DEBUG_SYNC=bool

    世纪之mysql 8.0.1,ENABLE_DEBUG_SYNC被使WITH_DEBUG启用调试同步

  • -DENABLE_DOWNLOADS=bool

    是否下载任意文件。例如,在启用此选项,CMake下载谷歌测试的分布是由测试套件用于运行单元测试,或Ant和JUnit构建GCS java包装要求。

  • -DENABLE_DTRACE=bool

    是否包括DTrace探测支持。

    这个选项是在MySQL 8.0.1删除。

  • -DENABLE_EXPERIMENTAL_SYSVARS=bool

    是否启用实验InnoDB系统变量。实验系统变量的目的是为那些从事MySQL开发,只能用于开发和测试环境,可以在没有未来的MySQL发布通知删除。关于实验系统变量的信息,参见innobase /存储/处理/他/ _ innodb.cc在MySQL源代码树。实验系统变量可以通过搜索发现插件是_ _实验

  • -DENABLE_GCOV=bool

    是否包括gcov支持(Linux只)。

  • -DENABLE_GPROF=bool

    是否启用gprof(优化Linux构建只)。

  • -DENABLED_LOCAL_INFILE=bool

    这个选项控制编译的默认LOCAL对于MySQL客户端库的能力。客户没有明确安排,因此有当地能力禁用或启用根据ENABLED_LOCAL_INFILE设置指定MySQL建立时间。

    默认情况下,MySQL客户端库的二进制分布编译ENABLED_LOCAL_INFILE禁用。如果你编译MySQL从源,其配置ENABLED_LOCAL_INFILE禁用或启用基于客户是否让没有明确的安排当地能力禁用或启用,分别。

    ENABLED_LOCAL_INFILE控制客户端的默认当地能力.对于服务器的local_infile系统变量控制服务器端当地能力.明确导致服务器拒绝或允许LOAD DATA LOCAL陈述(不论如何客户端程序和库的配置在建设或运行时),开始mysqldlocal_infile禁用或启用,分别local_infile也可以在运行时设置。看到第6.1.6,“负荷数据的本地“安全问题

  • -DENABLED_PROFILING=bool

    是否启用查询分析代码(为SHOW PROFILESHOW PROFILESstatements)。

  • -DFORCE_UNSUPPORTED_COMPILER=bool

    默认情况下,CMake有关支持的最低版本的编译器检查:Visual Studio 2015(Windows);GCC 4.8或铿锵3.4(Linux);Developer Studio 12.5(Solaris服务器);Developer Studio 12.4或GCC 4.8(Solaris客户端库);Clang 3.6(MacOS),Clang 3.4(FreeBSD)。要禁用此检查,使用-DFORCE_UNSUPPORTED_COMPILER=ON

  • -DIGNORE_AIO_CHECK=bool

    如果-DBUILD_CONFIG=mysql_release选择了Linux的图书馆必须链接默认。如果你没有libaio或者不想安装它,你可以通过指定抑制对它的检查-DIGNORE_AIO_CHECK=1

  • -DMAX_INDEXES=num

    指标表的最大数目。默认值是64。最大值为255。小于64的值被忽略,默认的是用的64。

  • -DMYSQL_MAINTAINER_MODE=bool

    是否启用MySQL保持特定的发展环境。如果启用,此选项使编译器警告成为错误。

  • -DMUTEX_TYPE=type

    使用互斥型InnoDB。选项包括:

    • event:使用事件互斥。这是默认值和原InnoDB互斥的实现

    • sys:使用POSIX互斥在UNIX系统。使用critical_sectiononjects Windows,如果可用的话。

    • futex:使用Linux futexes代替条件变量安排等待的线程。

  • -DMYSQLX_TCP_PORT=port_num

    The Port Number on which x lujer li缓和for TCP / IP Conection .33060是默认的。

    这个值可以设置在服务器启动--mysqlx-port选项

  • -DMYSQLX_UNIX_ADDR=file_name

    UNIX套接字文件路径的服务器侦听套接字连接X插件。这必须是一个绝对路径名。默认值是/tmp/mysqlx.sock

    这个值可以设置在服务器启动--mysqlx-socket选项

  • -DMYSQL_PROJECT_NAME=name

    Windows或MacOS,纳入项目文件名称项目名称。

  • -DMYSQL_TCP_PORT=port_num

    端口号的服务器侦听TCP/IP连接。默认值是3306。

    这个值可以设置在服务器启动--port选项

  • -DMYSQL_UNIX_ADDR=file_name

    UNIX套接字文件路径的服务器侦听套接字连接。这必须是一个绝对路径名。默认值是/tmp/mysql.sock

    这个值可以设置在服务器启动--socket选项

  • -DOPTIMIZER_TRACE=bool

    是否支持优化追踪。看到MySQL内核:追踪优化器

  • -DREPRODUCIBLE_BUILD=bool

    基于Linux系统的建立,这个选项控制是否采取额外的照顾,创造构建结果独立的建造地点和时间。

    这个选项是在MySQL 8.0.11添加。在MySQL 8.0.12,默认为ONrelwithdebinfo建立

  • -DUSE_LD_GOLD=bool

    CMake使构建过程与GNU链接黄金如果它是可用的连接器。抑制使用此连接,指定-DUSE_LD_GOLD=0选项

  • -DWIN_DEBUG_NO_INLINE=bool

    是否禁用Windows函数内联。默认是关闭的(内联启用)。

  • -DWITH_ANT=path_name

    设置路径的蚂蚁,需要建造GCS java包装时。以类似的方式对现有的工作WITH_BOOSTC选项。配置WITH_ANT到一个目录里的蚂蚁包的路径,或已打开存档,保存。什么时候WITH_ANT未设置,或设置的特殊价值系统建造一个二进制的保险箱蚂蚁存在于$PATH

  • -DWITH_ASAN=bool

    是否启用addresssanitizer,编译器支持。默认是关闭的。

  • -DWITH_ASAN_SCOPE=bool

    是否启用addresssanitizer-fsanitize-address-use-after-scope后用铛旗范围检测。默认是关闭的。使用这个选项,- dwith_asanmust also be启用。

  • -DWITH_AUTHENTICATION_LDAP=bool

    是否如果LDAP身份验证插件不能建立报告错误:

    • 如果禁用此选项(默认),LDAP插件建如果发现所需要的头文件和库。如果他们不,CMake显示屏。在已知的

    • 如果启用此选项,未能找到所需要的头文件和库的原因CMake产生错误,防止服务器被建立。

  • -DWITH_AUTHENTICATION_PAM=bool

    是否建立PAM认证插件,这个插件,包括源树。(见第6.5.1.5,“可插入认证”。)如果指定了该选项和插件不能被编译,编译失败。

  • -DWITH_AWS_SDK=path_name

    亚马逊的Web服务软件开发工具包的位置。

  • -DWITH_BOOST=path_name

    Boost库是需要建立MySQL。这些CMake选项使在库源位置控制,以及是否自动下载:

    • -DWITH_BOOST=path_name指定的Boost库的目录位置。它也可以指定提升位置设置boost_rootWITH_BOOST环境变量

      -DWITH_BOOST=system也允许表明安装在编译主机在标准位置是促进正确的版本。在这种情况下,安装的版本增加而不使用任何版本包括一个MySQL源分布。

    • -DDOWNLOAD_BOOST=bool指定是否要下载的刺激源如果不在指定的位置。默认值是关闭

    • -DDOWNLOAD_BOOST_TIMEOUT=seconds下载boost库秒超时。默认的是60秒。

    例如,如果你通常建立MySQL配售对象的输出bld你的MySQL源代码树的子目录,你可以建立这样的刺激:

    mkdir bldcd bldcmake .. -DDOWNLOAD_BOOST=ON -DWITH_BOOST=$HOME/my_boost

    这导致增加被下载到my_boost你的家目录下的目录。如果所需的增强版已经有了,没有下载完成。如果所需的增强版,下载新版本。

    如果已经安装在本地和提高你的编译器发现Boost头文件本身,它可能不需要指定前CMake选项然而,如果版本提升MySQL的变化和本地安装的版本没有升级的需要,你可能已经建立的问题。使用CMake选项应该给你一个成功的构建。

    通过以上设置,允许提高下载到指定的位置,当需要增强版本的变化,你需要删除bld文件夹,重新创建它,并执行CMake走一次。否则,新的增强版本可能不会被下载,编辑可能会失败。

  • -DWITH_CLIENT_PROTOCOL_TRACING=bool

    无论是客户端协议跟踪框架的客户端库建立。默认情况下,启用此选项。

    有关编写协议跟踪客户端插件的信息,参见第28.2.4.11,“书面协议跟踪插件”

    又见WITH_TEST_TRACE_PLUGIN选项

  • -DWITH_CURL=curl_type

    的位置卷曲图书馆curl_type可以是系统(使用系统卷曲图书馆)或路径名称卷曲图书馆

  • -DWITH_DEBUG=bool

    是否包括调试支持

    调试配置MySQL支持允许您使用--debug="d,parser_debug"当你启动服务器选项。这使得野牛的分析器,用于处理SQL语句转储分析器跟踪服务器的标准错误输出。通常情况下,这种输出写入错误日志。

    同步调试的检查InnoDB存储引擎定义下univ_debug并提供调试支持编译时使用WITH_DEBUG选项当编写的调试支持,innodb_sync_debug配置选项可用于启用或禁用InnoDB同步调试检查

    有可能WITH_DEBUG也使调试同步。该设备是用于测试和调试。当编译、调试同步运行时,默认情况下禁用。要启用它,开始mysqld--debug-sync-timeout=N选项,在N是一个超时值大于0。(默认值是0,禁用调试同步。)N成为个人同步点的默认超时。

    同步调试的检查InnoDB存储引擎可以支持编译调试时使用WITH_DEBUG选项

    为说明调试同步设备和如何使用同步点,看MySQL内核:测试同步

  • -DWITH_DEFAULT_FEATURE_SET=bool

    whether to use the flags fromcmake/build_configurations/feature_set.cmake

  • -DWITH_EDITLINE=value

    libedit/editline图书馆的使用。允许的值bundled(默认的),系统

  • -DWITH_LTO=bool

    是否启用链接时优化,如果编译器支持。默认值是OFF

    这个选项是在MySQL 8.0.13添加。

  • -DWITH_ICU={icu_type|path_name}

    MySQL使用Unicode国际成分(ICU)支持正则表达式的操作。这个WITH_ICU选项指示使用ICU支持包括或ICU的安装路径名称的类型。

    • icu_type可以是下列值之一:

      • bundled:使用捆绑分布ICU库。这是默认的,而且是唯一支持的选项的Windows。

      • system:使用系统ICU库

    • path_name是路径名到ICU安装使用。这可以很好的利用icu_type价值系统因为它可以防止CMake检测和使用旧的或不正确的安装版的系统在ICU。(另一个允许的方式做同样的事情是设置WITH_ICU系统并设置CMAKE_PREFIX_PATH选项path_name。)

  • -DWITH_INNODB_EXTRA_DEBUG=bool

    是否包括额外的InnoDB调试支持。

    有可能WITH_INNODB_EXTRA_DEBUG打开额外的InnoDB调试检查。此选项只能启用时WITH_DEBUG启用

  • -DWITH_GMOCK=path_name

    到googlemock分布的路径,使用基于谷歌的测试单元测试。期权价值是分配ZIP文件的路径。另外,设置WITH_GMOCK环境变量的路径名。也可以使用-DENABLE_DOWNLOADS=1CMake将从GitHub下载分布。

    如果你建立MySQL基础单元测试的测试(通过配置没有谷歌WITH_GMOCK),CMake显示一个消息说明如何下载。

  • -DWITH_INNODB_MEMCACHED=bool

    是否生成缓存共享库(libmemcached.soinnodb_engine.so

  • -DWITH_KEYRING_TEST=bool

    是否建立和测试程序keyring_file插件。默认是关闭。测试文件的源代码位于plugin/keyring/keyring-test目录

  • -DWITH_LIBEVENT=string

    libevent图书馆的使用。允许值捆绑(默认),system,和。如果你指定system,系统libevent如果目前使用的图书馆。如果系统库中不难发现,捆绑libevent图书馆的应用。这个libevent图书馆要求InnoDBmemcached

  • -DWITH_LIBWRAP=bool

    是否包括libwrap(TCP wrappers)支持。

  • -DWITH_LZ4=lz4_type

    这个WITH_LZ4表明来源zlib支持

    • bundled:使用lz4图书馆捆绑的分布。这是默认的。

    • system:使用系统lz4图书馆如果WITH_LZ4设置此值,该lz4_decompress效用是不建。在这种情况下,系统lz4命令可以用来代替

  • -DWITH_MSAN=bool

    是否启用memorysanitizer,编译器支持。默认是关闭的。

    这个选项有没有影响如果启用,所有库连接到MySQL也必须已启用的选项编译。

  • -DWITH_MECAB={disabled|system|path_name}

    使用此选项来编译mecab分析器。如果你已经安装了mecab的默认安装目录,设置-DWITH_MECAB=system。这个系统选择适用于mecab设施进行从源或从二进制文件使用一个本地的软件包管理工具。如果你安装mecab到自定义安装目录,指定的mecab安装路径。例如,-DWITH_MECAB=/opt/mecab。如果系统选项不工作,指定mecab安装路径应该在所有的情况下工作。

    相关的信息,看第12.9.9,“mecab全文解析插件”

  • -DWITH_MSCRT_DEBUG=bool

    是否启用Visual Studio CRT内存泄漏追踪。默认值是OFF

  • -DWITH_MYSQLX=bool

    是否建立与X插件的支持。默认ON。看到20章,使用MySQL作为一个文件存储

  • -DWITH_NUMA=bool

    显式设置的NUMA内存分配政策。CMake设置默认WITH_NUMA基于当前平台的价值NUMA支持无NUMA支持平台,CMake表现如下:

    • 没有NUMA选项(正常情况下),CMake继续正常运行,只生产这一警告:NUMA图书馆丢失或需要的版本不可用

    • -DWITH_NUMA=ONCMake中止这个错误:NUMA图书馆丢失或需要的版本不可用

  • -DWITH_PROTOBUF=protobuf_type

    该协议使用缓冲包装protobuf_type可以是下列值之一:

    • bundled:使用捆绑包的分布。这是默认的。

    • system:使用安装在系统上的包。

    其他的值将被忽略,以备用bundled

  • -DWITH_RAPID=bool

    是否建立快速发展周期的插件。当启用时,一rapid目录在建立含有这些插件树的创建。禁用时,没有迅速的在构建树创建目录。默认值是ON,除非迅速的目录是从源树中删除,在这种情况下,默认是OFF

  • -DWITH_RAPIDJSON=rapidjson_type

    包括RapidJSON图书馆支持的类型。rapidjson_type可以是下列值之一:

    • bundled:使用捆绑的分布rapidjson图书馆。这是默认的。

    • system:使用系统rapidjson图书馆。1.1.0版本或更高的要求。

    这个选项是在MySQL 8.0.13添加。

  • -DWITH_LZMA=lzma_type

    包括LZMA算法库支持的类型。lzma_type可以是下列值之一:

    • bundled:使用捆绑分配的LZMA算法库。这是默认的。

    • system:使用系统LZMA算法库。

  • -DWITH_RE2=re2_type

    包括分子库支持的类型。re2_type可以是下列值之一:

    • bundled:使用非图书馆捆绑的分布。这是默认的。

    • system:使用系统的图书馆

  • -DWITH_SSL={ssl_type|path_name}

    使用SSL的支持包括或OpenSSL安装路径名称的类型。

    • ssl_type可以是下列值之一:

      • system使用OpenSSL库的系统。这是默认的。

        在MacOS和Windows,使用system建立了如果CMake被调用path_name并指出安装OpenSSL库。这是因为他们没有系统的SSL库。在MacOS,安装OpenSSL的兄弟安装/usr/local/opt/openssl系统会发现它。在Windows中,它检查% % / OpenSSL ProgramFiles% % / openssl-win32 ProgramFiles% % / openssl-win64 ProgramFilesOpenSSL / C:C:/ openssl-win32,和C:/ openssl-win64

      • yes:这是一个同义词系统

      • wolfssl:使用wolfssl图书馆。使用此选项的值,你必须按照指示特级文件

    • path_name是路径名的OpenSSL安装使用。这可以很好的利用ssl_type价值系统因为它可以防止CMake检测和使用旧的或不正确的OpenSSL版本系统上安装。(另一个允许的方式做同样的事情是设置WITH_SSL系统并设置CMAKE_PREFIX_PATH选项path_name。)

    有关使用SSL的支持信息,看6.4节,“使用加密的连接”

  • -DWITH_SYSTEMD=bool

    是否允许系统支持文件安装。默认情况下,此选项是禁用的。当启用时,安装系统支持文件和脚本等_ mysqld safe和V系统的初始化脚本都没有安装。在平台上的系统是不可用的,使WITH_SYSTEMD结果在一个错误的CMake

    有关使用系统的更多信息,参见第2.5.9、“系统”管理MySQL服务器。这部分还包括有关指定先前指定的选项的信息[mysqld_safe]选项组。因为_ mysqld safe没有安装在系统的使用,这些选项必须指定的另一种方式。

  • -DWITH_SYSTEM_LIBS=bool

    此选项为选项设置system下列值CMake选项设置不明确:WITH_CURLWITH_EDITLINEWITH_ICUWITH_LIBEVENTWITH_LZ4WITH_LZMAWITH_PROTOBUFWITH_RE2WITH_SSLWITH_ZLIB

  • -DWITH_TEST_TRACE_PLUGIN=bool

    是否建立测试协议跟踪客户端插件(参见第28.2.4.11.1,“使用测试协议跟踪插件”)。默认情况下,此选项是禁用的。启用此选项没有效果,除非WITH_CLIENT_PROTOCOL_TRACING选项启用。如果MySQL的配置选项启用的libmysqlclient客户端库和测试协议跟踪插件建建,和所有标准的MySQL客户端插件的加载。然而,即使测试插件启用,默认情况下它不起作用。在插件控制可以使用环境变量;看第28.2.4.11.1,“使用测试协议跟踪插件”

    笔记

    使WITH_TEST_TRACE_PLUGIN选项,如果你想用你自己的协议跟踪插件因为只有一个这样的插件,可以一次加载发生错误尝试加载一个。如果你已经建立的MySQL的测试协议跟踪插件能够看到它是如何工作的,你必须重建MySQL没有它之前,你可以使用你自己的插件。

    有关编写跟踪插件的信息,参见第28.2.4.11,“书面协议跟踪插件”

  • -DWITH_TSAN=bool

    是否启用threadsanitizer,编译器支持。默认是关闭的。

  • -DWITH_UBSAN=bool

    是否启用未定义行为的消毒剂,对编译器的支持。默认是关闭的。

  • -DWITH_UNIT_TESTS={ON|OFF}

    如果启用,单元测试编译MySQL。默认情况下,除非服务器没有被编译。

  • -DWITH_UNIXODBC=1

    使unixODBC支持,连接器/ ODBC。

  • -DWITH_VALGRIND=bool

    是否在Valgrind编译头文件,使Valgrind API MySQL代码。默认值是OFF

    生成调试版本检查清楚,-DWITH_VALGRIND=1通常是结合-DWITH_DEBUG=1。看到建筑调试配置

  • -DWITH_ZLIB=zlib_type

    某些功能需要,服务器可压缩库支持建造的,如COMPRESS()UNCOMPRESS()功能,和客户端/服务器协议压缩。这个WITH_ZLIB表明来源zlib支持

    • bundled:使用zlib图书馆捆绑的分布。这是默认的。

    • system:使用系统zlib图书馆如果WITH_ZLIB设置此值,该zlib_decompress效用是不建。在这种情况下,系统OpenSSL zlib命令可以用来代替

  • -DWITHOUT_SERVER=bool

    是否建立没有MySQL服务器。默认值是OFF,并建立服务器

编译器选项

  • -DCMAKE_C_FLAGS="flags

    旗for the C编译器。

  • -DCMAKE_CXX_FLAGS="flags

    旗for the C编译器。

  • -DWITH_DEFAULT_COMPILER_OPTIONS=bool

    whether to use the flags fromcmake/build_configurations/compiler_options.cmake

    笔记

    所有优化标志被精心选择和测试由MySQL建立团队。重写它们会导致意外的结果,是做你自己的风险。

指定自己的C和C++编译器标志,标志不影响优化,使用CMAKE_C_FLAGSCMAKE_CXX_FLAGSC选项

当提供自己的编译器选项,您可能需要指定CMAKE_BUILD_TYPE也.

例如,创建一个32位版本建立一个64-bit的Linux机器,这样做:

shell> mkdir bld
shell> cd bld
shell> cmake .. -DCMAKE_C_FLAGS=-m32 \
         -DCMAKE_CXX_FLAGS=-m32 \
         -DCMAKE_BUILD_TYPE=RelWithDebInfo

如果你设置标志影响优化(-Onumber),必须设置CMake _ C _旗_build_type和/或CMake _ _旗_ Cxxbuild_type选项,在build_type对应于CMAKE_BUILD_TYPE价值。指定默认不同的优化生成类型(relwithdebinfo)设置CMAKE_C_FLAGS_RELWITHDEBINFO本发明涉及_ relwithdebinfo CMake _ _旗10 .备选方案。为example,to keeping on Linux with Linux with Linux-O3与调试符号,这样做:

内核&#62;cmake .. -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g" \-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g"

2.8.5问题处理编译MySQL

许多问题的解决涉及到重新。如果你重新配置,需要注意以下几点:

  • 如果CMake运行后它已被运行,它可能使用的是先前的调用过程中收集到的信息。此信息存储在CMakeCache.txt。什么时候CMake启动时,它寻找的文件并读取它的内容,如果它存在,在假设信息仍然是正确的。这个假设是无效的当你重新配置。

  • 每一次你运行CMake,你必须跑再重新编译。然而,你可能想从以前的删除旧的对象文件的建立首先是因为他们被编译使用不同的配置选项。

为了防止旧的对象文件或配置信息被利用,再运行下面的命令CMake

在线:Unix

shell> make clean
shell> rm CMakeCache.txt

在Windows:

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

如果你建立的源码树外,删除并重新创建build目录后再运行CMake。在源代码树的外部建筑的说明,见如何与CMake建立的MySQL服务器

在某些系统上,警告可能会出现由于不同系统包含文件。下面的列表描述了其他问题,已发现最常发生在编译MySQL:

  • 定义C和C编译器的使用,你可以定义CCcxx环境变量。例如:

    shell> CC=gcc
    shell> CXX=g++
    shell> export CC CXX
    

    指定自己的C和C++编译器,使用CMAKE_C_FLAGSCMAKE_CXX_FLAGSCake Options .See编译器选项

    你可能需要指定什么旗帜,调用_配置MySQL--cflags--cxxflags选项

  • 看什么指令是在编译阶段执行,使用后CMake配置MySQL,跑make VERBOSE=1而不是仅仅

  • 如果编译失败,检查是否MYSQL_MAINTAINER_MODE选项启用。这种模式导致编译器警告成为错误,所以禁用它可以使编译进行。

  • 如果你编译失败,错误如下列,你必须升级你的版本GNU

    make: Fatal error in reader: Makefile, line 18:
    Badly formed macro assignment
    

    make: file `Makefile' line 18: Must be a separator (:
    

    pthread.h: No such file or directory
    

    Solaris和FreeBSD已知有麻烦程序

    GNU可以是已知的工作

  • 这个sql_yacc.cc文件生成SQL _ yacc.yy。通常情况下,建设过程中不需要创建sql_yacc.cc因为MySQL自带的一个可移植的复制。然而,如果你需要重新创建它,你可能会遇到这个错误:

    “sql_yacc。YY”,线xxx致命的:默认的行动造成潜在…

    这是一个迹象,你的版本Yacc缺乏。你可能需要安装最新版本的野牛(《GNU版本Yacc)和使用它

    版本野牛年龄超过1.75岁可能会报告这个错误:

    sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
    

    最大尺寸不超过表;误差在老版本的错误造成的野牛

有关获取或更新工具的信息,查看系统要求2.8节,从“源”安装MySQL

2.8.6 MySQL的配置和第三方工具

第三方工具,需要确定MySQL版本的MySQL源可以阅读VERSION在顶层的源目录中的文件。该文件列出了版本的件分别。例如,如果版本MySQL 8.0.4-rc,文件看起来像这样:

MYSQL_VERSION_MAJOR=8MYSQL_VERSION_MINOR=0MYSQL_VERSION_PATCH=4MYSQL_VERSION_EXTRA=-rc

如果源不是一般的可用性(GA)的释放,MYSQL_VERSION_EXTRA将空值。例如,该值对应的候选版本。

从版本的组件构建一个5位数,使用这个公式:

MYSQL_VERSION_MAJOR*10000 + MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH

2.8.7生成MySQL doxygen文档内容

MySQL的源代码包含内部文件写入使用Doxygen。它的内容是在生成http://dev.mysql.com / DOC / dev / / /最新的MySQL服务器。它也有可能在使用下列程序MySQL源分布生成内容:

  1. 安装doxygen1.8.11或更高。这里分布可用:

    http://www.stack.nl/~dimitri/doxygen/download.html
    

    安装后doxygen,验证版本号:

    shell> doxygen --version
    1.8.11
    
  2. 安装plantuml。这里分布可用:

    http://plantuml.com/download.html
    

    当你安装plantuml Windows(Windows 10测试),你必须至少一次管理员因此创建注册表项。打开管理控制台并运行这个命令:

    java -jar path-to-plantuml.jar
    

    命令打开GUI窗口并返回控制台上没有错误。

  3. 安装的图像命令。这里分布可用:

    http://www.graphviz.org/
    

    安装Graphviz之后,验证dot的可用性。例如:

    内核&#62;which dotdotshell /usr/bin/vi &#62;dot -V点阵图像(20130928.0220 2.28.0版本)
  4. 设置PLANTUML_JAR_PATH环境对你的地方安装plantuml。例如:

    export PLANTUML_JAR_PATH=path-to-plantuml.jar
  5. 调用doxygen位置,改变你的MySQL源分布的顶层目录和执行这些命令:

    mkdir -p generated/doxygen
    doxygen
    

    检查错误日志。它是可用的doxyerror.log在顶层目录文件。假设建立成功执行,使用浏览器查看生成的输出。例如:

    Firefox的生成/它/ HTML / index.html

    你可以使用不同的浏览器,甚至书签页。

2.9安装后的设置和测试

本节讨论,你应该执行在安装MySQL的任务:

  • 如果有必要,初始化数据目录并创建MySQL授权表。对于一些MySQL的安装方法,初始化数据目录可以自动为你:

    • MySQL的安装操作执行由Windows安装程序。

    • 在使用Oracle服务器的RPM和Debian Linux安装的分布。

    • 使用本机包装系统在多种平台上安装,包括Debian Linux,Ubuntu Linux,Gentoo Linux,和其他。

    • 使用DMG分布MacOS的安装。

    其他平台的安装类型,包括通用的二进制和源分布安装,你必须自己初始化数据目录。有关说明,见第2.9.1,“初始化数据目录”

  • 启动服务器并确保它可以访问。有关说明,见第2.9.2“启动服务器”,和2.9.3节,“测试服务器”

  • 指定密码的初始root在授权表的帐户,如果不是已经在做初始化数据目录。密码,防止未经授权的访问MySQL服务器。有关说明,见第2.9.4,”保证初始MySQL账户”

  • 或者,安排服务器自动启动和停止时,你的系统启动和停止。有关说明,见2.9.5,“启动和停止MySQL自动”

  • 或者,在时区表使命名的时区识别。有关说明,见第5.1.12,MySQL服务器的时区支持”

当你准备创建额外的用户,你可以找到在MySQL的访问控制系统和帐户管理信息6.2节,“MySQL的权限系统”,和6.3节,“MySQL用户账户管理”

2.9.1初始化数据目录

在安装MySQL数据目录,包括在表mysql系统的数据库,必须初始化。对于一些MySQL的安装方法,初始化数据目录可以自动完成,如2.9节,“安装后的设置和测试。其他安装方法,包括通用的二进制和源分布安装,你必须自己初始化数据目录。

本节介绍如何初始化在UNIX和类UNIX系统的数据目录。(用于Windows,看第2.3.7,“Windows安装后程序”一些建议。)命令,你可以使用测试服务器是否可以正常工作,看2.9.3节,“测试服务器”

在这里的例子,服务器正在运行的用户ID下mysql登录帐户。这是假定这样一个账户存在。创建帐户,如果它不存在,或替代一个现有不同的登录帐户名称,您计划使用的服务器运行。有关创建帐户信息,看创建一个mysql系统中的用户和组,在2.2节,“安装MySQL在Unix / Linux使用通用二进制”

  1. 改变位置进入你的MySQL安装目录的顶级目录,通常是/usr/local/mysql

    内核&#62;cd /usr/local/mysql

    你会发现几个文件夹里面的文件和子目录,包括bin子目录,其中包含服务器以及客户端实用程序。

  2. 创建一个目录的位置可以提供给secure_file_priv系统变量,其中进出口操作限制到特定的目录:

    内核&#62;mkdir mysql-files

    格兰特目录的所有权mysql用户和组的所有权MySQL组,并设置正确的权限的目录:

    shell> chown mysql:mysql mysql-files
    shell> chmod 750 mysql-files
    
  3. 初始化数据目录,包括mysql数据库包含初始MySQL的授权表,确定允许用户连接到服务器。

    通常,数据目录初始化只需在你第一次安装MySQL做。如果你是升级现有安装,你应该运行mysql_upgrade(这instead4.4.5“,”mysql_upgrade检查升级MySQL表”)。然而,命令初始化数据目录不覆盖任何现有权限表,所以应该在任何情况下安全运行。使用服务器初始化数据目录;例如:

    shell> bin/mysqld --initialize --user=mysql
    

    看到部分2.9.1.1,“初始化使用mysqld”手动数据目录在掌握一些重要的信息,尤其是在命令选项,您可以使用。

    笔记

    数据目录的初始化可能会失败,因为一些所需的软件库是从你的系统中缺少的。例如:

    shell> bin/mysqld --initialize --user=mysql
    bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot
    open shared object file: No such file or directory 

    当这一切发生的时候,你必须手动安装缺少的图书馆或与您的系统的软件包管理器,然后再重试数据目录初始化。

  4. 如果你希望服务器能够部署自动支持安全连接,使用mysql_ssl_rsa_setup实用工具来创建默认的SSL和RSA文件:

    shell> bin/mysql_ssl_rsa_setup
    

    有关更多信息,参见4.4.3“,”mysql_ssl_rsa_setup创建SSL / RSA文件”

  5. 如果插件目录(目录命名的plugin_dir系统变量)是可写的服务器,它可能会为用户编写的可执行代码文件目录中的应用SELECT ... INTO DUMPFILE。这是可以通过插件目录只读到服务器或通过设置secure_file_priv系统变量在服务器启动到一个目录SELECT写可以安全的进行。(例如,设置它的MySQL的文件创建目录的时候。)

  6. 指定MySQL服务器应该使用启动选项,把它们放在一个/etc/my.cnfmy.cnf /等/ MySQL /文件你可以使用这些文件来设置的,例如,secure_file_priv系统变量。见第5.1.2,“服务器配置默认值”。如果你不这样做,服务器开始使用默认设置。

  7. 如果你想让MySQL自动启动时启动你的机器,看2.9.5,“启动和停止MySQL自动”

初始化数据目录的创建时区表mysql数据库但不填充它们。这样做,使用说明书第5.1.12,MySQL服务器的时区支持”

2.9.1.1初始化使用mysqld手动数据目录

本节介绍了如何初始化数据目录使用mysqld,MySQL服务器

笔记

在MySQL 5.0,默认的身份验证插件已经从mysql_native_passwordcaching_sha2_password,和'root'@'localhost'管理帐户使用caching_sha2_password默认情况下。如果你喜欢的话,root帐户使用以前的默认身份验证插件(mysql_native_password),这caching_sha2_password和根的管理帐户

以下说明假定您当前的位置是MySQL的安装目录,这里的代表BASEDIR

内核&#62;cd BASEDIR

初始化数据目录,调用mysqld--initialize--initialize-insecure选项,这取决于你希望服务器生成的一个随机的初始密码root @本地主机账户

在Windows环境下,使用这些命令:

C:\> bin\mysqld --initialize
C:\> bin\mysqld --initialize-insecure

在UNIX和类UNIX系统,它是确保数据库目录和文件都是重要的mysql登录帐户,服务器的读写访问他们,当你运行它后。为了确保这一点,开始mysqld从系统root账户,包括--user选项如下所示:

内核&#62;bin/mysqld --initialize --user=mysql内核&#62;bin/mysqld --initialize-insecure --user=mysql

否则,当登录为执行程序mysql在这情况,你可以omit酒店--user选自商品

regardless的平台,使用--initialize默认安全安装(即包括一个随机的初始生成root密码)。在这种情况下,密码被标记为过期,您需要选择一个新的。与--initialize-insecure选择,没有root生成的密码;这是假定你会分配一个密码账号及时投入生产使用前先把服务器。

可能需要指定其他选项,如--basedir--datadir如果mysqld无法确定安装目录或目录数据的正确位置。例如(在一行中输入命令):

shell> bin/mysqld --initialize --user=mysql
         --basedir=/opt/mysql/mysql
         --datadir=/opt/mysql/mysql/data

另外,把相关的选项设置在一个选项文件,通过文件的名称mysqld。UNIX和类UNIX系统,假设选择文件名/opt/mysql/mysql/etc/my.cnf。把这些线中的文件:

[mysqld]basedir=/opt/mysql/mysqldatadir=/opt/mysql/mysql/data

然后调用mysqld如下(进入一个单行命令--defaults-file备选办法第一:

内核&#62;bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf--initialize --user=mysql

在Windows中,假设C:\my.ini包含这些线:

[mysqld]basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0datadir=D:\\MySQLdata

然后调用mysqld如下(的--defaults-file选项必须第一):

C:\>bin/mysqld --defaults-file=C:\my.ini --initialize

当调用的--initialize--initialize-insecure选项,mysqld执行以下的初始化序列。

笔记

服务器写入任何信息到标准错误输出。这可能会被重定向到错误日志,所以如果你没有看到屏幕上的信息。关于错误的日志信息,包括它的位置,看5.4.2部分,“错误日志”

在Windows中,使用--console选择直接消息到控制台。

  1. 对于数据目录存在的服务器检查如下:

    • 如果不存在数据目录,服务器创建它。

    • 如果一个数据目录存在但不是空的(即它包含的文件或子目录),产生一个错误消息服务器后退出:

      [ERROR] --initialize specified but the data directory exists. Aborting.
      

      在这种情况下,删除或重命名数据目录并再试一次。

      现有的数据目录,如果每一项都有一个名字,开始一段可空(.

  2. 在数据目录中,服务器创建的mysql系统的数据库和表,包括发放表,服务器端的帮助表和时区表。作为一个完整的清单和授权表的描述,参见6.2节,“MySQL的权限系统”

  3. 服务器初始化系统片和相关的数据结构来管理InnoDB

    笔记

    mysqld设置InnoDB系统片一些表空间的特点,要求建立一个全新的变化实例。这包括在SYSTEM表空间的第一个文件的文件名和数量的UNDO日志。如果你不想使用默认值,确保为设置innodb_data_file_pathinnodb_log_file_size配置参数在MySQL配置文件在跑步前mysqld。还可以指定其他必要的参数影响的创作与定位InnoDB文件,如innodb_data_home_dirinnodb_log_group_home_dir

    如果这些选择在你的配置文件,但是,文件不在一个位置,MySQL读取默认情况下,指定文件的位置使用--defaults-extra-file选择当你运行mysqld

  4. 服务器创建一个'root'@'localhost'超级用户帐户和其他保留账户(见第6.3.5、“保留用户帐户”)。一些保留的帐户被锁定,不能使用的客户,但'root'@'localhost'用于行政使用,你应该给它分配一个密码。

    服务器的作用为一个密码的尊重'root'@'localhost'帐户取决于你如何调用它:

    看到在分配一个新的指令,在本节稍后'root'@'localhost'密码.

  5. 服务器加服务器端帮助表如果内容是可用的(在fill_help_tables.sql文件)。服务器不在时区表;这样做,看第5.1.12,MySQL服务器的时区支持”

  6. 如果--init-file选择了SQL语句的文件名称,服务器执行文件中的语句。该选项允许您自定义序列进行引导。

    当服务器运行在引导模式,某些功能无法使用,限制了报表文件允许。这些包括有关帐户管理报表(如CREATE USERGRANT),复制,和全球事务标识符。

  7. 服务器退出

当你初始化数据目录启动服务器--initialize--initialize-insecure正常情况下,启动服务器(即,没有这些选项之一)和分配root @本地主机帐户的新密码:

  1. 启动服务器。有关说明,见第2.9.2“启动服务器”

  2. 连接到服务器:

    • 如果你使用--initialize但不--initialize-insecure初始化数据目录,连接到服务器root使用初始化序列中产生的服务器的随机密码:

      shell> mysql -u root -p
      Enter password: (enter the random root password here)
      

      看在服务器错误日志,如果你不知道这个密码。

    • 如果你使用--initialize-insecure初始化数据目录,连接到服务器root没有密码:

      shell> mysql -u root --skip-password
      
  3. 连接后,分配一个新的root密码:

    MySQL的&#62;ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
笔记

试图连接到主机127.0.0.1通常解决的本地服务器账户然而,这个失败如果服务器运行的--skip-name-resolve选项如果你打算这样做,确保帐户存在可接受的连接。例如,可以连接root使用--host=127.0.0.1--host=::1创建这些帐户:

CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password';
CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password';

可以把这些语句被执行的文件--init-file选择先前讨论

2.9.2启动服务器

本节介绍如何启动服务器在UNIX和类UNIX系统。(用于Windows,看第2.3.5.5,”启动服务器的第一次”一些建议。)命令,你可以使用测试服务器是否可以正常工作,看2.9.3节,“测试服务器”

如果你的安装包括启动MySQL服务器这样的_ mysqld safe

shell> bin/mysqld_safe --user=mysql &
笔记

对于Linux系统,MySQL是使用RPM包安装,启动和关闭服务器使用的是系统而不是管理_ mysqld safe,和_ mysqld safe未安装。看到第2.5.9、“系统”管理MySQL服务器

如果你的安装包括系统支持启动服务器这样的:

shell> systemctl start mysqld

如果它不同于相应的服务名称替代mysqld;例如,MySQL在SLES系统

,MySQL服务器运行使用的特权是很重要的(非—root)登录帐户。为了确保这一点,跑_ mysqld safe作为root包括--user选择如图所示。否则,你应该在登录为执行程序MySQL在这情况,你可以omit酒店--user选择from the命令。

用于运行MySQL作为一个普通用户进一步的指示,看6.1.5节,“如何运行MySQL作为一个正常的用户

如果命令不能立即打印mysqld ended,寻找在错误日志中的信息(这是默认的host_name错误在数据目录下的文件)。

如果服务器无法访问数据目录开始或在读取授权表mysql数据库,它将消息写入错误日志。如果你没有初始化数据目录在开始这一步创建授权表会出现这样的问题,或者如果你跑的命令,初始化数据目录中没有的用户选项拆下data目录并运行命令的用户选项

如果您有其他问题,启动服务器,看第2.9.2.1,“疑难问题启动MySQL服务器”。为更多的信息关于_ mysqld safe,看到4.3.2“,”_ mysqld safeMySQL服务器启动脚本”。有关系统支持的更多信息,参见第2.5.9、“系统”管理MySQL服务器

2.9.2.1疑难问题启动MySQL服务器

本节提供了解决问题的建议,启动服务器。对于Windows系统的额外的建议,看第2.3.6“排除微软Windows MySQL服务器安装”

如果你有问题,启动服务器,这里有一些事情要做:

  • 检查错误日志为什么服务器没有启动。日志文件位于数据目录(通常C:\Program Files\MySQL\MySQL Server 8.0\data在Windows,/usr/local MySQL数据一个Unix / Linux二进制分发,和/usr/local/var一个Unix / Linux源分布)。查看数据目录与文件名的形式host_name错误host_name日志,在那里host_name是你的服务器的主机名。然后检查这些文件的最后几行。使用显示他们:

    shell> tail host_name.err
    shell> tail host_name.log
    
  • 指定的存储引擎,你使用的是需要特殊的任何选项。你可以创建一个my.cnf文件并指定启动选项为引擎,你计划使用。如果您要使用的存储引擎,支持事务表(InnoDBNDB),确保你有你想要的配置启动服务器的方法。如果你使用的是InnoDB表,看第156,“InnoDB配置”为指导,15.13节,“InnoDB启动选项和系统变量”选项的语法

    虽然存储引擎使用的默认值,您忽略选项,Oracle建议您查看可用的选项和指定任何选项的默认值是不适合您的安装显式值。

  • 确保服务器知道到哪里去寻找数据目录。这个mysqld服务器使用该目录作为当前目录。这就是它希望找到数据库,将写入日志文件。服务器也写PID(进程ID)在数据目录的文件。

    默认的数据目录的位置是硬编码在服务器编译。确定默认路径设置是什么,调用mysqld--verbose--help选项如果数据目录位于你的系统的某个地方,在指定的位置--datadir选项mysqld_ mysqld safe,在命令行或在一个选项文件。否则,服务器将无法正常工作。作为一种替代办法--datadir选项,您可以指定mysqld该基地的目录下,MySQL的安装与定位--basedir,和mysqlddata目录里

    检查指定的路径选择的影响,调用mysqld这些选项后面的--verbose--help选项例如,如果你改变位置的目录mysqld安装并运行以下命令,它显示了从一个库目录服务器的影响/usr/local

    内核&#62;./mysqld --basedir=/usr/local --verbose --help

    您可以指定其他选项,如--datadir为好,但--verbose--help必须是最后的选择

    一旦你决定你想要的路径设置,启动服务器没有--verbose--help

    如果mysqld目前正在运行,你可以找到什么样的路径设置是通过执行这个命令:

    shell> mysqladmin variables
    

    shell> mysqladmin -h host_name variables
    

    host_name是MySQL服务器主机名。

  • 确保服务器可以访问数据目录。该数据目录及其内容的所有权和权限必须允许服务器读取和修改。

    如果你得到Errcode 13(这意味着权限被拒绝)开始的时候mysqld,这意味着数据目录及其内容的权限不允许访问服务器。在这种情况下,你的服务器有权使用他们改变所涉及的文件和目录的权限。你也可以启动服务器root,但这导致了安全问题应该是可以避免的。

    改变位置到数据目录和检查数据目录及其内容的所有权,保证服务器访问。例如,如果数据目录/usr/local/mysql/var,使用此命令:

    内核&#62;ls -la /usr/local/mysql/var

    如果数据目录或文件或子目录都不归你使用的登录帐户运行的服务器,改变其所有权。如果帐户名为mysql,使用这些命令:

    内核&#62;chown -R mysql /usr/local/mysql/var内核&#62;chgrp -R mysql /usr/local/mysql/var

    有了正确的所有权,MySQL可能无法启动,如果有其他安全软件在您的系统,管理文件系统的各个部分应用访问运行。在这种情况下,重新配置软件使mysqld在正常操作期间访问它使用的目录。

  • 验证网络接口的服务器要使用可。

    如果下列错误的发生,这意味着一些其他的程序(也许是另一个mysqld服务器)使用的是TCP / IP端口或UNIX套接字文件mysqld尝试使用:

    Can't start server: Bind on TCP/IP port: Address already in use
    Can't start server: Bind on unix socket...
    

    使用PS决定你是否有另一个mysqld服务器上运行。如果是这样的话,关闭服务器开始之前mysqld再一次.(如果另一个服务器正在运行,并且你真的想要运行多个服务器,你可以找到有关如何这样做5.7节,“运行多个MySQL实例一机”。)

    如果没有其他的服务器运行,执行命令telnet your_host_name tcp_ip_port_number。(默认的MySQL的端口号是3306。)然后回车几次。如果你没有得到一个错误信息,如Telnet:无法连接到远程主机:连接被拒绝,其他的一些程序使用TCP / IP端口mysqld尝试使用。追查什么程序这是禁用它,或者告诉mysqld听一个不同的端口--port选项在这种情况下,指定相同的非默认端口号客户程序连接到服务器时,使用TCP / IP。

    端口不可访问的另一个原因是,你有一个防火墙的运行模块连接到它。如果是这样的话,修改防火墙设置允许访问的端口。

    如果服务器启动但不能连接到它,确保你有一个条目/etc/hosts看起来像这样:

    127.0.0.1 localhost
  • 如果你不能得到mysqld开始,试着做一个跟踪文件发现问题用--debug选项看到第28.5.3,“该计划”

2.9.3测试服务器

在数据目录的初始化和你开始了新的服务器,进行一些简单的测试,以确保它是令人满意的。这部分假定您当前的位置是MySQL的安装目录,它有一个bin这里使用的MySQL程序包含子目录。如果这是不正确的,调整相应的命令路径名。

另外,添加bin目录到你的路径环境变量设置。使你的shell(命令解释器)找到MySQL程序是正确的,所以你可以通过键入唯一的名称运行一个程序,而不是它的路径名。看到第4.2.10条,“环境变量”

使用mysqladmin验证服务器正在运行。下面的命令提供简单的测试来检查服务器是否和响应关系:

shell> bin/mysqladmin version
shell> bin/mysqladmin variables

如果您无法连接到服务器,指定-u root选择连接root。如果你已经指定了一个密码root帐户已经,你还需要指定P在命令行中,输入密码提示时。例如:

shell> bin/mysqladmin -u root -p version
Enter password: (enter root password here)

从输出mysqladmin版略有不同,取决于你的平台和版本的MySQL,但应该类似于图:

shell> bin/mysqladmin version
mysqladmin  Ver 14.12 Distrib 8.0.14, for pc-linux-gnu on i686
...

Server version          8.0.14
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 14 days 5 hours 5 min 21 sec

Threads: 1  Questions: 366  Slow queries: 0
Opens: 0  Flush tables: 1  Open tables: 19
Queries per second avg: 0.000

看看还有什么可以做mysqladmin,调用它的--help选项

请确认您可以关闭服务器(包括-p选项,如果root帐户密码的话):

shell> bin/mysqladmin -u root shutdown

请确认您可以再次启动服务器。这样做用_ mysqld safe或通过调用mysqld直接。例如:

shell> bin/mysqld_safe --user=mysql &

如果_ mysqld safe失败了,看第2.9.2.1,“疑难问题启动MySQL服务器”

运行一些简单的测试来验证,你可以从服务器中检索信息。输出应该类似于图。

使用MySQLShow看看数据库存在:

shell> bin/mysqlshow
+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

安装数据库可能不同的名单,但总是包含最小mysqlinformation_schema

如果你指定一个数据库名称,MySQLShow显示一个列表的数据库表中:

shell> bin/mysqlshow mysql
Database: mysql
+---------------------------+
|          Tables           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+

使用MySQL程序从表中选择信息mysql数据库:

内核&#62;bin/mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql------ ----------- ----------------------- |用户|主机|插件| ------ ----------- ----------------------- |根| localhost | caching_sha2_password | ------ ----------- -----------------------

在这一点上,你的服务器正在运行,你可以访问它。加强安全措施,如果你没有指定一个密码,初始帐户,按照指示在第2.9.4,”保证初始MySQL账户”

为更多的信息关于MySQLmysqladmin,和MySQLShow,看到4.5.1“,”MySQL- MySQL命令行工具”4.5.2“,”mysqladmin客户管理MySQL服务器”,和第4.5.7,”MySQLShow显示数据库、表和列信息”,

2.9.4保证初始MySQL账户

MySQL的安装过程包括初始化数据目录,包括mysql它包含用于定义数据库MySQL账户授权表。详情见2.9节,“安装后的设置和测试

本节介绍如何指定密码的初始rootMySQL的安装过程中创建的帐户,如果你还没有这样做。

笔记

在Windows中,您还可以执行过程在本节中叙述的MySQL安装程序安装期间(见2.3.3节,“MySQL的Windows安装程序”)。在所有平台上,MySQL的配置包括MySQL安装的安全_ _,一个命令行工具,自动化大部分将MySQL的安装过程。MySQL Workbench在所有平台上都可用,并提供管理用户帐户的能力(见第三十章,MySQL Workbench

密码可能已经被分配到初始帐户的情况下:

  • 在Windows中,装置采用MySQL安装程序给你分配一个密码的选项。

  • 使用MacOS的安装程序安装生成一个初始的随机密码,并在对话框的用户显示安装程序。

  • 使用RPM包安装生成一个初始的随机密码,这是写在服务器错误日志。

  • 使用Debian软件包的安装给你分配一个密码的选项。

  • 数据目录进行初始化手动使用mysqld -初始化mysqld生成一个初始的随机密码,标志着它已过期,并将其写入服务器错误日志。详情见部分2.9.1.1,“初始化使用mysqld”手动数据目录

这个mysql.user格兰特表定义了最初的MySQL用户帐户和访问权限。安装MySQL只创建一个root @本地主机超级用户拥有所有权限,可以做任何事。如果root帐户有一个空的密码,你的MySQL安装保护:任何人都可以连接到MySQL服务器root没有密码并被授予所有权限

这个'root'@'localhost'账户也在一排mysql.proxies_priv表格可以授予PROXY特权“@”,即所有用户和所有主机。这使root设置代理的用户,以及委托其他帐户的权限设置代理用户。看到第6.3.11”代理用户”

在最初的MySQL指定一个密码root帐户,请使用以下过程。更换new_password在例子中,您想使用的密码。

如果它没有运行启动服务器。有关说明,见第2.9.2“启动服务器”

最初的root帐户可能会或可能不会有一个密码。选择下列程序适用:

  • 如果root账户的初始随机密码已过期的存在,连接到服务器root使用密码,然后选择一个新密码。这种情况如果数据目录使用初始化mysqld -初始化,可以手动或使用一个,不给你指定一个密码在安装运行安装程序的选项。由于密码是存在的,你必须用它来连接到服务器。但由于密码已过期,不能使用占比选择一个新密码的任何目的,直到你选择一个。

    1. 如果你不知道最初的随机密码,查看服务器的错误日志。

    2. 连接到服务器root使用密码:

      内核&#62;mysql -u root -p输入密码:(enter the random root password here)
    3. 选择一个新密码更换随机密码:

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
      
  • 如果root账户存在但没有密码,连接到服务器root不使用密码,然后指定一个密码。这种情况下如果你初始化数据目录使用mysqld -初始化不安全

    1. 连接到服务器root使用无密码:

      内核&#62;mysql -u root --skip-password
    2. 指定一个密码:

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
      

在分配的root帐户的密码,您必须提供密码,当你连接到使用帐号服务器。例如,连接到服务器使用MySQL客户端,使用此命令:

shell> mysql -u root -p
Enter password: (enter root password here)

关闭服务器mysqladmin,使用此命令:

shell> mysqladmin -u root -p shutdown
Enter password: (enter root password here)
笔记

更多信息关于设置密码,看第6.3.7,“分配账号密码”。如果你忘了你的root设置密码后,看到第b.5.3.2,“如何重置密码”

设置额外的账户,看6.3.2、“添加用户帐户”

自动启动和停止MySQL 2.9.5

本节讨论了启动和停止MySQL服务器的方法。

一般来说,你开始mysqld在这些方法中的一种服务器:

系统,该_ mysqld safemysql.server脚本,Solaris SMF,和MacOS的启动项(或MySQL偏好窗格)可用于手动启动服务器,或自动在系统启动时间。D.,mysql.server,和启动项也可以用来停止服务器。

下表显示的选项组的选项文件读取服务器和启动脚本。

表2.14 mysql启动脚本支持服务器选项组

脚本选项组
mysqld[mysqld]服务器[mysqld-major_version]
_ mysqld safe[mysqld]服务器[mysqld_safe]
mysql.server[mysqld][ mysql.server ][server]

[mysqld-major_version]意味着像组[我] 5.7 mysqld[mysqld-8.0]通过版本5.7服务器读取。x 8 x,等等。此功能可用于指定选项可以只读服务器在一个给定的版本系列。

向后兼容性,mysql.server也读[mysql_server]组和_ mysqld safe也读[safe_mysqld]群组是当前,你应该更新你的选项文件使用[ mysql.server ][mysqld_safe]组而不是

在MySQL的配置文件和它们的结构和内容的更多信息,参见第4.2.6、“使用选项文件”

2.10升级MySQL或downgrading

升级是一种常见的程序,当你拿起bug修复在同一系列或MySQL释放显著特征主要MySQL版本之间。您执行此过程第一部分的测试系统,以确保一切顺利,然后在生产系统。

降级是不常见的。这通常是由于兼容性和性能问题,发生在一个没有被发现的初始升级验证测试系统在生产系统。

笔记

从MySQL 8 MySQL 5.7降级(或从MySQL 8版本以前的MySQL 8版本)不支持。支持的唯一选择是恢复备份之前升级。所以,你备份你的数据在开始升级过程。

2.10.1升级MySQL

本节介绍了如何升级到新版本的MySQL。

2.10.1.1 MySQL升级策略

升级方法
  • 就地升级:包括关闭旧的MySQL版本,用新的替换旧的MySQL的二进制文件或软件包,重新启动MySQL对已有数据目录,运行mysql_upgrade。对于就地升级程序,看就地升级

  • 逻辑升级出口:涉及SQL使用备份或导出实用程序如旧的MySQL版本mysqldumpmysqlpump,安装新的MySQL版本,并应用到新版本的MySQL的SQL。

    笔记

    使用SQL从以前的MySQL释放提取到一个新的MySQL释放会造成新的,改变,不引入不兼容的错误,或删除的功能和能力。因此,SQL提取从以前的MySQL释放可能需要修改以使逻辑升级。

    升级到最新的MySQL 8发布之前确定不兼容性,使用mysql检查你的MySQL安装checkForServerUpgrade功用有关更多信息,参见MySQL的内核的公用事业。检查一个MySQL安装的mysql执行5.7checkForServerUpgrade效用进行了验证你的MySQL 5.7安装升级的先决条件

  • 如果你在Windows上运行MySQL服务器,指的是描述在升级程序第2.3.8,“升级MySQL在Windows”

  • 如果你目前的MySQL安装是安装在一个企业或Fedora Linux平台使用MySQL的yum库,看第2.10.1.3,“MySQL yum库升级MySQL”

  • 如果你目前的MySQL安装在Ubuntu使用MySQL的容易存放,看第2.10.1.4,“MySQL APT库升级MySQL”

升级路径
  • 从MySQL 5.7升级到8的支持。然而,升级只支持之间的通用性(GA)发布。MySQL 8,您必须升级从MySQL 5.7 GA版本(5.7.9或更高)。不支持从MySQL 5.7版本升级非GA。

  • 升级到最新版本的建议升级到下一个版本之前。例如,升级到最新的MySQL版本升级到MySQL 5.0前5。

  • 升级,跳过版本不支持。例如,升级直接从MySQL 5.6至8不支持。

  • 一旦发布系列达到通用性(GA)的地位,提升在GA发布系列从一个版本到另一个GA版本支持。例如,从MySQL 8升级。x这是8y支持。(升级涉及发展现状的版本是不支持的。)不释放也支持。例如,从MySQL 8升级。x这是8z支持。MySQL是一8.0.11 GA状态发布在MySQL 8版本系列。

在你开始之前

在升级之前,仔细阅读以下信息,并执行任何推荐的步骤:

  • 保护您的数据创建一个备份当前数据库和日志文件。备份应包括mysql系统的数据库,其中包含MySQL数据字典表和系统表。看到2节,“数据库备份方法

    重要

    从MySQL 8 MySQL 5.7降级(或从MySQL 8版本以前的MySQL 8版本)不支持。支持的唯一选择是恢复备份之前升级。所以,你备份你的数据在开始升级过程。

  • MySQL服务器8包含一个全局数据字典事务表包含数据库对象的信息。在以前的MySQL系列,字典数据存储在元数据文件和非事务性系统表。从MySQL 5.7升级到MySQL 8升级数据目录从基于文件结构的数据字典结构。

    当你升级,数据字典功能的服务器需要一些通用的操作差异;看14.7节,“数据字典的用法的差异”

  • 评论第2.10.1.2,影响升级到MySQL 5.0”变化确定在MySQL 8的变化可能会影响你的MySQL的安装及应用。一些变化可能在升级之前或之后需要行动。

  • 回顾版本说明它提供关于新的MySQL 8或不同于那些在早期的MySQL版本的特征信息。这些变化可能会导致不兼容。

  • 评论功能删除MySQL 8MySQL服务器的功能已经在MySQL 8.0删除。升级需要尊重那些特征的变化如果你使用任何人。

  • 评论5节,“服务器状态变量和选项,使用MySQL 5.0或删除”MySQL服务器变量和选项已被添加,删除过时的,或在MySQL 8。如果你使用任何这些,升级需要配置的变化。

  • 如果你使用复制,综述第17.4.3,升级复制设置”

  • 如果你的MySQL安装包含大量的,可能需要很长的时间来转换后就地升级数据,你会发现它很有用,创建一个笨蛋评估可能需要什么类型的转换和工作执行的数据库实例。做一份你的MySQL实例包含的完整副本mysql数据库,再加上所有其他数据库没有数据。运行升级程序在这个虚拟实例看什么行动可能需要使您可以更好地评估工作对你原来的数据库实例进行实际数据转换时。

  • 重建和重新安装MySQL语言接口的建议在你安装或升级到新版本的MySQL。这适用于MySQL的接口如PHPmysql扩展,PerlDBD::MySQL模块,和PythonMySQLdb模块

笔记

在指令之后,MySQL命令,必须运行使用MySQL具有管理特权的帐户包括-u root在指定的MySQL命令行root用户命令需要密码root还包括一个P选项因为-p其次是没有期权的价值,这样的命令提示输入密码。键入密码提示时,按回车键。

SQL语句可以执行使用MySQL命令行客户端(连接root确保你有必要的特权)。

为你的MySQL 5.7installation验证升级的先决条件

升级到MySQL 8之前,有必要利用你的MySQL 5.7服务器执行几个初步检查,确保您的安装升级准备。升级过程中可能会失败,否则。

笔记

同样的检查可以使用mysql执行checkForServerUpgrade功用有关更多信息,参见MySQL的内核的公用事业

初步检查:

  1. 必须没有表过时的数据类型,使用过时的功能,孤儿.frm文件夹,InnoDB表使用外来的分区,或已丢失或空的定义或无效的创作背景触发(表示的character_set_client粘贴连接Database Collation属性显示SHOW TRIGGERSinformation_schemaTRIGGERS目录(续)

    鉴定表和触发器,没有这些要求,执行此命令:

    mysqlcheck -u root -p --all-databases --check-upgrade
    

    如果mysqlcheck报告任何错误,纠正问题。

  2. 必须有没有分区表使用的存储引擎,没有本地分区支持。确定执行此查询表:

    SELECT TABLE_SCHEMA, TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE ENGINE NOT IN ('innodb', 'ndbcluster')
    AND CREATE_OPTIONS LIKE '%partitioned%';
    

    任何表的查询报告必须改变使用InnoDB或是未分区。改变一个表的存储引擎InnoDB执行该语句:

    ALTER TABLE table_name ENGINE = INNODB;
    

    有关转换MyISAMInnoDB,看到第15.8.1.4”转换表,从MyISAM到InnoDB”

    在已分区表使partitioned,this statement:execute

    ALTER TABLE table_name REMOVE PARTITIONING;
    
  3. 必须有在MySQL 5.7没有表mysql系统数据库的名称由MySQL 5.0数据字典表一样使用。找出这些名字的表格,执行此查询:

    SELECT TABLE_SCHEMA, TABLE_NAMEFROM INFORMATION_SCHEMA.TABLESWHERE LOWER(TABLE_SCHEMA) = 'mysql'and LOWER(TABLE_NAME) IN('catalogs','character_sets','collations','column_statistics','column_type_elements','columns','dd_properties','events','foreign_key_column_usage','foreign_keys','index_column_usage','index_partitions','index_stats','indexes','parameter_type_elements','parameters','resource_groups','routines','schemata','st_spatial_reference_systems','table_partition_values','table_partitions','table_stats','tables','tablespace_files','tablespaces','triggers','view_routine_usage','view_table_usage');

    任何表报告的查询必须改名(使用RENAME TABLE)。这可能也意味着使用受影响的表的应用程序的变化。

  4. 必须没有表有外键约束的名称超过64个字符。识别太长约束名称表,执行此查询:

    SELECT TABLE_SCHEMA, TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME IN
      (SELECT LEFT(SUBSTR(ID,INSTR(ID,'/')+1),
                   INSTR(SUBSTR(ID,INSTR(ID,'/')+1),'_ibfk_')-1)
       FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN
       WHERE LENGTH(SUBSTR(ID,INSTR(ID,'/')+1))>64);
    

    任何表报告的查询必须改变有约束的名称不超过64个字符(使用ALTER TABLE

  5. 必须没有表或单独的存储过程ENUM配置列元素超过255个字符或1020个字节的长度。MySQL 8之前,最大组合长度ENUM配置列元素是64K。在MySQL 8中,一个人的最大字符长度ENUM配置柱单元是255个字符,并且最大字节长度为1020字节。(1020字节的限制支持multitibyte字符集)。升级到MySQL 5.0之前,修改ENUM配置列元素超过新限制。如果不这样做会导致升级失败与错误。

  6. 你的MySQL 5.7安装不能使用不受支持的功能的MySQL 8。这里的任何变化都必须安装特定的,但下面的例子说明事物寻找种:

    • 表使用的存储引擎在MySQL 8不支持必须改变使用支持的引擎。例如,MySQL 8还不支持MySQL集群,所以NDB表必须改变使用不同的存储引擎。

    • 一些服务器启动选项和系统变量已经在MySQL 8中移除。看到功能删除MySQL 8,和5节,“服务器状态变量和选项,使用MySQL 5.0或删除”。如果你使用任何这些,升级需要配置的变化。

      例如:由于数据字典提供了关于数据库对象的信息,服务器不再检查目录的名称在数据目录中找到数据库。因此,该--ignore-db-dir选择是多余的和已被删除。为了解决这个问题,删除任何实例-先生- DB目录从你的启动配置。此外,删除或移动指定的数据目录的子目录升级到MySQL 5.0之前。(或者,让8个服务器添加目录数据字典数据库,然后删除这些数据库的使用DROP DATABASE。)

就地升级
笔记

如果你是升级安装多个RPM包原来的生产安装,升级所有的包,不只是一些。例如,如果你以前安装的服务器和客户机的转速,不升级只是服务器转。

对于一些Linux平台,从RPM和Debian软件包管理系统的支持,包括MySQL安装MySQL服务器的启动和关闭。在这些平台上,_ mysqld safe未安装。在这种情况下,应用系统服务器的启动和关闭而不是用于下列指令的方法。看到第2.5.9、“系统”管理MySQL服务器

执行就地升级:

  1. 审查资料在你开始之前

  2. 通过初步检查,确保您的安装升级准备验证你的MySQL 5.7安装升级的先决条件

  3. 如果你使用了XA交易InnoDB,运行XA RECOVER升级检查前未提交的XA事务。如果返回的结果,可以提交或回滚XA事务发布XA COMMITXA ROLLBACK声明

  4. 你的MySQL服务器5.7、如果有加密InnoDB表空间,旋转钥匙圈主密钥由执行该语句:

    改变实例旋转InnoDB主密钥;
  5. 如果你运行你的MySQL服务器配置为innodb_fast_shutdown设置(冷关机),其配置为执行这些语句执行一个快速或缓慢关闭:

    SET GLOBAL innodb_fast_shutdown = 1; -- fast shutdown
    SET GLOBAL innodb_fast_shutdown = 0; -- slow shutdown
    

    用快或慢关机,InnoDB留下的UNDO日志和数据在一个国家的文件,可以在不同版本之间的文件格式处理。

  6. 关闭旧的MySQL服务器。例如:

    mysqladmin -u root -p shutdown
    
  7. 升级MySQL的二进制安装包。如果升级的二进制安装,打开新的MySQL二进制发布包。看到获得和解压的分布。包装的基础设施,以新的代替旧的包。

    笔记

    支持的Linux发行版,取代MySQL软件包的首选方法是使用MySQL软件库;看第2.10.1.3,“MySQL yum库升级MySQL”第2.10.1.4,“MySQL APT库升级MySQL”,或与MySQL版本库升级MySQLfor语句

  8. 启动MySQL服务器8、利用现有的资料目录。例如:

    mysqld_safe --user=mysql --datadir=/path/to/existing-datadir
    

    如果有加密InnoDB表空间,使用--early-plugin-load选择加载密钥环的插件。

    当你启动MySQL 8的服务器,它会自动检测是否存在数据字典表。如果没有,服务器创建他们的数据目录,填充他们的元数据,然后将其正常的启动顺序。在这个过程中,所有的数据库对象,包括数据库、表空间元数据服务器升级,系统和用户表,视图和存储程序(存储过程、函数、触发器、事件调度事件)。服务器也会删除以前用于元数据存储文件。例如,升级后,你会发现你的表不再有.frm文件

    如果这一步成功,服务器进行清理:

    • 在数据目录中,服务器会创建一个目录backup_metadata_57进入它的文件命名db.opt和一个后缀的文件.frmPAR.TRG。TRN,或.isl。(这些都是以前使用的元数据存储。文件)

      文件在backup_metadata_57目录保留原来的文件系统层次结构。例如,如果t1.frm位于my_schema1数据目录下的目录中,服务器将其移动到backup_metadata_57 / my_schema1目录

    • mysql数据库服务器重命名事件procevent_backup_57proc_backup_57

    如果这一步失败,服务器会将所有更改的数据目录。在这种情况下,你应该删除所有重做日志文件,在一开始你的MySQL服务器数据目录为,并修复任何错误的原因。然后执行5.7服务器,另一个缓慢的关闭和启动MySQL服务器8再试一次。

  9. MySQL 8服务器成功启动后,执行mysql_upgrade

    mysql_upgrade -u root -p
    

    mysql_upgrade检查所有数据库中的所有表和MySQL的当前版本不兼容。它使任何剩余的变化需要在mysql系统数据库MySQL和MySQL之间为0,这样你可以利用新的权利或能力。mysql_upgrade也带来了性能模式,INFORMATION_SCHEMA,和系统模式对象的截至日期为MySQL 5.0。

    笔记

    mysql_upgrade不升级的帮助表的内容。升级的说明,见第5.1.13,“服务器端”

  10. 关闭并重新启动MySQL服务器,确保了系统表生效的任何变化。例如:

    mysqladmin -u root -p shutdown
    mysqld_safe --user=mysql --datadir=/path/to/existing-datadir
    

    你第一次启动MySQL服务器8(在前面的步骤),你可能已经注意到,写入错误日志以nonupgraded表的信息。如果mysql_upgrade已成功运行,不应该有这样的消息你第二次启动服务器。

升级故障排除
  • 架构不匹配,在MySQL 5.7实例之间的frm一个表文件和InnoDB数据字典可以导致升级到MySQL 8的失败。这种错配可能是由于frm文件损坏。为了解决这个问题,转储和恢复受影响的表之前,试图再次升级。

  • 如果出现问题,如:新mysqld服务器没有启动,请确认您没有老my.cnf从以前的安装文件。你可以检查这个的--print-defaults选项(例如,mysqld --打印默认值)。如果这个命令显示了比任何其他的程序的名字,你有一个活跃的my.cnf文件服务器或客户端操作的影响。

  • 如果升级后,你的经验与编译客户端程序问题,如Commands out of sync核心转储或意外,你可能已经使用旧头或库在编译你的程序文件。在这种情况下,检查你的日期MySQL的文件和libmysqlclient.a图书馆是否从新的MySQL的分布。如果不是,重新编译你的程序与新的头文件和库。重新编译也可以编译对共享的客户端库如果库的主版本号的程序必要的改变(例如,从libmysqlclient.so.20libmysqlclient.so.21

  • 如果您已经创建了一个用户自定义函数(UDF)对于一个给定的名称和升级MySQL版本,实现了一种新的内置函数具有相同的名称,UDF变得不可访问。要纠正此问题,使用DROP FUNCTION下降的UDF,然后使用CREATE FUNCTION再以不同的名字创建udf不冲突。同样如果MySQL的新版本实现了一个内置的函数相同的名称与现有的存储功能。看到9.2.4节,“函数名称解析和解决”,用于描述服务器如何解释不同类型的函数的引用规则。

2.10.1.2变化影响升级到MySQL 8

升级到MySQL 5.0之前,回顾本节所述确定升级问题,适用于你的MySQL安装和应用的变化。

标记为变化已知的问题不兼容的改变与早期版本的MySQL的不兼容,可能需要你的关注在你升级。我们的目标是避免这些变化,但偶尔也有必要纠正存在的问题,将比之间释放不差。如果任何升级问题适用于您的安装是不需要特殊处理的,按照说明书的指示。

数据字典的变化

MySQL服务器8包含一个全局数据字典事务表包含数据库对象的信息。在以前的MySQL系列,字典数据存储在元数据文件和非事务性系统表。因此,升级程序是从以前的MySQL版本有所不同,要求您验证您的安装升级准备通过检查特定的先决条件。有关更多信息,参见验证你的MySQL 5.7安装升级的先决条件。数据字典功能的服务器需要一些通用的操作差异;看14.7节,“数据字典的用法的差异”

caching_sha2_password作为首选的身份验证插件

这个caching_sha2_passwordsha256_password身份验证插件提供更安全的密码加密比mysql_native_password插件,和caching_sha2_password提供了更好的性能比sha256_password。由于这些卓越的安全性和性能特点caching_sha2_password,这是MySQL 8的首选认证插件,也是默认的身份验证插件而不是mysql_native_password。这种变化会影响服务器和libmysqlclient客户端库:

  • 为服务器的默认值default_authentication_plugin系统变量的变化mysql_native_passwordcaching_sha2_password

    这一变化仅适用于安装或升级到MySQL 5.0以上后创建新的帐户。在升级安装已经现有的客户,他们的身份验证插件保持不变。现有的用户谁想要切换到caching_sha2_password可以使用这样的ALTER USER声明:

    修改用户user确定caching_sha2_password &#39;password&#39;;
  • 这个libmysqlclient图书馆将caching_sha2_password作为默认的身份验证插件而不是mysql_native_password

下面的章节讨论的作用更为突出的影响caching_sha2_password

caching_sha2_password兼容性问题及解决方案
重要

如果你的MySQL安装必须为pre-8.0客户和你遇到的兼容性问题升级到MySQL 8或更高版本后,要解决这些问题,恢复pre-8.0兼容性是重新配置服务器恢复到以前的默认身份验证插件的最简单的方法(mysql_native_password)。例如,在服务器选项文件中使用这些线:

[mysqld]default_authentication_plugin=mysql_native_password

这个设置允许客户端连接到服务器pre-8.0 8.0直到你安装使用的客户端和连接器都升级到知道caching_sha2_password。然而,设置应该被看作是暂时的,而不是作为一个长期或永久性的解决方案,因为它导致新的帐户创建效果设置放弃改进认证提供的安全caching_sha2_password

使用caching_sha2_password提供更安全的密码散列比mysql_native_password(和随之而来的改进的客户端连接认证)。然而,它也有兼容性的影响,可能会影响现有的MySQL安装:

  • 客户和连接器尚未更新的了解caching_sha2_password可以连接到MySQL服务器的配置问题8caching_sha2_password作为默认的身份验证插件,甚至使用账户,不进行身份验证caching_sha2_password。这个问题是由于服务器指定客户端的默认身份验证插件的名称。如果一个客户或连接器是基于客户端/服务器协议实现,不妥善处理无法识别的默认身份验证插件,它可能会失败,错误,如其中的一个:

    Authentication plugin 'caching_sha2_password' is not supported
    
    身份验证插件的caching_sha2_password”无法加载dlopen(/usr/local / MySQL / lib /插件/ caching_sha2_password.so,2):图像未发现
    Warning: mysqli_connect(): The server requested authentication
    method unknown to the client [caching_sha2_password]
    

    有关编写连接器优雅地处理从服务器请求未知的默认身份验证插件的信息,参见身份验证插件连接器的写作注意事项

  • 使用一个帐户,认证客户caching_sha2_password必须使用安全连接(使用TCP使用TLS / SSL证书,做了一个UNIX套接字文件,或共享内存),或未加密的连接,支持密码交换使用RSA密钥对。这个安全要求不适用于mysql_native_passsword,所以开关caching_sha2_password可能需要额外的配置(见第6.5.1.3,“缓存SHA-2认证”)。然而,在MySQL 8的客户端连接更喜欢使用TLS / SSL默认的,所以已经符合偏好可能不需要额外的配置客户。

  • 客户和连接器尚未更新的了解caching_sha2_password不能连接到帐户进行身份验证caching_sha2_password因为他们不承认这个插件是有效的。(这是一个特定的实例的客户端/服务器认证插件兼容性的要求,如在客户机/服务器认证插件兼容性。)来解决这个问题,重新连接的客户对libmysqlclient从MySQL 8或更高,或获得更新的连接器的识别caching_sha2_password

  • 因为caching_sha2_password现在也在默认的身份验证插件libmysqlclient客户端库,认证需要在客户端/服务器协议额外的往返从MySQL 5.0客户帐户使用的连接mysql_native_password(以前的默认身份验证插件),除非客户程序调用一个--default-auth=mysql_native_password选项

这个libmysqlclient对于pre-8.0 MySQL版本的客户端库能够连接到MySQL服务器8(除帐户进行身份验证caching_sha2_password)。这意味着pre-8.0客户基于libmysqlclient也应该能够连接。实例:

  • 标准的MySQL客户端等MySQLmysqladminlibmysqlclient基于

  • DBD::对于Perl DBI MySQL驱动程序libmysqlclient基于

  • MySQL连接器/ Python有一个C扩展模块,libmysqlclient基于。要使用它,包括use_pure=False选择在连接时间

当一个现有的MySQL 8安装升级到MySQL 8.0.4或更高,一些老的libmysqlclient基于客户自动升级如果是动态链接的,因为他们使用新的客户端库的升级安装。例如,如果DBD::对于Perl DBI MySQL驱动程序使用动态链接,也可以使用libmysqlclient在升级到MySQL 8.0.4或更后,这样的结果:

  • 在升级之前,DBI脚本使用DBD::MySQL可以连接到一个MySQL 5.0服务器,除了帐户进行身份验证caching_sha2_password

  • 升级后,同样的剧本成为能够使用caching_sha2_password帐户以及

然而,上述结果发生的原因libmysqlclient从MySQL 8安装之前8.0.4是二进制兼容的例子:他们都使用一个共享库的主版本号21。为客户联系libmysqlclient从MySQL 5.7或以上,他们链接到共享库的不同版本不兼容的二进制数。在这种情况下,客户端必须重新编译和libmysqlclient从8.0.4以上MySQL服务器完全兼容和8.0caching_sha2_password账户.

MySQL连接器/ J 5.1通过8.0.8能够连接到MySQL 8服务器,除了帐户进行身份验证caching_sha2_password。(连接器/ J 8.0.9或更高的要求连接caching_sha2_password账户。)

使用其他的客户端/服务器协议的一个实现客户libmysqlclient可能需要升级到新版本,了解新的认证插件。例如,PHP,MySQL的连接通常是基于mysqlnd,目前不知道caching_sha2_password。直到一个更新的版本mysqlnd可用,使PHP客户端连接到MySQL 8的方法是重新配置服务器恢复mysql_native_password作为默认的身份验证插件,正如前面所讨论的。

如果一个客户或连接器支持选项显式指定一个默认身份验证插件,使用它的名字比其他插件caching_sha2_password。实例:

  • 一些MySQL客户端支持--default-auth选择。(标准的MSQL客户服务)MySQLmysqladmin支持此选项可顺利连接到8台服务器。然而,其他客户可能会支持类似的选项。如果是这样的话,它是值得一试。)

  • 程序使用libmysqlclientC API可以调用mysql_options()功能与_ _ auth mysql默认选项

  • MySQL连接器/ Python脚本使用的客户端/服务器协议原生Python实现可以指定auth_plugin连接选项。(或者,使用连接器/ Python的C扩展,能够不需要连接到MySQL服务器8auth _插件。)

caching_sha2_password-compatible客户端和连接器

如果一个客户或连接器提供已更新的了解caching_sha2_password,使用它是为了确保兼容性连接到MySQL服务器配置8时最好的方式caching_sha2_password作为默认的身份验证插件。

这些客户和连接器升级支持caching_sha2_password

  • 这个libmysqlclient在MySQL客户端库(8.0.4 8或更高)。标准的MySQL客户端等MySQLmysqladminlibmysqlclient为基础的,所以他们是兼容的同时。

  • 这个libmysqlclient在MySQL客户端库(5.7.23 5.7或更高)。标准的MySQL客户端等MySQLmysqladminlibmysqlclient为基础的,所以他们是兼容的同时。

  • MySQL连接器/ C 1.1.11或高或8.0.7或更高。

  • MySQL Connector/J 8.0.9或更高。

  • MySQL连接器/净8.0.10或更高(通过经典的MySQL协议)。

  • MySQL连接器/ Node.jss 8.0.9或更高。

  • PHP:X devapi PHP扩展(mysql_xdevapi)支持caching_sha2_password

    PHP的pdo_mysql和EXT / mysqli扩展不支持caching_sha2_password。此外,当使用PHP版本之前7.1.16和PHP 7.2之前7.2.4,他们失败的连接default_authentication_plugin=caching_sha2_password即使caching_sha2_password不使用

caching_sha2_password和根的管理帐户

升级到MySQL 8,认证插件现有客户保持不变,包括对插件'root'@'localhost'管理帐户

新的MySQL 8安装,当你初始化数据目录(使用说明部分2.9.1.1,“初始化使用mysqld”手动数据目录页:1'root'@'localhost'帐户创建,使用和账户caching_sha2_password默认情况下。连接到以下数据目录初始化服务器,因此你必须使用一个客户端或连接器支持caching_sha2_password。如果你能这样做,但希望root账户使用mysql_native_password安装后,安装MySQL和初始化数据目录,你通常会。然后连接到服务器root和使用ALTER USER如下更改账户和密码的身份验证插件:

改变用户的根&#39;@&#39;本地主机&#39;确定&#39; mysql_native_passwordpassword&#39;;

如果客户或连接器,你用还不支持caching_sha2_password,你可以使用一个修改数据目录的初始化程序,将root帐户mysql_native_password一旦帐户创建。这样做,使用这些技术:

caching_sha2_password和复制

在这所有的服务器已经升级到MySQL 8.0.4或更高的复制方案,奴隶/复制连接主/主服务器可以使用帐户进行身份验证caching_sha2_password。这样的连接,同样的要求也适用于其他客户使用的帐户进行身份验证caching_sha2_password:使用安全的连接或基于RSA密码交换。

连接到一个caching_sha2_password考虑主从复制:

  • MySQL建立使用OpenSSL,使用以下任一CHANGE MASTER TO备选办法:

    MASTER_SSL = 1GET_MASTER_PUBLIC_KEY = 1MASTER_PUBLIC_KEY_PATH='path to RSA public key file&#39;
  • MySQL建立使用wolfssl,使用MASTER_SSL=1CHANGE MASTER TO

    或者,你可以如果需要钥匙在服务器启动时提供使用RSA公钥相关的选项。

连接到一个caching_sha2_password组复制帐户:

  • MySQL建立使用OpenSSL,设置下列系统变量:

    SET GLOBAL group_replication_recovery_use_ssl = ON;
    SET GLOBAL group_replication_recovery_get_public_key = 1;
    SET GLOBAL group_replication_recovery_public_key_path = 'path to RSA public key file';
    
  • MySQL建立使用wolfssl,设置系统变量:

    SET GLOBAL group_replication_recovery_use_ssl = ON;
    

    或者,你可以如果需要钥匙在服务器启动时提供使用RSA公钥相关的选项。

配置的变化
  • 不兼容的改变:MySQL存储引擎现在负责提供它自己的分区处理,和MySQL服务器不再提供通用的分区支持。InnoDB是唯一的存储引擎本地分区处理,在MySQL 8提供支持。(TheNDB存储引擎还提供了本地分区的支持,但尚未在MySQL 8的支持。)分区表使用任何其他存储引擎必须改变为InnoDB,或删除其分区—之前升级服务器,否则无法使用之后。

    有关转换MyISAMInnoDB,看到第15.8.1.4”转换表,从MyISAM到InnoDB”

    一个表创建表,在分区表使用的存储引擎不支持失败,一个错误的结果,(er_check_not_implemented在MySQL 8)。如果你从一个MySQL 5.7中创建的转储文件导入数据库(或更早)使用mysqldump在MySQL 8服务器,您必须确保任何语句创建分区表也没有指定一个不受支持的存储引擎,可以通过删除任何引用分区,或通过指定的存储引擎InnoDB或允许它被设置为InnoDB默认情况下

    笔记

    在给定的程序验证你的MySQL 5.7安装升级的先决条件,介绍了如何识别分区表,必须改变升级到MySQL 5.0之前。

    看到第22.6.2,分区限制有关存储引擎”为进一步的信息

  • 不兼容的改变:几个服务器错误代码不使用已被删除(一个清单,看看功能删除MySQL 8)。应用程序,专门为他们中的任何测试应更新。

  • 重要的变化:默认字符集已经从latin1utf8mb4。这些系统变量的影响:

    因此,对新对象的默认字符集和整理不同于以前除非显式指定字符集和整理。这包括在他们的数据库和对象,如表、视图和存储的程序。假设使用的是以前的默认设置,保存它们的方法之一是启动服务器中的这些句子my.cnf文件:

    [mysqld]character_set_server=latin1collation_server=latin1_swedish_ci

    在复制的设置,从MySQL 5.7至8,建议更改默认字符集的字符集回到升级前使用MySQL 5.7。升级完成后,默认的字符集是可以改变的utf8mb4

  • 不兼容的改变:在MySQL 8.0.11,禁止以启动服务器lower_case_table_names设置不同的设置时使用的服务器初始化。限制是必要的因为不同的数据字典表的字段使用的排序规则是基于设置定义在服务器初始化,然后用不同的设置服务器重启会引入不一致就如何标识排序和比较。

服务器的变化
  • 在MySQL 8.0.11,几个废弃的帐户管理相关的功能已被删除,如使用的GRANT语句修改用户帐户nonprivilege特点的no_auto_create_userSQL模式的PASSWORD()功能,和old_passwords系统变量

    从5.7到8的MySQL语句引用的这些删除的功能复制会导致复制失败。使用任何的删除的功能应当修订,避免使用方案时可能的应用,如功能删除MySQL 8

    为了避免在MySQL 8启动失败,删除任何实例NO_AUTO_CREATE_USERsql_mode在MySQL选项文件系统变量设置。

    加载转储文件,包括NO_AUTO_CREATE_USERSQL模式存储程序定义成一个MySQL服务器导致失败8。在MySQL 5.7.24和MySQL 8.0.13,mysqldump删除NO_AUTO_CREATE_USER从存储程序的定义。创建了一个早期版本的转储文件mysqldump必须手动修改删除实例NO_AUTO_CREATE_USER

  • 在MySQL 8.0.11,这些不兼容的SQL模式被移除:DB2MaxDBMSSQLmysql323MYSQL40OraclePOSTGRESQLno_field_optionsNO_KEY_OPTIONS没有_ _选项表。他们可以不再被分配到sql_mode系统变量或作为允许值为mysqldump--compatible选项

    去除MAXDB意味着时间戳数据类型CREATE TABLEALTER TABLE不再视为DATETIME

    从5.7到8的MySQL语句指向被删除的SQL模式复制会导致复制失败。这包括复制CREATE用于存储程序语句(存储过程和函数、触发器和事件),而当前的执行sql_mode价值包括任何的删除模式。使用任何的删除模式应当修订,避免它们的应用。

  • 在MySQL 8.0.3,空间数据类型允许SRID属性,明确表示的空间参考系统(SRS)存储在列中的值。看到第11.5.1,“数据类型”

    一个明确的空间列SRID属性限制:只有SRID列值,ID,和空间柱上受到使用的优化指标。优化器将忽略SPATIAL没有空间列的索引SRID属性。这第8.3.3,“空间索引优化”。如果你希望优化器考虑SPATIAL在不限制空间列的索引方案,每个这样的栏目应该修改:

    • 验证列中的所有值都有相同的扩散。确定包含在几何柱sridscol_name,使用以下查询:

      选择不同的st_srid(col_name从)tbl_name

      如果查询返回多个行,该列包含一个混合的srids。在这种情况下,修改其内容,所有的值都有相同的扩散。

    • 定义列有明确的SRID属性

    • 重现SPATIAL指数

  • 几个空间功能进行删除MySQL 8.0.0由于空间功能的变化,实现了一个命名空间ST_为进行精确的操作函数的前缀,或者膜生物反应器用于执行基于最小边界矩形的操作功能的前缀。去除空间功能生成的列定义的使用可能会导致升级失败。在升级之前,运行mysqlcheck -检查升级去除空间功能和替换任何你找到他们ST_膜生物反应器命名的替代品。一列删除空间功能,指功能删除MySQL 8

  • 这个BACKUP_ADMIN授予用户的特权是自动的RELOAD特权在执行就地升级到MySQL 8.0.3或更高。

InnoDB的变化
  • INFORMATION_SCHEMA意见的基础上InnoDB系统表的数据字典表的内部系统的观点所取代。影响InnoDBINFORMATION_SCHEMA观点被改名:

    表2更名为InnoDB信息架构视图

    老字号新的名字
    INNODB_SYS_COLUMNSINNODB_COLUMNS
    INNODB_SYS_DATAFILESINNODB_DATAFILES
    INNODB_SYS_FIELDSINNODB_FIELDS
    INNODB_SYS_FOREIGNINNODB_FOREIGN
    INNODB_SYS_FOREIGN_COLSINNODB_FOREIGN_COLS
    INNODB_SYS_INDEXESINNODB_INDEXES
    INNODB_SYS_TABLESINNODB_TABLES
    INNODB_SYS_TABLESPACESINNODB_TABLESPACES
    INNODB_SYS_TABLESTATSINNODB_TABLESTATS
    INNODB_SYS_VIRTUALINNODB_VIRTUAL

    升级到MySQL 8.0.3或更高后,更新任何脚本,参考以前的InnoDBINFORMATION_SCHEMA视图名称

  • 这个zlib库版本捆绑MySQL版本1.2.3版刃了。

    zlibcompressBound()在zlib刃函数返回一个稍高的要求压缩给定长度的字节比zlib 1.2.3版本的缓冲区大小的估计。这个compressbound()函数被调用的InnoDB功能,确定最大行大小允许在创建压缩InnoDB表或插入行成压缩InnoDB表因此,CREATE TABLE ... ROW_FORMAT=COMPRESSEDINSERT操作的行大小非常接近的行大小的最大值,在早期版本的成功可以失败。

    如果你有compressedInnoDB大行的表,建议您测试压缩表CREATE TABLE陈述在MySQL 8的测试实例前升级。

  • 在介绍--innodb-directories功能,位置表和表空间文件创建的文件的绝对路径或在数据目录以外的位置应该被添加到innodb_directories参数的值。否则,InnoDB是不是能够找到这些文件的恢复。查看表空间文件位置,查询INFORMATION_SCHEMA.FILES

    选择tablespace_name,从information_schema.files \ G file_name
  • UNDO日志不再居住在MySQL 5.0 SYSTEM表空间。升级形式MySQL 5.7 MySQL 8步UNDO日志从系统表空间(以前的默认位置)将撤销表空间。有关更多信息,参见第15.7.8”配置,撤销表空间”

SQL的变化
  • 不兼容的改变:在MySQL 8.0.13,弃用ASCdesc预选赛GROUP BY条款已被删除。查询以前依靠分类可能产生不同于以前的MySQL版本的结果。产生一个给定的排序顺序,提供ORDER BY条款.

    查询和存储程序定义从MySQL 8.0.12或下使用ASCdesc预选赛GROUP BY条款应该修改。否则,升级到MySQL 8.0.13或更可能失败,可能复制到MySQL 8.0.13或更高的从属服务器。

  • 一些关键词可以在MySQL 8中,不在MySQL 5.7预留。看到9.3节,“关键字和保留字”。这可以导致以前用作标识符成为非法的话。修复受影响的陈述,使用标识符引用。看到第二,“架构对象名称”

  • 升级后,建议您测试优化器提示指定在应用程序代码以确保提示仍需达到预期的优化策略。优化改进有时会呈现一定的优化器提示不必要。在某些情况下,一个不必要的优化提示甚至可能适得其反。

2.10.1.3升级MySQL和MySQL yum库

支持百胜基础平台(见第2.5.1,“安装MySQL在Linux上使用MySQL yum仓库”,为列表),你可以做一个MySQL的就地升级(即取代旧的版本,然后运行新版本过旧的数据文件)与MySQL yum仓库。

笔记

  1. 选择一个目标系列

    默认情况下,MySQL yum库更新MySQL在发布系列你选择在安装最新版本(见选择一个版本系列细节),这意味着,例如,一个5.7。x的安装将不会被更新到8 x自动释放。更新到另一个版本系列,首先你需要禁用subrepository为系列,已被选中(默认情况下,或自己),使你的目标序列的subrepository。要做到这一点,看到了在一般说明选择一个版本系列。从MySQL 5.7升级时,执行颠倒该步骤的说明选择一个版本系列,禁用的MySQL 5.7系列的subrepository使,MySQL 8系列。

    作为一般规则,从一个版本升级到另一个系列,走到下一个系列,而不是跳过一系列。例如,如果你正在运行的MySQL 5.6和希望升级到8,升级到MySQL 5.7的第一个升级到8之前。

    重要

    有关从MySQL 5.7升级到8的重要信息,看从MySQL 5.7升级到8

  2. 升级MySQL

    升级MySQL和通过以下命令它的成分,因为平台不是DNF启用:

    sudo yum update mysql-server
    

    因为平台是DNF启用:

    sudo dnf upgrade mysql-server
    

    或者,你可以告诉百胜更新你所有系统更新MySQL,这可能会花费相当多的时间;因为平台不是DNF启用:

    sudo yum update
    

    因为平台是DNF启用:

    sudo dnf upgrade
    

  3. 重新启动MySQL

    MySQL服务器重新启动更新后,百胜一直。一旦服务器重新启动,运行mysql_upgrade检查和可能解决旧的数据和升级软件之间的不相容性。mysql_upgrade还执行其他功能;看4.4.5“,”mysql_upgrade检查升级MySQL表”详情

你也可以只是一个特定的组件更新。使用下面的命令来对MySQL组件的所有已安装的软件包列表(DNF启用系统,取代百胜餐饮集团在命令DNF):

sudo yum list installed | grep "^mysql"

在确定你选择的组件包的名称,因为平台不是DNF启用,用下面的命令更新包,更换package-name包的名字:

sudo yum更新package-name

DNF的平台:

sudo dnf upgrade package-name

升级共享客户端库

使用yum库更新MySQL后,编译的应用程序与旧版本的共享客户端库应该继续工作。

如果你编译的应用程序和动态链接库与更新:作为典型的共享库有差异或添加符号版本的新的和旧的图书馆之间的新版本(例如,在新标准为共享客户端库和一些老的先验或变异版本的共享库运来的Linux发行版的软件库,或从其他来源),任何应用程序编译时使用的更新,新的共享库需要更新图书馆系统上的应用程序的部署。而且,正如预期的那样,如果这些库不到位,要求共享库的应用程序将失败。所以,一定要部署包的共享库从MySQL的系统。你可以通过添加MySQL yum库系统(见添加mysql yum库)并安装最新的共享库使用的指令安装与百胜额外MySQL产品和零部件

2.10.1.4升级MySQL,MySQL的容易存放

在Debian和Ubuntu平台,你可以在MySQL和MySQL的容易存放组件升级。看到与MySQL APT库升级MySQL进入使用MySQL的容易存放的快速指南

参赛人员downgrading MySQL

从MySQL 8 MySQL 5.7降级(或从MySQL 8版本以前的MySQL 8版本)不支持。支持的唯一选择是恢复备份之前升级。所以,你备份你的数据在开始升级过程。

2.10.3重建或修复表或索引

本节介绍了如何重建或修复的表或索引,这可能是必要的:

  • 对MySQL如何处理数据类型或字符集的变化。例如,在整理一个错误会得到纠正,需要一台改造更新字符列,使用排序指标。

  • 需要维修或升级报告表CHECK TABLEmysqlcheck,或mysql_upgrade

重建表的方法包括:

转储和恢复方法

如果你正在重建表因为不同版本的MySQL不会处理后的二进制(到位)升级或降级,你必须使用转储和恢复方法。转储表之前升级或降级使用原来的版本的MySQL。然后重新加载表之后downgrading或升级。

如果你使用转储和只为重建索引的目的重建表加载的方法,你可以之前或之后进行升级或降级的转储。重装仍然必须完成之后。

如果你需要重建一个InnoDB因为一个表CHECK TABLE运行表明,一台升级是必需的,使用mysqldump创建一个转储文件MySQL重新载入文件。如果CHECK TABLE运行表明,有腐败或原因InnoDB失败,是指第15.20.2,迫使InnoDB恢复”有关使用innodb_force_recovery选择重启InnoDB。了解问题的类型CHECK TABLE可能会遇到,指InnoDB笔记第13.7.3.2,“检查表语法”

通过倾销和重装它重建一个表,使用mysqldump创建一个转储文件MySQL重新载入文件:

mysqldump db_name t1 > dump.sql
mysql db_name < dump.sql

重建一个数据库的所有表,指定没有任何表名称的数据库名称:

mysqldump db_name > dump.sql
mysql db_name < dump.sql

重建所有数据库中的所有表,使用--all-databases选项:

mysqldump --all-databases > dump.sqlmysql < dump.sql

修改表的方法

重建表ALTER TABLE,使用无效的那是,一个改变;ALTER TABLE声明变化该表使用的存储引擎,它已经。例如,如果t1是一个InnoDB表,使用此表:

ALTER TABLE t1 ENGINE = InnoDB;

如果你不确定指定的存储引擎ALTER TABLE声明中,使用SHOW CREATE TABLE显示表的定义

修表的方法

这个REPAIR TABLE方法仅适用于MyISAMARCHIVE,和CSV

你可以使用REPAIR TABLE如果查表运算表示有腐败或升级是必需的。例如,修复MyISAM表,使用此表:

REPAIR TABLE t1;

mysqlcheck --修复提供命令行访问的REPAIR TABLE声明。这可以更方便的修表手段,因为你可以使用--databases--all-databases选择修复特定数据库或所有数据库的所有表,分别:

mysqlcheck——修复——数据库db_namemysqlcheck——修复——所有数据库…

2.10.4复制MySQL数据库到另一台机器

在你需要转换不同的架构,数据库的情况下,你可以使用mysqldump创建一个包含SQL语句的文件。然后你可以将文件传输到其他机器并把它输入到MySQL客户

使用mysqldump -帮助看看有什么选择可用的。

最简单的(虽然不是最快)的方式在两台机器之间移动数据库是运行在计算机上的数据库所在的命令:

mysqladmin -h 'other_hostname' create db_name
mysqldump db_name | mysql -h 'other_hostname' db_name

如果你想复制一个数据库从一个远程机器慢速网络,你可以使用这些命令:

mysqladmin create db_name
mysqldump -h 'other_hostname' --compress db_name | mysql db_name

你也可以保存转储文件中,文件传输到目标机器上,然后加载文件到数据库里。例如,您可以将数据库压缩文件在源机器这样:

mysqldump --quick db_name | gzip > db_name.gz

包含数据库的内容传递到目标机器的文件和运行这些命令有:

mysqladmin create db_name
gunzip < db_name.gz | mysql db_name

你也可以使用mysqldumpmysqlimport调用数据库。对于大型的表,这比单纯使用快得多mysqldump。在下面的命令,DUMPDIR代表你使用的目录的完整路径名称存储输出mysqldump

首先,创建输出文件的目录和转储数据库:

mkdir DUMPDIR
mysqldump --tab=DUMPDIR db_name

然后将文件中的DUMPDIR目录相应的目录在目标机和文件加载到MySQL有:

mysqladmin创建db_name#创建databasecatDUMPDIRMySQL的SQL | / *。db_name#创建表在databasemysqlimportdb_nameDUMPDIR/ *. txt #数据加载到表

别忘了复制mysql数据库是因为那里的补助表存储。你可能要执行的命令为MySQLroot用户在新机,直到你有mysql在数据库的地方

当你导入mysql在新机器上的数据库,执行mysqladmin嵌入式的权利这样服务器重新加载授权表的信息。

2.11 Perl安装说明

PerlDBI模块提供了对数据库访问的通用接口。你可以写一个DBI脚本,与许多不同的数据库引擎没有变化。使用DBI,您必须安装DBI模块,以及一个数据库驱动程序(DBD)为每种类型的数据库服务器要访问模块。MySQL,这个司机是DBD::mysql模块

笔记

Perl支持不包含MySQL的分布。你可以获得必要的模块http://search.cpan.orgUnix,或通过使用状态PPM程序在Windows。以下各节描述如何做这个。

这个DBI/介质阻挡放电5.6.0接口需要Perl 5.6.1或以后,和优先。DBI不工作如果你有一个旧版本的Perl。你应该使用DBD::mysql4.009或更高。虽然早期的版本,他们不支持MySQL 8的全部功能。

2.11.1安装Perl在UNIX

MySQL支持Perl要求你安装MySQL客户端编程的支持(库和头文件)。大多数的安装方法安装必要的文件。如果你安装MySQL从Linux RPM文件,一定要安装开发转为。客户端程序在客户机转,但客户端编程的支持是在开发商转。

你需要支持Perl的文件可以从CPAN获得(归档网络)在http://search.cpan.org

在Unix安装Perl模块的最简单方法是使用CPAN模块。例如:

内核&#62;perl -MCPAN -e shellCPAN &#62;install DBICPAN &#62;install DBD::mysql

这个DBD::mysql安装运行多个测试。这些测试试图连接到使用默认的用户名和密码的本地MySQL服务器。(默认的用户名是您的登录名在UNIX和ODBC在Windows。默认的密码是没有密码)如果您无法连接到服务器的值(例如,如果您的帐户密码),测试失败。你可以使用force install DBD::mysql忽视失败的试验

DBI要求走:日期:模块它可以安装;如果没有,你应该安装在安装之前DBI

它也可以下载模块分布的形式压缩焦油档案和建立模块手动。例如,要建立一个DBI的分布,使用这样的程序:

  1. 打开分配到当前目录:

    shell> gunzip < DBI-VERSION.tar.gz | tar xvf -
    

    该命令创建一个目录DBI-VERSION

  2. 改变位置,在打开分配的顶层目录:

    shell> cd DBI-VERSION
    
  3. 建立分布和编译所有东西:

    shell> perl Makefile.PL
    shell> make
    shell> make test
    shell> make install
    

这个做试验命令是非常重要的因为它验证模块的工作。请注意,当您运行该命令时DBD::mysql安装运动界面代码,MySQL服务器必须运行或测试失败。

这是一个好主意,重建和重新安装DBD::mysql当你安装一个新版本配置MySQL。这确保MySQL客户端库的最新版本安装正确。

如果你没有在系统目录或如果你想安装本地的Perl模块安装Perl模块的访问权限,可以参考以下是有用的:learn.perl.org http:/ / / / perlfaq8.html # FAQ -我如何保持我自己的模块库的目录

2.11.2 ActiveState Perl安装Windows

在Windows中,你应该做以下安装MySQLDBD随着ActiveState Perl模块:

  1. 从ActiveState Perlhttp:/ / / / /产品www.activestate.com activeperl并安装它

  2. 打开一个控制台窗口

  3. 如果有必要,设置HTTP_proxy变量。例如,你可以尝试这样的设置:

    C:\>set HTTP_proxy=my.proxy.com:3128
  4. PPM程序启动:

    C:\> C:\perl\bin\ppm.pl
    
  5. 如果你以前没有这样做过,安装DBI

    PPM &#62;install DBI
  6. 如果成功,运行以下命令:

    ppm> install DBD-mysql
    

这个程序应该ActiveState Perl 5.6或更高的工作。

如果你不能得到程序的工作,你应该安装的ODBC驱动程序,通过ODBC连接到MySQL服务器:

use DBI;
$dbh= DBI->connect("DBI:ODBC:$dsn",$user,$password) ||
  die "Got error $DBI::errstr when connecting to $dsn\n";

2.11.3问题使用Perl / DBD接口

如果Perl的报告,它找不到../mysql/mysql.so模块,问题可能是Perl无法定位libmysqlclient.so共享库。你可以通过下面的方法解决这个问题:

  • 复制libmysqlclient.so该目录在您的其他共享库位于(可能/ usr / lib目录/lib

  • 修改-L适合使用的选项DBD::MySQL反映实际位置libmysqlclient.so

  • 在Linux上,你可以添加的目录的路径名libmysqlclient.so坐落于/etc/ld.so.conf文件

  • 添加的目录的路径名libmysqlclient.so坐落于ld_run_path环境变量。一些系统使用LD_LIBRARY_PATH相反

请注意,您可能还需要修改-L选择如果有其他库,链接器找不到。例如,如果链接器不能找到libc因为它是在/lib和链接命令指定L / usr / lib目录,改变-L选项L / lib目录或添加-L/lib对现有链接命令

如果你有以下错误DBD::mysql,您可能使用GCC(或使用旧的二进制编译GCC):

/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'

添加-L/usr/lib/gcc-lib/... -lgcc在“链接”命令时mysql.so图书馆被建造(检查输出mysql.so当你编译Perl客户端茶)。theL选择要指定的目录的路径名libgcc.a坐落在您的系统

这个问题的另一个原因可能是,Perl和MySQL不都是编的GCC。在这种情况下,你可以通过编写既解决失配GCC