在嵌入式开发中,数据库的重要性体现在高效的数据存储和管理、数据持久化、复杂查询和处理、数据同步和共享、安全性和可扩展性。常见嵌入式数据库包括SQLite、MySQL、LevelDB等,应用于智能家居、工业控制、车载系统和物联网设备,提升了系统功能和开发效率。这个专栏我们共同来学习MySQL数据库。
目录
一、数据库介绍
1.1 数据库概念
1.1.1 通俗理解
1.1.2网络通信的角度理解
1.1.3 形象的理解数据库
1.2 数据库分类
1.2.1 关系型数据库
1.2.2 非关系型数据库(nosql)
二、mysql安装及设置
2.1 安装mysql
2.2 用户管理
2.3 用户授权
2.4 删除用户
2.5 数据库服务启动停止
2.5.1 检查服务器状态
2.5.2 数据库重启|停止|启动
2.5.3 连接数据库
2.6 配置文件位置
一、数据库介绍
1.1 数据库概念
1.1.1 通俗理解
数据库 :它就是存放数据的仓库,实际上它就是一个存数据的文件 ,并且是可以持久化存储的,是存在磁盘上的,但这个文件不能由我们直接操作,因此又提供了一个数据库管理系统,因此,我们平时所说的数据库既包含了存储数据的文件,又包含了一个管理和操作这个文件的一个系统,这个系统称之为数据库管理系统,因此,我们平时说的数据库是存放数据的文件和数据库管理系统之和, 数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库管理系统是数据库的核心组成部分,主要完成对数据库的操作与管理功能,例如实现数据的存储,查询,修改,删除,及数据库用户的管理,权限管理等。
1.1.2网络通信的角度理解
数据库是一个c/s结构,包含服务器端和客户端,我们在安装的时候(apt install mysql-server)安装的是服务器端,其实它自己默认也会安装客户端,目前的数据库都是CS结构,数据库的服务器端和客户端是通过tcp连接的,mysql的端口是3306。(面试问题)IP地址根据部署来决定。如下图所示:
1.1.3 形象的理解数据库
我们可以把mysql可以理解为一个大仓库,里面的一个个小仓库是存放数据的,但数据在小仓库实际是放在表(货架)里面的,每个小数据库里的表(货架)可能是一个也可能有许多,根据实际要存放的数据来看。因此,我们在需要存放数据的时候,首先登陆数据库(用户名和密码),然后创建一个数据库,将数据库存在在创建的数据库的表里面的。因此,存在一个操作叫做创建数据库和创建表。mysql里面有用户管理模块,可以创建用户,修改密码,mysql的管理员是:root,这个只是跟我们linux系统管理员名相同,不是同一个。如下图所示:
mysql数据库是一种C/S模型(即客户端和服务端模型),客户单通过用户名,密码登录连接服务器。连接成功后才可以进行数据库的操作(增删改查)。如下图:
- RDBMS : 关系数据库管理系统(Relational Database Management System)。
- SQL : 结构化查询语言(Structured Query Language).
1.2 数据库分类
1.2.1 关系型数据库
指采用了关系模型来组织数据的数据库,关系模型就是指二维表格模型,每一列的数据属性都相同 。而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系型数据库核心元素:数据行(一条记录),数据列(字段), 数据表(数据行的集合),数据库(数据表的集合)。
关系型数据库产品: oracle , mysql, sqlite ,DB2, Microsoft Sql Server
1.2.2 非关系型数据库(nosql)
指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。非关系型数据库以键值对存储,且结构不固定。(ACID,指原子性,一致性,隔离性,持久性).。
非关系型数据库产品: memcache , redis , mongodb, hbase
二、mysql安装及设置
这里介绍ubuntu发行版本上使用apt命令安装的步骤。不同发行版本安装方法有所不同。
2.1 安装mysql
安装前首先切换到管理员身份:sudo su ,然后再执行 apt install mysql-server 安装。
首次登录需要以Linux系统管理员身份运行mysql客户端,以mysql管理员root的身份登录。如下所示:
2.2 用户管理
查看当前数据库的所有用户信息:
在创建用户之前,我们先修改mysql管理员root的密码,如下所示:
注意:
远程连接mysql数据库,必须要在数据库所在的服务器创建远程登陆的用户root账号,否则远程无法连接数据库!!因此,创建用户的时候决定了是该用户本地登录还是远程登录!!!因此,用户可以同名,但是它们的登录方式不同。如下所示:
这两个root是不一样的,一个是本地登录,一个是远程登陆,如果你设置的两个密码不一样,你要是用同一个密码连接,绝对有一个连不上!localhost 本地登录,% 远程登陆
创建用户需要指定该用户为本地登录还是远程登陆。
然后退出数据库,执行:exit或者quit。 普通的Linux用户身份,客户端以mysql管理员身份连接数据库如下:
此时,mysql的管理员身份就正式修改成功了!当然,我们也可以创建其他mysql普通用户,如下所示:
当然,我们也可以创建远程登陆的stu1用户,这样就可以在远程使用这个用户来连接我们的mysql数据库服务器,如下所示:
2.3 用户授权
在我们创建一个用户后,就需要授权用户对哪些数据库的哪些表可以进行操作,就好比工厂招到工人,指定他负责哪一块区域,这就是用户授权。示例如下
2.4 删除用户
2.5 数据库服务启动停止
2.5.1 检查服务器状态
检查数据库的状态,Linux普通用户和管理员用户都可以查看,命令如下:
2.5.2 数据库重启|停止|启动
这几个操作都必须需要在Linux系统下的管理员身份运行,命令如下:
2.5.3 连接数据库
连接数据库,就是连接数据库服务器,可以以数据库所在的服务器进行本地连接,也可以远程连接命令如下:
数据库也是服务器和客户端CS结构,但它与普通的服务器客户端连接存在区别:
它与普通的服务器客户端连接区别就在于,数据库在远程连接的时候,必须要在数据库所在的服务器端创建远程连接用户,也就可以理解将这个用户存在数据库中,这样它才会认可这个用户,在登陆连接的时候,输入密码才认可,才会连接成功,这样设计是为了保证数据库的安全。而一般的服务器客户端不需要,只需要指定IP地址和端口就能连接。
2.6 配置文件位置
配置文件在如下位置,需要修改可以用vi打开更改
至此,数据库第一节就已经介绍完毕,感谢大家的阅读,更多精彩内容见后期,下期再见!