如何从官方 Yum 仓库安装 MySQL 5.6

金钱(警告)

状态: 被剥夺

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

** 原因** : CentOS 6于2020年11月30日到期(EOL)并且不再收到安全补丁或更新。

See Instead : 本指南可能仍然有用作为参考,但可能不会在其他 CentOS 版本上工作. 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本撰写的指南。

下面的DigitalOcean教程可能立即感兴趣,因为它概述了在CentOS 7服务器上安装MySQL:

如何在CentOS 7上安装MySQL

美元

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

介绍


2013 年 10 月,MySQL 开发团队正式启动了对 yum 存储库的支持,这意味着您现在可以确保您有最新和最棒的 MySQL 版本直接从源头安装!

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

如果你不熟悉 MySQL 5.6 的更改,我建议你开始使用 [MySQL 5.6 中的什么新鲜事(http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html)。

选择一个服务器

对于今天,我将选择每月40美元的服务器,因为它包括4G的RAM和60GB的SSD,但您可以根据应用程序的需求选择不同的尺寸。MySQL可以安装在非常小的RAM系统上,以及扩展到100GB以上。

官方存储库支持32位和64位 Enterprise Linux 6 ,以及Fedora 18和19。

安装 MySQL

yum存储文件需要从MySQL的开发者网站下载。一旦安装,一个简单的yum更新将确保您正在运行MySQL 5.6的最新点版本,包括安全更新。

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

然后复制下面的链接 'No thanks, just start my download':

登录到您的服务器,然后下载此文件. 下面是一个例子URL--你可能想双重检查没有更晚的版本 _of repo_可用:

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

从本地文件中安装存储库:

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

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

1sudo yum install mysql-community-server

开始思考:

1sudo service mysqld start

配置 MySQL 以自动启动重启:

1sudo chkconfig mysqld on
2chkconfig --list mysqld

就这样吧!你都准备好了!

应用终结触摸


MySQL开发团队投入了大量的努力,以确保MySQL是 更好的调节出框,而5.6需要很少的配置. 说到这一点,你会想调整一些东西,可以在 [mysqld] 标题组中添加到 /etc/my.cnf:

1sudo vim /etc/my.cnf
  • 联合国 建议将innodb_buffer_pool_size设定为系统内存的50-80%。 就我选择的服务器而言,4GB的50%=2GB. 这使得MySQL可以缓存更多数据(默认只有128M)并可以提高性能_显著_.

  • MySQL 默认拥有非常小的交易日志,这是一种用于提供崩溃恢复的特性. 在开发中,小日志文件可以用于保存空间,但在生产中,您会想要增加这些文件,以便允许更多的写入在背景中排队. 设置为"innodb_log_file_size",推荐值范围为128M至4G. +* 在使用SSD时,相继的IO不快于随机IO. 这意味着我们可以告诉MySQL它可以禁用它所做的优化之一并保存出一点CPU. 设置为"innodb_flush nearbors=0". *. 默认情况下, MySQL 对不丢失任何数据格外谨慎_即使出现功率损失_. 这是以性能成本为代价的,在许多云环境里,用户选择允许几秒钟的断电数据. 需要更改的设置为innodb_flush_log_at_trx_conmit=2'. ***UTF-8** 是一个在MySQL中存储国际字符的更好的默认. 您可以设置 字符集- set- server=utf8mb4 链接- server=utf8mb4_general_ci` 来更改它 。 如果需要,单个数据库、表格和列仍然可以覆盖此内容。

  • GMT'.

  • 为保证与旧版本相容,MySQL默认允许不正确和超出范围值. 我建议您启用新的更严格的SQL_MODE选项,只要您的应用程序不依赖于这种遗留的 MySQL 行为。

  • 总体而言,这些是变化:

 1innodb_buffer_pool_size=2G
 2innodb_log_file_size=256M
 3innodb_flush_neighbors=0
 4innodb_flush_log_at_trx_commit=2
 5
 6# Default to UTF-8 for text columns
 7character-set-server=utf8mb4
 8collation-server=utf8mb4_general_ci
 9
10# Set the default timezone to GMT.
11# This is a common recommended practice, but can also remove this line
12# If your date/time values appear incorrect.
13timezone=GMT
14
15# This configuration item is optional:
16# It makes MySQL more strict and rejects invalid values.
17# You may need to remove this line for legacy applications.
18sql-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中配置什么)(http://www.tocker.ca/2013/09/10/improving-mysqls-default-configuration.html)在我的博客上可用,但请放心,如果你遵循本文中的步骤,你是95%的路径!

Published At
Categories with 技术
Tagged with
comments powered by Disqus