金钱(警告)
状态: 被剥夺
本文涵盖了不再受支持的 CentOS 版本. 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议升级或迁移到受支持的 CentOS 版本。
** 原因** : CentOS 6于2020年11月30日到期(EOL)并且不再收到安全补丁或更新。
See Instead : 本指南可能仍然有用作为参考,但可能不会在其他 CentOS 版本上工作. 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本撰写的指南。
下面的DigitalOcean教程可能立即感兴趣,因为它概述了在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%的路径!