MySQL安装后的目录结构及配置文件详解

MySQL目录结构说明

MySQL 安装完成后,会在磁盘上生成一个目录,该目录就被称为 MySQL 的安装目录。
MySQL 的安装目录包含一些子目录以及一些后缀名为.ini的配置文件。为了更好地学习 MySQL,初学者必须要对 MySQL 安装目录下各个子目录的意义和作用有所了解。下面对 MySQL 的安装目录进行详细讲解。 
MySQL 5.7 版本的安装配置后,目录结构可能如下图所示:

注意:MySQL 5.7 的 Data 目录和 my.ini 文件有时并不放在 MySQL 的安装目录下,而是在配置文件中自己指定的目录下(配置文件具体内容下文有详细说明),我自己的安装目录是在:D:\ProgramFiles\MySQL 下(如上图所示)。一般情况下,C 盘下的 ProgramData 目录是隐藏的,需要取消隐藏。

下面先介绍安装目录中各文件的含义和作用:

1)bin文件夹

用于放置一些可执行文件,如 mysql.exe、mysqld.exe、mysqlshow.exe 等。

2)docx文件夹

存放一些文档

3)include文件夹

用于放置一些头文件,如:mysql.h、mysql_ername.h 等。

4)lib文件夹

用于放置一系列库文件

5)share文件夹

用于存放字符集、语言等信息

6)LICENSE文件

7)my.ini文件

my.ini 是 MySQL 默认使用的配置文件,一般情况下,只要修改 my.ini 配置文件中的内容就可以对 MySQL 进行配置。
除了上述介绍的目录,MySQL 安装目录下可能还有几个后缀名为.ini的配置文件,不同的配置文件代表不同的含义。
my.ini 是 MySQL 默认使用的配置文件,其它的配置文件都是适合不同数据库的配置文件的模板,在文件名中就说明了适合的数据库类型,下面对这几个配置文件进行详细讲解。

  • my-huge.ini:适合超大型数据库的配置文件。
  • my-large.ini:适合大型数据库的配置文件。
  • my-medium.ini:适合中型数据库的配置文件。
  • my-small.ini:适合小型数据库的配置文件。
  • my-template.ini:是配置文件的模板,MySQL 配置向导将该配置文件中选择项写入到 my.ini 文件。
  • my-innodb-heavy-4G.ini:表示该配置文件只对于 InnoDB 存储引擎有效,而且服务器的内存不能小于 4GB。

8)README文件

9)DATA文件夹

Data 目录中用于放置一些日志文件以及数据库。我们创建和保存的数据都存在这个目录里。

如果你找不到自己建立的库或者表的文件,可能不在这个data文件夹下面,连接上mysql之后,输入show global variables like "%datadir%";来查看数据文件存储路径,找到路径之后,到对应路径下如果找不到这个文件夹,那么可能是隐藏的,把隐藏的文件显示一下就行了。

MySQL配置文件详解

我自己的配置文件内容如下:

[mysqld]
# 设置3306端口
port=3307
# 设置mysql的安装目录
basedir=C:\mysql-5.7.32-win32
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8mb4

客户端:

[CLIENT]里面的是给客户端程bai序读取配置用的。

其中:

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8mb4
  • port:表示 MySQL 客户端连接服务器端时使用的端口号,默认的端口号为 3306。如果需要更改端口号的话,可以直接在这里修改。需要注意的是,每次修改 my.ini 文件中的参数后,必须重新启动 MySQL 服务才会有效。
  • default-character-set:表示 MySQL 客户端默认的字符集。

服务器端:

[MYSQLD]里面的是给服务器程序运行时使bai用的,代表创建数据库、表、字段时的默认字符集编码。查了一下资料,发现我配置文件中的服务器端参数设备不太全面,以下是其他资料中对mysql服务器参数的说明:

参数名称说明
port表示 MySQL 服务器的端口号
basedir表示 MySQL 的安装路径
datadir表示 MySQL 数据文件的存储位置,也是数据表的存放位置
default-character-set表示服务器端默认的字符集
default-storage-engine创建数据表时,默认使用的存储引擎
sql-mode表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
max_connections表示允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。
query_cache_size表示查询时的缓存大小,缓存中可以存储以前通过 SELECT 语句查询过的信息,再次查询时就可以直接从缓存中拿出信息,可以改善查询效率
table_open_cache表示所有进程打开表的总数
tmp_table_size表示内存中每个临时表允许的最大大小
thread_cache_size表示缓存的最大线程数
myisam_max_sort_file_size表示 MySQL 重建索引时所允许的最大临时文件的大小
myisam_sort_buffer_size表示重建索引时的缓存大小
key_buffer_size表示关键词的缓存大小
read_buffer_size表示 MyISAM 表全表扫描的缓存大小
read_rnd_buffer_size表示将排序好的数据存入该缓存中
sort_buffer_size表示用于排序的缓存大小

 InnoDB 存储引擎使用的参数,参数说明如下:

  • innodb_additional_mem_pool_size:表示附加的内存池,用来存储 InnoDB 表的内容。
  • innodb_flush_log_at_trx_commit:是设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上。
  • innodb_log_buffer_size:表示用来存储日志数据的缓存区的大小。
  • innodb_buffer_pool_size:表示缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据。
  • innodb_log_file_size:表示日志文件的大小。
  • innodb_thread_concurrency:表示在 InnoDB 存储引擎允许的线程最大数。

如何安装mysql可查看:https://blog.csdn.net/youarenotme/article/details/109291819

以下是一些关于配置文件详解的资料链接:

http://c.biancheng.net/view/7571.html

https://blog.csdn.net/zhangguanghui002/article/details/78959816

https://www.cnblogs.com/angle6-liu/p/10109628.html

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值