MySQL初识
🌟🌟hello,各位读者大大们你们好呀🌟🌟
🚀🚀系列专栏:【MySQL的学习】
📝📝本篇内容:安装MySQL;启动MySQL;配置MySQL;登录MySQL;数据库的基本理解;MySQL架构;SQL语句分类;存储引擎
⬆⬆⬆⬆上一篇:Qt的文件
💖💖作者简介:轩情吖,请多多指教(>> •̀֊•́ ) ̖́-
1.安装MySQL
安装MySQL有很多种方法,有的同学使用的是云服务器,有的用的是虚拟机,我用的就是虚拟机,使用云武器可能还比较麻烦,但是使用虚拟机比想象种方便。我使用的是Ubuntu22.04的版本
更新源列表
sudo apt update
安装最新版MySQL
sudo apt install mysql-community-server
安装就是那么简单
接下来验证是否已经安装成功
第一行命令是看一下MySQL的配置文件是否存在,第二行命令是看一下MySQL的服务器端是否已经存在,第三行命令是看一下MySQL的客户端是否存在,当他们都没问题时,说明安装成功。其中mysqld是需要使用root权限启动的,就像它的路径是sbin即super
2.启动MySQL
上面三条命令都是控制MySQL的启动和停止的,第一条命令显而易见是启动MySQL,第二条命令是重启,第三条命令停止服务器,当然第三条命令和第一条命令可以合并成第二条命令
我们可以通过上面这个方式来验证我们的MySQL已经启动好了,第一个是看有没有对应的守护进程,第二个是看MySQL的一个网络通信端口,默认是3306。
3.配置MySQL
在我们使用的过程中,我们可能会使用到一些中文,需要编码等配置,因此我们需要对MySQL的配置进行修改。
我这边已经改好了,如果需要修改需要使用sudo或者管理员进行修改,添加的内容就是红框框圈出来的两个部分
4.登录MySQL
在其他的系统或者版本中登录可能会有各种问题,可能需要密码还是配置,但是我这个版本可以直接免密登录,遇到让你输密码,就直接回车就行
这是我们现在的登录方式,但是也可以写的更详细
(需要进行配置后才能这样使用)
-h:指明登录部署了mysql服务的主机
-P:指明我们要访问的端口号,默认就是3306
-u:指明要登陆的用户
-p:指明需要输入的密码,不输入也可以,因为后面会有Enter passward让我们输入①现在我们来聊聊之前得mysqld和mysql,有一点其实是明确的,就是mysqld是数据库的服务器端,mysql是数据库的客户端,因此我们的MySQL本质就是基于C(mysql)和S(mysqld)模式的一种网络服务
②mysql是一套给我提供数据存取服务的网络程序
数据库一般指的是在磁盘或者内存中存储的特定的结构组织的数据->将来在磁盘上存储的一套数据库方案;数据库服务一般指的是mysqld
③
数据库的本质就是对数据内容存储的一套存储解决方案,给它字段和要求,它会给你结果。之所以不用文件,虽然它也有数据的存储功能,但是文件并没有提供非常好的数据内容管理能力
5.数据库的基本理解
先简单的见一见数据的使用
表的数据逻辑存储如上图,行列组成,然后我们可以去看一下它们在linux上存储的位置,之前在配置文件中有记录
可以看到我们的test数据库在里面,还有一些其他的文件和文件夹,其中深颜色的是文件夹也就是数据库
可以看到我们的test数据库里面是文件
因此我们可以得出以下结论:
①建立数据库,本质就是在Linux下的一个目录
②在数据库内建表,本质就是在Linux下创建对应的文件
③数据库本质也是文件,只不过这些文件不是由程序员直接操作,而是由数据库服务帮我们进行操作,也就是mysqld
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
6.MySQL架构
这是MySQL的体系结构,我们的客户端除了mysql,还有像把数据库接入C++直接使用;连接池的话主要是进行安全验证,授权等登录相关的;接下来的一层可以理解为解析分析MySQL语句,进行语法分析,优化语句等;Pluggable Storage Engines的话就是存储引擎,这里面有好多的存储引擎可以选择,但是比较常用的就是InnoDB,也就是我们之前配置文件中设置的,其次就是MyISAM,别的就用的比较少,而且可以看到图中还有可插拔图标,允许不同的表使用不同的存储引擎,以适应不同的业务场景,"主要干活"的就是这一层;接着就是物理文件和系统层。像我们平时对文件进行处理什么的,也可以比作是数据库操作,因此从操作系统的角度去理解的话,除了最后一层,其余的都是"用户层"。
7.SQL语句分类
DDL【data definition language】 数据定义语言,用来维护存储数据的结构,代表指令: create, drop, alter
DML【data manipulation language】 数据操纵语言,用来对数据进行操作代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke,commit
8.存储引擎
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎。
可以通过show engines;来查看有哪些存储引擎可以用,就像前面说的,我们常用的就是InnoDB>MyISAM
🌸🌸MySQL初识大概就讲到这里啦,博主后续会继续更新更多Qt的相关知识,干货满满,如果觉得博主写的还不错的话,希望各位小伙伴不要吝啬手中的三连哦!如有小伙伴需要Qt的安装包可以私信我,你们的支持是博主坚持创作的动力!💪💪
















