如何从官方Yum存储库安装MySQL5.6

来自菜鸟教程
跳转至:导航、​搜索

状态:已弃用

本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。

原因CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) ,不再接收安全补丁或更新。 因此,不再维护本指南。

请参阅:本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本编写的指南。

以下 DigitalOcean 教程可能会立即引起人们的兴趣,因为它概述了在 CentOS 7 服务器上安装 MySQL:


提交人:Morgan Tocker,MySQL 社区经理@Oracle

介绍


2013 年 10 月,MySQL 开发团队正式推出对 yum 存储库的支持。 这意味着您现在可以确保直接从源代码安装最新最好的 MySQL 版本!

在本指南中,我们将在全新安装的 Centos 6 上安装 MySQL 5.6,然后应用一些额外的操作来优化 DigitalOcean 的配置。

如果您不熟悉 MySQL 5.6 的更改,我建议您开始使用 MySQL 5.6 中的新功能。 有许多非常有用的功能。

选择服务器

今天我将选择每月 40 美元的服务器,因为它包括 4G 的 RAM 和 60GB 的 SSD,但您可以根据应用程序的需求自由选择不同的大小。 MySQL 可以安装在 RAM 非常少的系统上,并且可以扩展到超过 100GB。 如果您选择了不同的服务器大小,请确保调整以下推荐的配置建议:

[[File:“%3Ca]] https://assets.digitalocean.com/articles/centos_mysql/select-size.png ”>

官方存储库同时支持 32 位和 64 位企业 Linux 6 ,以及 Fedora 18 和 19。 CentOS 是 __C__ommunity __Ent__erprise __O__perating __S__ystem 并且可以很好地用于此目的:

[[File:“%3Ca]] https://assets.digitalocean.com/articles/centos_mysql/centos-6.png ”>

安装 MySQL

yum 存储库文件需要从 MySQL 的开发者网站下载。 安装后,一个简单的 yum update 将确保您在 MySQL 5.6 的最新版本上运行,包括安全更新。 Yum 还确保安装了任何依赖项,这使得安装过程更加简单。

要开始使用,请访问 http://dev.mysql.com/downloads/repo/,然后单击 Red Hat Enterprise Linux 6 / Oracle Linux 6 的下载链接:

[[File:“%3Ca]] https://assets.digitalocean.com/articles/centos_mysql/download-el6.png ”>

然后复制不,谢谢,开始我的下载下的链接:

[[File:“%3Ca]] https://assets.digitalocean.com/articles/centos_mysql/no-thanks-link.png ”>

登录到您的服务器,然后下载此文件。 下面是一个示例 URL——您可能需要仔细检查是否没有可用的 repo 的更高版本

wget http://dev.mysql.com/get/mysql-community-release-el6-3.noarch.rpm/from/http://repo.mysql.com/

从本地文件安装存储库:

sudo yum localinstall mysql-community-release-el6-*.noarch.rpm

您现在已在服务器上安装了官方存储库,但尚未安装任何软件。 该存储库包括 MySQL 服务器、MySQL Workbench 管理工具和 ODBC 驱动程序。 让我们安装 MySQL 服务器:

sudo yum install mysql-community-server

启动 MySQL:

sudo service mysqld start

将 MySQL 配置为在重新启动时自动启动:

sudo chkconfig mysqld on
chkconfig --list mysqld

就是这样。 你都准备好了!

应用收尾工作


MySQL 开发团队付出了很多努力,以确保 MySQL 开箱即用 更好,而 5.6 只需要很少的配置。 话虽如此,您将需要调整一些内容,可以将其添加到 [mysqld] 标题组下的 /etc/my.cnf 中:

sudo vim /etc/my.cnf
  • 建议将 innodb_buffer_pool_size 设置为 50-80% of 系统内存。 对于我选择的服务器,50% of 4GB = 2GB。 这样可以让MySQL缓存更多的数据(默认只有128M),可以显着提升性能'
  • MySQL 默认具有非常小的事务日志,这是用于提供崩溃恢复的功能。 在开发中,小日志文件对于节省空间很有用,但在生产中,您需要增加这些文件以允许更多写入在后台排队。 设置为 innodb_log_file_size,推荐值范围为 128M 和 4G。
  • 使用 SSD 时,顺序 IO 并不比随机 IO 快。 这意味着我们可以告诉 MySQL 它可以禁用它所做的一项优化并节省一点 CPU。 设置为 innodb_flush_neighbors=0
  • 默认情况下,MySQL 非常谨慎,即使断电 也不会丢失任何数据 。 这是以性能为代价的,并且在许多云环境中,用户选择允许在电源故障时丢失几秒钟的数据。 要更改的设置是 innodb_flush_log_at_trx_commit=2
  • UTF-8 是在 MySQL 中存储国际字符的更好默认值。 您可以通过设置 character-set-server=utf8mb4collation-server=utf8mb4_general_ci 来更改它。 如有必要,单个数据库、表和列仍然可以覆盖它。
  • 许多系统管理员建议将服务器的时区设置为 GMT,这可以通过 timezone=GMT 来完成。
  • 为了确保与旧版本的兼容性,MySQL 默认允许不正确和超出范围的值。 我建议您启用新的更严格的 SQL_MODE 选项,只要您的应用程序不依赖于这种遗留 MySQL 行为。
  • 总而言之,这些是变化:
innodb_buffer_pool_size=2G
innodb_log_file_size=256M
innodb_flush_neighbors=0
innodb_flush_log_at_trx_commit=2

# Default to UTF-8 for text columns
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

# Set the default timezone to GMT.
# This is a common recommended practice, but can also remove this line
# If your date/time values appear incorrect.
timezone=GMT

# This configuration item is optional:
# It makes MySQL more strict and rejects invalid values.
# You may need to remove this line for legacy applications.
sql-mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"

延伸阅读


使用官方 yum repos 完成 MySQL 5.6 的基本安装。 MySQL 团队有兴趣听取您的反馈。 如果您遇到任何问题或只是有建议,请访问http://forums.mysql.com/list.php?11。

我的博客上还有一个更高级的 安装后在 MySQL 5.6 中配置的内容。 但请放心,如果您已按照本文中的步骤进行操作,那么您已经成功了 95% o!