数据库模型结构!
1. 层次模型
2. 网状模型
3. 关系模型
RDBMS专业名词!
常见的关系型数据库管理系统:
- MySQL:MySQL,MariaDB,Percona-Server
- PostgreSQL:简称为pgsql
- Oracle
- MSSQL
SQL:Structure Query Language,结构化查询语言
约束:constraint,向数据表提供的数据要遵守的限制
- 主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL)。
- 一个表只能存在一个
- 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL)
- 一个表可以存在多个
- 外键约束:一个表中的某字段可填入数据取决于另一个表的主键已有的数据
- 检查性约束
索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储
关系型数据库的常见组件!
- 数据库:database
- 表:table,由行(row)和列(column)组成
- 索引:index
- 视图:view
- 用户:user
- 权限:privilege
- 存储过程:procedure
- 存储函数:function
- 触发器:trigger
SQL语句!
- DDL:Data Defination Language,数据定义语言
- DML:Data Manipulation Language,数据操纵语言
- DCL:Data Control Language,数据控制语言
SQL语句类型 | 对应操作 |
DDL | CREATE:创建 DROP:删除 ALTER:修改 |
DML | INSERT:向表中插入数据 DELETE:删除表中数据 UPDATE:更新表中数据 SELECT:查询表中数据 |
DCL | GRANT:授权 REVOKE:移除授权 |
MySQL安装与配置!
1. 因为在8版本中yum源只有8版本的,所以我们再下载5.7版本的MySQL需要关掉8版本中的yum源默认仓库!
[root@lzz ~]# dnf remove @mysql
上次元数据过期检查:6:51:33 前,执行于 2021年04月28日 星期三 06时32分17秒。
无法匹配参数 mysql 中的配置档案
依赖关系解决。
无需任何处理。
完毕!
[root@lzz ~]# dnf module reset mysql && sudo dnf module disable mysql
上次元数据过期检查:6:52:06 前,执行于 2021年04月28日 星期三 06时32分17秒。
依赖关系解决。
无需任何处理。
完毕!
上次元数据过期检查:6:52:08 前,执行于 2021年04月28日 星期三 06时32分17秒。
依赖关系解决。
===================================================================================================================
软件包 架构 版本 仓库 大小
===================================================================================================================
禁用模块:
mysql
事务概要
===================================================================================================================
确定吗?[y/N]: y
完毕!
(将模块禁用掉!)
2. 创建一个新的仓库!
[root@lzz ~]# vim /etc/yum.repos.d/mysql-community.repo
[root@lzz ~]# yum clean all
21 文件已删除
[root@lzz yum.repos.d]# cat mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=0
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=0
3. 安装MySQL5.7版本!
[root@lzz ~]# dnf module reset mysql && sudo dnf module disable mysql
上次元数据过期检查:0:02:17 前,执行于 2021年04月29日 星期四 02时31分38秒。
依赖关系解决。
无需任何处理。
完毕!
上次元数据过期检查:0:02:19 前,执行于 2021年04月29日 星期四 02时31分38秒。
依赖关系解决。
===================================================================================================================
软件包 架构 版本 仓库 大小
===================================================================================================================
禁用模块:
mysql
事务概要
===================================================================================================================
确定吗?[y/N]: y
完毕!
[root@lzz ~]# vim /etc/yum.repos.d/mysql-community.repo
[root@lzz ~]# vim /etc/yum.repos.d/mysql-community.repo
[root@lzz ~]# dnf --enablerepo=mysql57-community install mysql-community-server
MySQL 5.7 Community Server 3.2 MB/s | 2.2 MB 00:00
MySQL Connectors Community 452 kB/s | 107 kB 00:00
MySQL Tools Community 1.9 MB/s | 630 kB 00:00
依赖关系解决。
===================================================================================================================
软件包 架构 版本 仓库 大小
===================================================================================================================
安装:
mysql-community-server x86_64 5.7.34-1.el7 mysql57-community 173 M
安装依赖关系:
mysql-community-client x86_64 5.7.34-1.el7 mysql57-community 25 M
mysql-community-common x86_64 5.7.34-1.el7 mysql57-community 310 k
mysql-community-libs x86_64 5.7.34-1.el7 mysql57-community 2.4 M
ncurses-compat-libs x86_64 6.1-7.20180224.el8 baseos 331 k
=
运行事务
准备中 : 1/1
安装 : mysql-community-common-5.7.34-1.el7.x86_64 1/5
安装 : mysql-community-libs-5.7.34-1.el7.x86_64 2/5
运行脚本: mysql-community-libs-5.7.34-1.el7.x86_64 2/5
安装 : ncurses-compat-libs-6.1-7.20180224.el8.x86_64 3/5
安装 : mysql-community-client-5.7.34-1.el7.x86_64 4/5
运行脚本: mysql-community-server-5.7.34-1.el7.x86_64 5/5
安装 : mysql-community-server-5.7.34-1.el7.x86_64 5/5
运行脚本: mysql-community-server-5.7.34-1.el7.x86_64 5/5
[/usr/lib/tmpfiles.d/mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
验证 : ncurses-compat-libs-6.1-7.20180224.el8.x86_64 1/5
验证 : mysql-community-client-5.7.34-1.el7.x86_64 2/5
验证 : mysql-community-common-5.7.34-1.el7.x86_64 3/5
验证 : mysql-community-libs-5.7.34-1.el7.x86_64 4/5
验证 : mysql-community-server-5.7.34-1.el7.x86_64 5/5
Installed products updated.
已安装:
mysql-community-client-5.7.34-1.el7.x86_64 mysql-community-common-5.7.34-1.el7.x86_64
mysql-community-libs-5.7.34-1.el7.x86_64 mysql-community-server-5.7.34-1.el7.x86_64
ncurses-compat-libs-6.1-7.20180224.el8.x86_64
完毕!
4. MySQL的配置!
[root@lzz ~]# systemctl start mysqld.service
[root@lzz ~]# systemctl enable mysqld
[root@lzz ~]# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-04-29 02:37:25 CST; 39s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 46044 (mysqld)
Tasks: 27 (limit: 11070)
Memory: 274.8M
CGroup: /system.slice/mysqld.service
└─46044 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
4月 29 02:37:19 lzz systemd[1]: Starting MySQL Server...
4月 29 02:37:25 lzz systemd[1]: Started MySQL Server.
5. 密码设置!
[root@lzz ~]# grep 'password' /var/log/mysqld.log
2021-04-28T18:37:23.648629Z 1 [Note] A temporary password is generated for root@localhost: dcxllxk82K?,
[root@lzz ~]# mysql -uroot -pdcxllxk82K?,
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.34
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> set global validate_password_policy=0 (修改密码!)
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123liuZEzheng!';
Query OK, 0 rows affected (0.00 sec)
6. 查看数据库!
mysql> show databases; (查看数据库!)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
7. 创建数据库!
mysql> create database liuzezheng;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| liuzezheng |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
8. 删除数据库!
mysql> DROP DATABASE liuzezheng
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
9. 进入数据库,并且创建表!
mysql> use liuzezheng
Database changed
mysql> create table student(id int(11) not null auto_increment primary key,name varchar(100) not null,age tinyint(4));
Query OK, 0 rows affected (0.01 sec)
mysql> desc student;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | NO | | NULL | |
| age | tinyint(4) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
10. 删除数据表!
mysql> show tables;
+----------------------+
| Tables_in_liuzezheng |
+----------------------+
| student |
+----------------------+
1 row in set (0.00 sec)
mysql> drop table student;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
Empty set (0.00 sec)
- 事件调度器:event schedule