当前位置: 首页 > news >正文

mysql数据库基本概念简介

概述

为什么要使用数据库? 答:实现数据的持久化。

数据库存储类型多样,存储量大。由于其他文件等介质。

概念

DB:database(数据库),保存数据的仓库,本质是一个文件系统。

DBMS:数据库管理系统,常说的Mysql数据库,管理软件。

SQL:结构化查询语言。

通过SQL,使用DBMS管理DB实现数据的增删查改。

常见的DBMS:

  • Oracle
  • Mysql
  • SQL Server
  • Sqlite
  • Redis

关系型数据库RDBMS:Mysql是开源的关系型数据库管理系统。MariaDB是Mysql的分支。 以行和列的形式存储数据,构成表,多个表构成数据库。关系模型表示。

MYsql优点:

  • 开源免费,使用成本低
  • 性能卓越,服务稳定
  • 体积小,使用简单,易于维护
  • 社区活跃...

关系型数据库设计规则

表,记录,字段。

表的关联关系:

  • 一对一
  • 一对多
  • 多对多
  • 自我关联

基本名词定义

data:数据

database:数据库

dbms(database management system)数据库管理系统

rdbms(relational database management system)关系型数据库管理系统

table:表

field:字段

column:列

attribute:属性

type:类型

key:键值

index:索引

view:视图

sp(stored procedure):存储过程

trigger:触发器

primary key:主键

forerign key:外键

unique:唯一

performance:性能

tuning:调优

backup:备份

restore:恢复

user:用户

grant:授权

revoke:回收

privilege:权限

select:查询
update:修改
delete:删除
insert:添加

安装步骤

# 下载:
官网下载 GA版本

#
 上传服务器并解压到指定文件:
一般默认/usr/local/mysql

#
 配置数据目录和启动用户:
mysql:mysql ,数据目录为/usr/local/mysql/data,需手动创建

#
 配置文件my.cnf,
进行端口,并发连接,字符集,存储引擎等设置

#
 初始化:
cd /www/mysql
./bin/mysqld  --defaults-file=/www/mysql/etc/my.cnf  --user=mysql --basedir=/www/mysql --datadir=/www/mysql/data --character-set-server=utf8mb4 --initialize

#
 配置启动方式,通过systemctl或者手动启动
cd /www/mysql-8.0.29/script
# 复制进程文件到目录下
cp mysqld.service /usr/lib/systemd/system/
# 刷新
systemctl-daemon-reload

#
 修改默认密码
alter user 'root'@'localhost' identified by 'WZS134125'

#
 迁移data目录
mv data /mnt
# 修改my.cnf
datadir=/mnt

#
 通过sql查看内置变量
show VARIABLES LIKE '%bind_address%';

授权认证

mysql权限认证由用户名和主机名组成类似: root@localhost

root@localhost和root@192.168.131.101是两个不同的用户

#
 创建用户,设置密码,通过create user
create user chuck@'localhost' identified by 'WZS134125';

#
 授予权限,grant,revoke
grant all privileges on *.* to chuck@'localhost'; # 授予所有权限
GRANT SELECT, INSERT ON database_name.table_name TO user_name; # 授予特定权限
GRANT SELECT, INSERT ON database_name.table_name TO role_name; # 授予角色的权限

#
 查看权限
show grants for chuck@'localhost';

#
 撤销权限
REVOKE ALL PRIVILEGES ON database_name.* FROM user_name; # 撤销所有权限
REVOKE SELECT, INSERT ON database_name.table_name FROM user_name; # 撤销特定权限
REVOKE ALL PRIVILEGES ON database_name.* FROM role_name; # 撤销角色权限

#
 针对字段或者列进行限制
GRANT SELECT(name)ON database_name.table_name TO user_name; # 针对特定字段进行控制

权限级别:

  • 全局性,针对数据库示例所有的数据库权限控制
  • 数据库级别,针对某些数据库的权限
  • 数据库对象级别,针对特定的修改,查询,更新或者某个字段和列的权限

概述: 我们需要存储的一些有价值的数据如:姓名、年龄、职业、项目、薪资等数据以一种格式化的数据存储在数据表中,多个关联的表存储在同一个数据库中,使用数据库管理软件进行查询、修改、删除操作,实际物理存储路径在服务器的目录上。

本文由 mdnice 多平台发布

http://www.lryc.cn/news/248199.html

相关文章:

  • 前端开发_HTML
  • 1.Spring源码解析-ClassPathXmlApplicationContext
  • android 动态创建selector状态选择器 动态创建Drawable
  • Python与设计模式--责任链模式
  • (C)一些题6
  • 基于单片机的肺活量检测系统(论文+源码)
  • 【开题报告】海洋多源数据质量控制应用服务的WebServer设计与实现
  • 接单平台在精不在多,劝诸位程序员找个好平台!
  • mybatis关于namespace以及id以及Mapper接口命名的说明(了解)
  • MySQL中的锁(简单)
  • 【独家OD2023C卷真题】20天拿下华为OD笔试【贪心】2023C-分配土地最大面积【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • 省市区编码sql
  • 实现电商平台与营销系统无缝集成:雅座的无代码开发与API连接
  • win10下安装 Anaconda + Cuda + Cudnn + Pycharm + Pytorch
  • 第20章 多线程
  • 自定义类型:结构体,枚举,联合
  • C++:C++11新特性---右值引用
  • 计算机人机界面
  • 【BUG合集】(一)①数据库存1/0,请求结果返回true和false;②sql查数据库能查,但mybatis查为空;③data64图片存储为异常;
  • python基础练习题库实验7
  • C语言你爱我么?(ZZULIOJ 1205:你爱我么?)
  • 动手学深度学习(三)---Softmax回归
  • 爬虫代理技术与构建本地代理池的实践
  • token认证机制,基于JWT的Token认证机制实现,安全性的问题
  • 什么是计算机病毒?
  • 【C++】哈希(位图、布隆过滤器)
  • LeetCode198.打家劫舍
  • Appium PO模式UI自动化测试框架——设计与实践
  • 使用VUE3实现简单颜色盘,吸管组件,useEyeDropper和<input type=“color“ />的使用
  • matlab提取特征(医学图像)