前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
介绍
2013年10月,MySQL开发团队正式推出了对yum存储库的支持。这意味着您现在可以确保直接从源安装最新和最好的MySQL版本!
在本指南中,我们将在Centos 6的全新安装上安装MySQL 5.6,然后对配置进行一些额外的调整,以优化适用于DigitalOcean。
如果您对MySQL 5.6的更改不熟悉,我建议您先从《MySQL 5.6有什么新特性》开始。有许多非常有用的功能。
选择服务器
今天我将选择每月40美元的服务器,因为它包括4G的RAM和60GB的SSD,但您可以根据应用程序的需求自由选择不同大小的服务器。MySQL可以安装在具有非常小内存量的系统上,并且可以扩展到超过100GB。如果您选择了不同大小的服务器,请确保调整下面推荐的配置建议:
官方存储库支持32位和64位的企业Linux 6,以及Fedora 18和19。CentOS是社区企业操作系统,非常适合此目的:
安装MySQL
需要从MySQL的开发者网站下载yum存储库文件。安装后,简单的yum update
将确保您正在运行MySQL 5.6的最新点发布版本,包括安全更新。Yum还确保安装任何依赖项,这使安装过程变得更加简单。
要开始,请访问http://dev.mysql.com/downloads/repo/,然后单击Red Hat Enterprise Linux 6 / Oracle Linux 6的下载链接:
然后复制“不,谢谢,直接开始我的下载”下的链接:
登录到您的服务器,然后下载此文件。以下是一个示例URL–您可能需要仔细检查是否有更高版本的存储库可用:
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几乎不需要配置。尽管如此,您可能需要调整一些东西,这些可以添加到/etc/my.cnf
下的**[mysqld]**组中:
sudo 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_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默认允许不正确和超出范围的值。只要您的应用程序不依赖于这种传统的MySQL行为,我建议您启用新的更严格的
SQL_MODE
选项。
*所有这些更改一起:
innodb_buffer_pool_size=2G
innodb_log_file_size=256M
innodb_flush_neighbors=0
innodb_flush_log_at_trx_commit=2
# 默认为文本列使用UTF-8
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 将默认时区设置为GMT。
# 这是一个常见的推荐做法,但如果您的日期/时间值看起来不正确,也可以删除此行。
timezone=GMT
# 此配置项是可选的:
# 它使MySQL更严格,并拒绝无效的值。
# 对于旧应用程序,您可能需要删除此行。
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 仓库基本安装 MySQL 5.6 的全部过程。MySQL 团队希望听到您的反馈。如果您遇到任何问题或有建议,请访问 http://forums.mysql.com/list.php?11。
我在我的博客上还有一个更高级的版本,介绍了安装 MySQL 5.6 后需要配置的更多内容。但请放心,如果您按照本文中的步骤进行操作,您已经完成了 95% 的工作!