本文使用的是 Ubuntu20.04 的 MySQL5.7 版本,对于该系统对于的该版本的MySQL,可以借鉴这篇博客,一步到位!!:【MySQL】Ubuntu 20.04 下安装 MySQL 5.7_ubuntu20.04安装mysql5.7-CSDN博客
1、什么是数据库
1.1 什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
- 文件的安全性问题
- 文件不利于数据查询和管理(重点)
- 文件不利于存储海量数据
- 文件在程序中控制不方便(重点)
数据库存储介质:
- 磁盘
- 内存
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
1.2 重点理解:数据库是一种数据管理和处理系统
当我们登录 MySQL 后,再新打开一个终端可以使用 ps
命令查看 MySQL 相关运行进程:
从输出结果中,我们不仅看到了 mysql 进程,还看到了 mysqld 进程。MySQL 不是一个单一软件吗,为什么会有两个?
我们常把“MySQL 数据库”称为“MySQL”,并且启动时使用的是程序也是 mysql,所以我们可能下意识地认为“MySQL = mysql”。实际上,这种认知是不正确的。
从宏观的整体角度来看,MySQL 或者说数据库是一套专注于解决数据的高效存储、检索和管理问题的系统。
以 MySQL 为例,数据库系统通常包含以下核心部分:
-
客户端程序 (Client)
客户端是用户与数据库交互的工具。在 MySQL 中,客户端程序 mysql 就是一个典型代表。用户通过它向数据库服务端发送 SQL 语句,从而完成对数据的操作,如查询、插入和删除等。 -
服务端程序 (Server)
服务端程序是数据库的核心,负责实际的数据管理任务。在 MySQL 中,服务端程序 mysqld 作为守护进程运行,负责处理客户端请求、执行 SQL 语句、维护数据的一致性和安全性等。 -
数据库文件 (Files)
数据最终以文件的形式存储在硬盘或内存上,具体存储的特定结构组织的数据。MySQL 的服务端将用户的数据组织成特定格式的文件(如 .ibd 文件、事务日志文件等),以便高效地存取和管理。
结论:数据库是一个协作系统,客户端和服务端共同完成数据的交互,而数据库文件则作为数据的持久化载体。
简单来说,MySQL客户端程序 mysql 就是用于发送数据处理和操作请求,MySQL服务端程序 mysqld 则接收解析客户端的请求,数据库存储文件则是用于特定结构化的存储数据(便于服务端及时存取和管理数据)。例如,客户端发送一个查找数据库中某人的身份信息的请求,服务端则接收该请求,并借助数据库存储文件取出相关的信息,然后将信息发送给客户端
数据库客户端和数据库服务端有可能会跨主机进行网络通信,所以有时候我们也会把数据库系统称为网络服务,可以说,MySQL的本质,是基于C(mysql) S(mysqld)模式的一种网络服务
2、常见客户端登录选项
class="table-box">选项 | 含义 |
---|---|
-u 或 --user | 指定要登录的用户名,例如 -u root |
-p 或 --password | 用于提示输入密码。如果后面直接跟着密码,会在命令行中显示,但通常推荐不直接使用,以保护安全,例如 -p123123 |
-h 或 --host | 指定要连接的 MySQL 服务器的主机名或 IP 地址,例如 -h 127.0.0.1 |
-P 或 --port | 指定 MySQL 服务器的端口号,默认是 3306 |
-protocol | 指定连接协议,可以是 TCP、UNIX 或 MEMORY,默认为 TCP |
-default-character-set | 设置客户端的默认字符集,例如 --default-character-set=utf8 或 --default-character-set=utf8mb4 |
-D 或 --database | 在登录时指定要使用的数据库,例如 -D DatabaseName |
-ssl-mode | 指定 SSL 连接的模式,例如 DISABLED(禁用)、PREFERRED(首选)等 |
评论记录:
回复评论: