《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》一一1.3 MySQL的配置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

本节书摘来自异步社区出版社《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》一书中的第1章,第1.3节,作者: 唐汉明 , 翟振兴 , 关宝军 , 王洪权 , 黄潇,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 MySQL的配置

深入浅出MySQL:数据库开发、优化与管理维护(第2版)
MySQL安装完毕后,大多数情况下都可以直接启动MySQL服务,而不需要设置参数。因为系统对所有的参数都有一个默认值。如果要修改默认值,则必须要配置参数文件。下面就Windows和Linux两种平台下的配置方法进行介绍。

1.3.1 Windows平台下配置MySQL

对于noinstall方式安装的MySQL,系统的参数配置、服务的启动和关闭都需要手工在命令窗口中完成。参数文件可以在多个位置进行设置,这里用一个C:my.cnf来进行操作,其他更详细的参数位置可以参考第24章中的介绍。

对于初学者来说,my.cnf并不知道该怎样配置。MySQL为用户提供了几个样例文件,位于解压后的目录下,文件名类似于my-.ini,其中“”分别代表了不同的环境特点,例如my-small.ini、my-large.ini分别代表了此文件适合于小型数据库和大型数据库。下面是一个my-small.ini的部分内容:

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
…

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port         = 3306
socket       = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout
AI 代码解读

上面样例中的粗体代表了不同方面的参数,通常我们配置最多的是[mysqld],也就是mysql服务器参数。如果将选择的my-*.ini文件另存为C:my.cnf文件,则MySQL实例启动的时候就会读取此配置文件。

对于图形化的安装方式,MySQL提供了一个图形化的实例配置向导,可以引导用户逐步进行实例参数的设置,具体操作步骤如下。

(1)单击“开始”→“所有程序”→“MySQL”→“MySQL Server 5.0”→“MySQL Server Instance Configuration Wizard”菜单,进入欢迎界面,如图1-12所示。
image

(2)单击“Next”按钮,进入选择配置类型界面,如图1-13所示。

image

界面中显示了MySQL提供的详细配置(Detailed Configuration)和标准配置(Standard Configuration)两种配置类型。它们的区别在于详细配置列出了更详细的个性化配置向导,配置过程相对复杂而且较慢;标准配置是一个通用的配置,配置过程简单快速。这里用详细配置为例来进行介绍。

(3)选择“Detailed Configuration”单选按钮,单击“Next”按钮,进入如图1-14所示的界面。
image

此界面中列出了MySQL的3种应用方式。

boll Developer Machine(开发机),使用最小数量的内存。

boll Server Machine(服务器),使用中等大小的内存。

boll Dedicated MySQL Server Machine(专用服务器),使用当前可用的最大内存。

(4)这里选择“Developer Machine”单选按钮,单击“Next”按钮,进入数据库用途选择界面,如图1-15所示。

image

该界面中列出了3种数据库用途选项。

boll Multifunctional Database(多功能数据库),此选项对事务性存储引擎(InnoDB)和非事务性(MyISAM)存储引擎的存取速度都很快。

boll Transactional Database Only(事务性数据库),此选项主要优化了事务性(InnoDB)存储引擎,但是非事务性存储引擎(MyISAM)也可以使用。

boll Non-Transactional Database Only(非事务型数据库),此选项主要优化了非事务性(MyISAM)存储引擎,注意事务性存储引擎(InnoDB)不能使用。

存储引擎在后面的章节中将会专门介绍,读者可以理解为不同的表类型。

(5)这里选择“Multifunctional Database”单选按钮。单击“Next”按钮,进入InnoDB数据文件目录配置界面,如图1-16所示。

InnoDB的数据文件会在数据库第一次启动的时候创建,默认会创建在MySQL的安装目录下。用户可以根据实际的空间状况进行路径的选择。这里保留默认值。

(6)单击“Next”按钮,进入并发连接设置界面,如图1-17所示,其中有3个选项,其含义分别如下。

boll Decision Support(DSS)/OLAP(决策支持系统),设置连接数为20。

boll Online Transaction Processing(OLTP)(在线事务系统),设置连接数为500。

boll Manual Setting(手工设置),手工输入并发连接数。

image

(7)选择“Decision Support(DSS)/OLAP”单选按钮后,单击“Next”按钮,进入网络选项设置,如果1-18所示。

image

本界面中主要设置MySQL服务的端口号,选项“Enable TCP/IP Networking”表示是否运行TCP/IP连接,而选项“Enable Strict Mode”表示是否采用严格模式来启动服务。至于什么是MySQL的模式,将在本书的第16章中详细介绍。

(8)选择“Enable TCP/IP Networking”和“Enable Strict Mode”复选框后,单击“Next”按钮,进入默认字符集选择界面,如图1-19所示。

image

该界面上的3种选项分别表示如下。

boll Standard Character Set(标准字符集),默认是Latin1。

boll Best Support For Multilingualism(对多语言支持最好的字符集),是指UTF-8。

boll Manual Selected Default Character Set/Collation(手工选择字符集)。

字符集将会在第9章中详细介绍。

(9)选择“Standard Character Set”单选按钮后,单击“Next”按钮,进入Windows选项设置界面,如图1-20所示。

image

这个界面上部是设置MySQL是否作为Windows的一个服务,如果是,设置一个服务名称并设置是否Windows重启的时候自动装载。这里保留默认选项,将服务名称改为“MySQL5”。下面的“Include Bin Directory in Windows PATH”复选框表示MySQL的Bin目录是否写入Windows的PATH中,这里选中该复选框。

(10)单击“Next”按钮,进入MySQL的安全选项配置界面,如图1-21所示。

image

图1-21中显示了MySQL的两个安全设置复选框,“Modify Security Settings”复选框确定是否修改默认root密码,因为默认的root密码是空,所以建议用户一定要修改;“Create An Anonymous Account”复选框确定是否创建一个匿名用户,建议用户不要创建,因为这样会给系统带来安全漏洞。这里为了简便起见,将root口令改为123(正式的生产环境中一定要采用更为复杂的密码)。

(11)单击“Next”按钮,进入准备执行界面,如图1-22所示。
image

(12)确认设置没有问题后,单击“Execute”按钮,开始执行。执行成功后的界面如图1-23所示。
image

单击“Finish”按钮后,安装过程全部完成。这时可以发现,Windows的服务列表中已经增加了“MySQL5”这一项,如图1-24所示,可以通过启动、停止这个服务来启动和关闭MySQL。

image

1.3.2 Linux平台下配置MySQL

在Linux下配置MySQL和在Windows下以noinstall方式配置非常类似,区别在于参数文件的位置和文件名不同。Linux下也可以在多个位置部署配置文件,大多数情况下都放在/etc下,文件名称只能是my.cnf(在Windows下文件名称可以是my.ini)。

对于初学者来说,和Windows下类似,还是建议用MySQL自带的多个样例参数文件来代替实际的参数文件。在Linux下,如果安装方式是RPM包,则自带的参数文件会放到/usr/share/mysql下,如下所示:

[root@localhost mysql]# pwd
/usr/share/mysql
[root@localhost mysql]# ls *.cnf
my-huge.cnf  my-innodb-heavy-4G.cnf  my-large.cnf  my-medium.cnf  my-small.cnf
AI 代码解读

用户可以根据实际需求选择不同的配置文件复制到/etc下,改名为my.cnf,并根据实际需要做一些配置的改动。MySQL启动的时候会读取此文件中的配置选项。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
1819
分享
相关文章
MySQL细节优化:关闭大小写敏感功能的方法。
通过这种方法,你就可以成功关闭 MySQL 的大小写敏感功能,让你的数据库操作更加便捷。
52 19
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
从 MySQL 到时序数据库 TDengine:Zendure 如何实现高效储能数据管理?
TDengine 助力广州疆海科技有限公司高效完成储能业务的数据分析任务,轻松应对海量功率、电能及输入输出数据的实时统计与分析,并以接近 1 : 20 的数据文件压缩率大幅降低存储成本。此外,taosX 强大的 transform 功能帮助用户完成原始数据的清洗和结构优化,而其零代码迁移能力更实现了历史数据从 TDengine OSS 与 MySQL 到 TDengine 企业版的平滑迁移,全面提升了企业的数据管理效率。本文将详细解读这一实践案例。
33 0
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
【YashanDB知识库】数据库一主一备部署及一主两备部署时,主备手动切换方法及自动切换配置
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
166 82
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
MySQL生产环境迁移至YashanDB数据库深度体验
这篇文章是作者将 MySQL 生产环境迁移至 YashanDB 数据库的深度体验。介绍了 YashanDB 迁移平台 YMP 的产品相关信息、安装步骤、迁移中遇到的各种兼容问题及解决方案,最后总结了迁移体验,包括工具部署和操作特点,也指出功能有优化空间及暂不支持的部分,期待其不断优化。
seatunnel配置mysql2hive
本文介绍了SeaTunnel的安装与使用教程,涵盖从安装、配置到数据同步的全过程。主要内容包括: 1. **SeaTunnel安装**:详细描述了下载、解压及配置连接器等步骤。 2. **模拟数据到Hive (fake2hive)**:通过编辑测试脚本,将模拟数据写入Hive表。 3. **MySQL到控制台 (mysql2console)**:创建配置文件并执行命令,将MySQL数据输出到控制台。 4. **MySQL到Hive (mysql2hive)**:创建Hive表,配置并启动同步任务,支持单表和多表同步。
131 15
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
163 19