概述
为什么要使用数据库? 答:实现数据的持久化。
数据库存储类型多样,存储量大。由于其他文件等介质。
概念
DB:database(数据库),保存数据的仓库,本质是一个文件系统。
DBMS:数据库管理系统,常说的Mysql数据库,管理软件。
SQL:结构化查询语言。
通过SQL,使用DBMS管理DB实现数据的增删查改。
常见的DBMS:
Oracle Mysql SQL Server Sqlite Redis
关系型数据库RDBMS:Mysql是开源的关系型数据库管理系统。MariaDB是Mysql的分支。 以行和列的形式存储数据,构成表,多个表构成数据库。关系模型表示。
MYsql优点:
开源免费,使用成本低 性能卓越,服务稳定 体积小,使用简单,易于维护 社区活跃…
关系型数据库设计规则
表,记录,字段。
表的关联关系:
一对一 一对多 多对多 自我关联
基本名词定义
data:数据
database:数据库
dbms(databasemanagementsystem)数据库管理系统
rdbms(relationaldatabasemanagementsystem)关系型数据库管理系统
table:表
field:字段
column:列
attribute:属性
type:类型
key:键值
index:索引
view:视图
sp(storedprocedure):存储过程
trigger:触发器
primarykey:主键
forerignkey:外键
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
#复制进程文件到目录下
cpmysqld.service/usr/lib/systemd/system/
#刷新
systemctl-daemon-reload
#修改默认密码
alteruser'root'@'localhost'identifiedby'WZS134125'
#迁移data目录
mvdata/mnt
#修改my.cnf
datadir=/mnt
#通过sql查看内置变量
showVARIABLESLIKE'%bind_address%';
授权认证
mysql权限认证由用户名和主机名组成类似: root@localhost
root@localhost和root@192.168.131.101是两个不同的用户
#创建用户,设置密码,通过createuser
createuserchuck@'localhost'identifiedby'WZS134125';
#授予权限,grant,revoke
grantallprivilegeson*.*tochuck@'localhost';#授予所有权限
GRANTSELECT,INSERTONdatabase_name.table_nameTOuser_name;#授予特定权限
GRANTSELECT,INSERTONdatabase_name.table_nameTOrole_name;#授予角色的权限
#查看权限
showgrantsforchuck@'localhost';
#撤销权限
REVOKEALLPRIVILEGESONdatabase_name.*FROMuser_name;#撤销所有权限
REVOKESELECT,INSERTONdatabase_name.table_nameFROMuser_name;#撤销特定权限
REVOKEALLPRIVILEGESONdatabase_name.*FROMrole_name;#撤销角色权限
#针对字段或者列进行限制
GRANTSELECT(name)ONdatabase_name.table_nameTOuser_name;#针对特定字段进行控制
权限级别:
全局性,针对数据库示例所有的数据库权限控制 数据库级别,针对某些数据库的权限 数据库对象级别,针对特定的修改,查询,更新或者某个字段和列的权限
概述: 我们需要存储的一些有价值的数据如:姓名、年龄、职业、项目、薪资等数据以一种格式化的数据存储在数据表中,多个关联的表存储在同一个数据库中,使用数据库管理软件进行查询、修改、删除操作,实际物理存储路径在服务器的目录上。
本文由 mdnice 多平台发布