【Mysql上分之路】第三篇:Mysql安装与配置、目录结构

冲

😊MySQL的安装与配置

MySQL是开源数据库,允许在多种平台上运行,但是由于运行平台的不同,安装的方法也不同

Windows平台主要两种安装MySQL的方式:MySQL图形化安装、免安装版,主要介绍MySQL图形化安装

😃MySQL安装步骤

1、下载MySQL安装文件,选择安装类型

Mysql安装与配置安装步骤1

双击MySQL安装文件,进入安装界面,首先进入“License Agreement(用户许可证协议)”窗口,选中“I accept the license terms(我接受系统协议)”复选框,单击“Next(下一步)”按钮即可

会直接进入“Choosing a Setup Type(安装类型选择)”窗口,根据右侧的安装类型描述文件选择适合自己的安装类型,这里选择默认的安装类型,如图所示

注意:图中列出了 5 种安装类型,分别是:

  1. Developer Default:默认安装类型;
  2. Server only:仅作为服务;
  3. Client only:仅作为客户端;
  4. Full:完全安装;
  5. Custom:自定义安装类型

2、选择Windows系统框架,单击Execute,安装程序会自动完成框架的安装

Mysql安装与配置安装步骤1

3、安装完成后会在【status】列表下显示 Complete(安装完成)。所需框架均安装成功后,点击 Next 按钮,进入安装组件窗口

mysql安装与配置安装步骤3

4、进入安装确认窗口,点击 Execute 按钮,开始 MySQL 各个组件的安装,如图所示

mysql安装与配置安装步骤4

5、开始安装 MySQL 文件,安装完成后在【Status】列表下显示 Complete,如图所示

mysql安装与配置安装步骤5

😁MySQL配置步骤

MySQL 安装完成之后,需要对服务器进行配置,具体配置步骤如下

1、在安装的最后一步中,点击 Next 按钮进入服务器配置窗口,进行配置信息的确认,确认后点击 Next 按钮,如图所示

mysql安装与配置配置步骤1

2、进入 MySQL 网络类型配置窗口,采用默认设置,点击 Next 按钮,如图所示

mysql安装与配置配置步骤2

3、进入 MySQL 服务器类型配置窗口,采用默认设置,点击 Next 按钮,如图所示

mysql安装与配置配置步骤3

上图中 3 个选项的具体含义如下:

  • Development Machine(开发机器):安装的 MySQL 服务器作为开发机器的一部分,在三种可选的类型中,占用的内存最少;
  • Server Machine(服务器):安装的 MySQL 服务器作为服务器机器的一部分,占用的内存在三种类型中居中;
  • Dedicated MySQL Server Machine(专用服务器):安装专用 MySQL 数据库服务器,占用机器全部有效的内存

MySQL 端口号默认 3306,如果没有特殊需求一般不建议修改。继续点击 Next 按钮即可

mysql安装配置与配置步骤3

4、进入设置服务器的密码窗口,重复输入两次登录密码(建议字母数字加符号),点击 Next 按钮,如图所示

mysql安装配置配置步骤4

5、进入服务器名称窗口设置服务器名称,这里无特殊需要也不建议修改。继续单击 Next 按钮,如图所示

mysql安装步骤配置步骤5

6、打开确认设置服务器窗口,点击 Execute 按钮完成 MySQL 的各项配置,如图所示

mysql安装步骤配置步骤6

7、最后打开 Windows 任务管理器对话框,可以看到 MySQL 服务进程 mysqld.exe 已经启动了,如图所示

mysql安装步骤配置步骤7

😮MySQL的目录结构

MySQL 安装完成后,会在磁盘上生成一个目录,该目录就被称为 MySQL 的安装目录

MySQL 的安装目录包含一些子目录以及一些后缀名为.ini的配置文件;为了更好地学习 MySQL,必须要对 MySQL 安装目录下各个子目录的意义和作用有所了解。下面对 MySQL 的安装目录进行详细讲解

MySQL 版本的安装配置后,目录结构可能如下图所示

mysql安装配置安装目录
bin目录:用于放置一些可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe等。
data目录: 用于放置一些日志文件以及数据库。
include目录:用于放置一些头文件,如:mysql.h、mysql_ername.h等。
lib目录:用于放置一系列库文件。
share目录: 用于存放字符集、语言等信息。
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。

🖕bin目录

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

mysql目录结构bin目录

🖕data目录

Data 目录中用于放置一些日志文件以及数据库。我们创建和保存的数据都存在这个目录里。打开 Data 目录,结构如下图所示

mysql目录结构data目录

注意:MySQL 的 Data 目录和 my.ini 文件有时并不放在 MySQL 的安装目录下,而是在 C:\ProgramData\MySQL\MySQL Server版本号

🖕include目录

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

mysql目录结构include目录

🖕lib目录

用于放置一系列库文件

mysql目录结构lib目录

🖕share目录

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

mysql目录结构share目录

🖕my.ini文件

my.ini 是 MySQL 默认使用的配置文件,一般情况下,只要修改 my.ini 配置文件中的内容就可以对 MySQL 进行配置

除了my.ini文件之外,MySQL 安装目录下可能还有几个后缀名为.ini的配置文件,不同的配置文件代表不同的含义,这些配置文件都是适合不同数据库的配置文件的模板,在文件名中就说明了适合的数据库类型

  • 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

😏目录文件详解

在 MySQL 中,物理文件存放在数据目录中。数据目录与安装目录不同,安装目录用来存储控制服务器和客户端程序的命令,数据目录用来存储 MySQL 服务器在运行过程中产生的数据

✋Data目录

Data 目录用来存放数据库相关的数据信息,包括数据库信息,表信息等

在这里插入图片描述

由图中可以看出,系统数据库和用户自定义数据库的存放路径相同。数据库目录中主要存放相应的数据库对象

  • mysql、performance_schema是系统数据库,information_schema 数据库比较特殊,这里没有相应的数据库目录
  • draw、basketball、game、guess、live、nba、test是用户自定义的数据库,即用户自己创建的数据库
  • ib_logfile0、ib_logfile1 是支持事务性引擎的 redo 日志文件
  • ibdata1 为共享表空间(系统表空间)。如果采用 InnoDB 引擎,默认大小为 10M

数据目录里可能还有:

  • MySQL 服务器的进程 ID(PID)文件。
  • MySQL 服务器所生成的状态和日志文件。
  • DES 密钥文件或服务器的 SSL 证书
  • ibtmp1 为存储临时对象的空间,比如临时表对象等
  • auto.cnf:MySQL 服务器的选项文件,用于存储 server-uuid 的值。server-uuid 与 server-id 一样,用于标识 MySQL 实例在集群中的唯一性

✋数据库目录

数据库实际是一个目录,每个目录都保存着相应数据库中的表以及表数据。下面我们以 test 数据库为例讲解目录中存放的文件

mysql目录结构数据库目录
👉db.opt

用来保存数据库的配置信息,比如该库的默认字符集编码和字符集排序规则。如果你创建数据库时指定了字符集和排序规则,后续创建的表没有指定字符集和排序规则,那么该表将采用 db.opt 文件中指定的属性

对于 InnoDB 表,如果是独立的表空间,数据库中的表结构以及数据都存储在数据库的路径下(而不是在共享表空间 ibdata1 文件中)。但是数据中的其他对象,包括数据被修改之后,事务提交之间的版本信息,仍然存储在共享表空间的 ibdata1 文件中

👉.frm

在 MySQL 中建立任何一张数据表,其对应的数据库目录下都会有该表的 .frm 文件。.frm文件用来保存每个数据表的元数据(meta)和表结构等信息。数据库崩溃时,可以用 .frm 文件恢复表结构

.frm 文件跟存储引擎无关,任何存储引擎的数据表都有 .frm 文件,命名方式为表名.frm,如 users.frm

注意:MySQL 8.0 版本开始,frm 文件被取消,MySQL 把文件中的数据都写到了系统表空间。通过利用 InnoDB 存储引擎来实现表 DDL 语句操作的原子性(在之前版本中是无法实现表 DDL 语句操作的原子性的,如 TRUNCATE 无法回滚)

👉.MYD、.MYI
  • .MYD 理解为 My Data,用于存放 MyISAM 表的数据。
  • .MYI 理解为 My Index,主要存放 MyISAM 表的索引及相关信息
👉.ibd

对于 InnoDB 存储引擎的数据表,一个表对应两个文件,一个是 *.frm,存储表结构信息;一个是*.ibd,存储表中数据

👉.ibd、.ibdata

.ibd 和 .ibdata 都是专属于 InnoDB 存储引擎的数据库文件。当采用共享表空间时,所有 InnoDB 表的数据均存放在 .ibdata 中。所以当表越来越多时,这个文件会变得很大。相对应的 .ibd 就是采用独享表空间时 InnoDB 表的数据文件

🤘my.ini文件

my.ini 文件是 MySQL 服务端和客户端主要的配置文件,包括编码集、默认引擎、最大连接数等设置。MySQL 服务器启动时会默认加载此文件,可以通过修改这个文件,达到更新配置的目的

一般情况下,my.ini 在 MySql 安装的根目录下,也有可能在隐藏文件夹“ProgramData”下面

#客户端的参数
# CLIENT SECTION
# ----------------------------------------------------------------------
[client]
port=3306
[mysql]
default-character-set=latin1

#服务器参数
# SERVER SECTION
# ----------------------------------------------------------------------
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
basedir="D:/mysql/"
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
character-set-server=latin1
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=18M
thread_cache_size=8

#MyISAM存储引擎参数
#*** MyISAM Specific options
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=35M
key_buffer_size=25M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

#INNODB存储引擎参数
#*** INNODB Specific options ***
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=47M
innodb_log_file_size=24M
innodb_thread_concurrency=26
✌️客户端参数
port:表示 MySQL 客户端连接服务器端时使用的端口号,默认的端口号为 3306。如果需要更改端口号的话,可以直接在这里修改
default-character-set参数是客户端默认的字符集,如果你希望它支持中文,可以设置成gbk或者utf8
✌️服务器端参数
参数名称说明
port表示 MySQL 服务器的端口号
basedir表示 MySQL 的安装路径
datadir表示 MySQL 数据文件的存储位置,也是数据表的存放位置
default-character-set表示服务器端默认的字符集
default-storage-engine创建数据表时,默认使用的存储引擎
sql-mode表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度
max_connections表示允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的
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_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 ,MySQL 的安装目录包含一些子目录以及一些后缀名为.ini的配置文件

赶紧学习起来吧!我是一个正在努力找回自我的人,希望能和一起学习的人成长,有错误的地方请各位大佬帮忙指正,如果觉得有帮助就点个赞当作对我的一个小肯定❤👍,peace&love

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值