一、常见概念解析
数据库:存放数据的逻辑容器
数据库管理系统:例如MySQL 负责接受查询请求,读取或者修改数据,管理并发维护事务,以及把结果返回给客户端。
关系型数据库
关系型:数据通常按照表格组织,不同的表可以通过共同的字段建立联系
user 表 post 表
id = 1 张三 ──────────────→ user_id = 1
C++ 怎么学
实习推荐
id = 2 李四 ──────────────→ user_id = 2
分享我的项目
二、数据库部署
1、数据库部署是在干什么
让Mysql服务在某台机器上安装、运行并且可以访问
2.在Linux上部署MySQL
首先要理解启动了什么
mysql --version
查看mysql客户端的版本,并不代表mysql服务端正在运行,我们操作的是客户端mysql,但还有一个服务端程序mysqld在运行
(1)安装MySQL
sudo apt update
sudo apt install mysql-server
(2)启动服务
sudo systemctl start mysql
(3)设置开机启动
sudo systemctl enable mysql
(4)登录MySQL
方法1
sudo mysql
含义:
-
通过
sudo以 Linux 管理员权限运行客户端。 -
客户端尝试连接本机 MySQL 服务器。
-
MySQL 根据账号的认证配置判断是否允许登录。
-
认证成功后进入
mysql>提示符。
注意:
sudo只是在Linux上的root权限,并不会将mysql用户变成root权限
有时候不需要输入mysql密码是因为
方法2
mysql -h 指定服务器的Ip地址 -P 指定TCP端口号 -u 使用哪个数据库账号 -p
含义:
-
mysql:启动 MySQL 客户端。 -
-p:要求客户端提示输入密码。
三、服务器管理
服务器,数据库,表关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理系统程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库
为保存应用中的实体数据,一般会在数据库中建立多个表,以保存程序中实体的数据

四、MySQL架构

五、SQL分类
DDL 数据定义语言 ,用来维护存储数据的结构
代表指令:create drop alter
DML 数据操纵语言,用来对数据进行操作
代表指令:insert delete update
DCL 数据控制语言,主要负责权限管理和事务
代表指令:grant revoke commit