如何从官方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=utf8mb4
和collation-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!