一.数据库的种类

在早期的数据库理论中,不同的数据库是按不同的数据结构来联系和组织,按照数据结构模型来分类,一共有三种类型:

  • 网状结构
  • 层次模型
  • 关系模型

而当今互联网中,最常见的数据库模型主要是两种:

  • SQL关系型数据库
  • NoSQL非关系型数据库

特点:

关系型数据库:选择使用行和列构成的二维表来管理数据,简单易懂,另外,他还利用SQL对数据开展实际操作

非关系型数据库:它格式灵活,多种格式都可运行,使用灵活,应用场景广泛

速度快,具有更高延展性,成本低,部署简单

两种数据库是一种互补的关系,

二.数据库专有名词

常见的关系型数据库管理系统:

    • MySQL:MySQL,MariaDB,Percona-Server
    • PostgreSQL:简称为pgsql
    • Oracle
    • MSSQL
    SQL:Structure Query Language,结构化查询语言

    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:移除授权

    约束:constraint,向数据表提供的数据要遵守的限制

    • 主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL)   ps:一个表只能存在一个
    •  惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL)  ps:一个表可以存在多个
    • 外键约束:一个表中的某字段可填入数据取决于另一个表的主键已有的数据
    • 检查性约束

    三.mysql安装与配置

    1.mysql安装

    mysql安装方式有三种:

    • 源代码:编译安装 (一般不用)
    • 二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
    • 程序包管理器管理的程序包:
    • rpm:有两种
    • OS Vendor:操作系统发行商提供的
    • 项目官方提供的
    • deb

    准备工作

    配置mysql的yum源,方便接下来的安装

    [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm   //下载包
    [root@localhost ~]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm    //安装
    [root@localhost ~]# yum clean all   //清除其他缓存
    [root@localhost ~]# yum makecache   //建立本地缓存方便后续下载安装

    下载mysql软件包并且安装

    [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-client-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-devel-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-server-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# ls
    anaconda-ks.cfg
    mysql57-community-release-el7-10.noarch.rpm
    mysql-community-client-5.7.37-1.el7.x86_64.rpm
    mysql-community-common-5.7.37-1.el7.x86_64.rpm
    mysql-community-devel-5.7.37-1.el7.x86_64.rpm
    mysql-community-libs-5.7.37-1.el7.x86_64.rpm
    mysql-community-server-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# rm -f mysql57-community-release-el7-10.noarch.rpm    
    [root@localhost ~]# ls
    anaconda-ks.cfg
    mysql-community-client-5.7.37-1.el7.x86_64.rpm
    mysql-community-common-5.7.37-1.el7.x86_64.rpm
    mysql-community-devel-5.7.37-1.el7.x86_64.rpm
    mysql-community-libs-5.7.37-1.el7.x86_64.rpm
    mysql-community-server-5.7.37-1.el7.x86_64.rpm
    [root@localhost ~]# yum -y install *.rpm    //安装目录下所有mysql软件包

    2.配置mysql

    [root@localhost ~]# systemctl enable --now mysqld    //设置开机自启
    [root@localhost ~]# systemctl status mysqld      //查看mysql
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; v>
       Active: active (running) since Mon 2022-04-18 21:43:35 CST; 23s ago
         Docs: man:mysqld(8)
    [root@localhost ~]# ss -antl    //mysql默认端口号为3306
    State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN  0        128              0.0.0.0:111           0.0.0.0:*     
    LISTEN  0        32         192.168.122.1:53            0.0.0.0:*     
    LISTEN  0        128              0.0.0.0:22            0.0.0.0:*     
    LISTEN  0        128                 [::]:111              [::]:*     
    LISTEN  0        128                 [::]:22               [::]:*     
    LISTEN  0        80                     *:3306                *:*
    [root@localhost ~]# grep "password" /var/log/mysqld.log    //筛选出文件中mysql临时密码
    2022-04-18T13:43:32.510221Z 1 [Note] A temporary password is generated for root@localhost: /2uDgyeTQq!n   
    [root@localhost ~]# mysql -uroot -p'/2uDgyeTQq!n'   //输入密码登录
    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 3
    Server version: 5.7.37
    
    Copyright (c) 2000, 2022, 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 password = password('YouKun.123');
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    mysql> quit
    Bye
    [root@localhost ~]# mysql -uroot -p'YouKun.123'   //重新登录测试
    mysql>
    
    
    [root@localhost ~]# rpm -e mysql57-community-release    //防止mysql自动更新,需要删除最开始安装的yum源

    3.mysql的图形化客户端使用

    设置权限策略使其可以连接到Navicat

    mysql> GRANT ALL ON *.* TO 'root'@'192.168.12.1' IDENTIFIED BY 'YouKun.com';   //设置权限使本机ip可以连接到数据库
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> create database qaz;   //创建一个表
    Query OK, 1 row affected (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | qaz                |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    
    [root@localhost ~]# systemctl disable --now firewalld.service    //关闭防火墙
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@localhost ~]# setenforce 0    //临时关闭selinux

    下载安装Navicat

    打开点击连接

    mysql数据库有哪些类型 mysql数据库类型有哪几种_mysql

     输入连接名,虚拟机ip,以及我们刚刚更改的mysql密码

    mysql数据库有哪些类型 mysql数据库类型有哪几种_mysql数据库有哪些类型_02

    双击连接,即可看到我们刚刚创建的数据表

    mysql数据库有哪些类型 mysql数据库类型有哪几种_数据库_03