• MySQL数据库的基本概念以及MySQL8.0版本的部署(一)


    MySQL数据库的基本概念以及MySQL8.0版本的部署

    1.MySQL数据库的相关概念

    1.1.数据库中的专业术语

    • 数据库
      • 实际存储数据的仓库,在仓库中的数据都是有组织、有序列的进行存储。
      • 数据库称为DateBase,简称DB。
    • 数据库管理系统
      • 操作和管理数据库的大型软件系统,例如常见的MySQL、Oracle、PostgreSQL等等都是数据库软件。
      • 数据库管理系统简称DateBase Management System,简称DBMS。
    • SQL
      • 操作关系型数据库的编程语言,通过SQL可以非常方便的对数据库中的数据进行增删改查的操作。
      • SQL的全称是Structured Query Language。

    1.2.主流的数据库软件

    主流的数据库有Oracle、MySQL、SQL Server、PostgreSQL,其中最主流的就是MySQL数据库。

    • Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。

    • MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。

    • PostgreSQL:开源免费的中小型数据库。

    • DB2:IBM公司的大型收费数据库产品。

    • SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。

    • MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品。

    1.3.关系型数据库的概念

    关系型数据库,简称RBDMS,关系型数据库是建立在关系模型的基础之上,由多张相互关联的二维表组成的数据库,如下图所示,有人员信息表和职业信息表,在人员信息表中有个job字段,这个字段对应着职业名称,在职业信息表中有一个job_name字段,在这个字段中存储的是职业的名称,从逻辑上看,这两张数据表就存在着关联关系,job和job_name字段相互对应。
    在这里插入图片描述

    关系型数据库的特点:

    • 使用表存储数据,格式统一,便于维护。
    • 有联系的几张表中个别字段会一一对应,可以使用SQL语言,统一的进行查询。

    1.4.MySQL数据库的数据模型

    MySQL的数据模型如下图所示,客户端连接上DBMS,也就是数据库系统,比如MySQL,使用SQL语句就可以在MySQL数据库管理系统中可以创建出多个数据库,在一个数据库中可以创建出多个表,在表中可以存储无限条数据。

    在这里插入图片描述

    1.5.MySQL数据库的版本

    MySQL官方提供了两种不同的版本:

    • 社区版本(MySQL Community Server)

      • 免费, MySQL不提供任何技术支持。
    • 商业版本(MySQL Enterprise Edition)

      • 收费,可以使用30天,官方提供技术支持

    2.在Linux系统中搭建MySQL数据库

    2.1.下载MySQL数据库的安装包

    MySQL数据库的下载地址:https://downloads.mysql.com/archives/community/,本次MySQL数据库的版本选择8.0.26,并且使用rpm包的方式搭建,如下图所示,找到RPM Bundle,点击右侧的下载按钮,在这个包中包含了所有MySQL8.0.26版本所需的RPM包。

    在这里插入图片描述

    [root@mysql aa]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
    
    • 1

    2.2.安装MySQL数据库系统

    1)解压MySQL的压缩包

    MySQL8.0.26版本所有的rpm包都在这个压缩包中。

    [root@mysql mysql-tools]# mkdir mysql-rpm
    [root@mysql mysql-tools]# tar xf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-rpm/
    [root@mysql mysql-tools]# ll mysql-rpm/
    总用量 789340
    -rw-r--r-- 1 7155 31415  47836256 7月   2 2021 mysql-community-client-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415   4694644 7月   2 2021 mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415    634632 7月   2 2021 mysql-community-common-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415   6806272 7月   2 2021 mysql-community-devel-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415  23638156 7月   2 2021 mysql-community-embedded-compat-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415   4243808 7月   2 2021 mysql-community-libs-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415   1264168 7月   2 2021 mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415 454689776 7月   2 2021 mysql-community-server-8.0.26-1.el7.x86_64.rpm
    -rw-r--r-- 1 7155 31415 264457624 7月   2 2021 mysql-community-test-8.0.26-1.el7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2)逐个按照顺序来安装MySQL的rpm包

    1.安装以来的软件包
    [root@mysql mysql-tools]# yum install openssl-devel
    
    2.按照如下顺序安装MySQL
    [root@mysql mysql-tools]# cd mysql-rpm/
    [root@mysql mysql-rpm]# rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 
    [root@mysql mysql-rpm]# rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 
    [root@mysql mysql-rpm]# rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm 
    [root@mysql mysql-rpm]# rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
    [root@mysql mysql-rpm]# rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm
    [root@mysql mysql-rpm]# rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
    [root@mysql mysql-rpm]# rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.3.启动MySQL服务

    1.启动mysql
    [root@mysql ~]# systemctl start mysqld
    [root@mysql ~]# systemctl enable mysqld
    
    2.查看mysql的进程
    [root@mysql ~]# ps aux | grep mysql
    mysql    13662  1.3  4.6 1771784 369128 ?      Ssl  21:01   0:01 /usr/sbin/mysqld
    
    3.查看mysql的端口号
    [root@mysql ~]# netstat -lnpt | grep mysql
    tcp6       0      0 :::33060                :::*                    LISTEN      13662/mysqld        
    tcp6       0      0 :::3306                 :::*                    LISTEN      13662/mysqld  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.4.查看MySQL自动生成的root用户密码

    最后一个字段就是root的密码,不容易记忆。

    [root@mysql ~]# grep 'password' /var/log/mysqld.log 
    2022-05-01T13:01:06.618860Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 7DdaV)CKiJ;i
    
    • 1
    • 2

    2.5.登陆MySQL数据库系统

    [root@mysql ~]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 9
    Server version: 8.0.26
    
    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.
    
    3Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.6.修改root用户的密码

    系统随机生成的root密码不容易记忆,我们下面对root的密码进行修改,MySQL 5.7版本之后对密码复杂性有一定的要求,不过也可以进行调整。

    1)调整MySQL账户密码的复杂度

    将密码的复杂度设置成简单模式,并将密码的长度设置为最低6位。

    mysql> set global validate_password.policy = 0;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password.length = 6;
    Query OK, 0 rows affected (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2)修改root的密码

    mysql> ALTER  USER  'root'@'localhost'  IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.06 sec)
    
    • 1
    • 2

    2.7.设置允许root用户远程登录

    在MySQL 8.x中,默认情况下,系统的root用户只允许localhost连接,无法远程访问,我们还需要再创建一个名为root的账号,用于远程访问。

    mysql> create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    Query OK, 0 rows affected (0.07 sec)
    
    mysql> grant all on *.* to 'root'@'%';
    
    • 1
    • 2
    • 3
    • 4

    2.8.使用Navicat远程连接MySQL数据库

    在这里插入图片描述

  • 相关阅读:
    【小程序】滚动到指定位置,支付宝小程序滚动位置不准确
    tcpdump
    【活动通知】2023 Elastic Meetup 北京站将于12月2日下午1点30在北京召开
    【Web安全】sqlmap的使用笔记及示例
    2.20数据结构与算法学习日记(二叉树第一部分)
    STP---生成树协议
    基于 PyTorch 和神经网络给 GirlFriend 制作漫画风头像
    mongodb安装及使用
    【网络安全】「漏洞原理」(一)SQL 注入漏洞之概念介绍
    Lua调试函数 debug.getinfo() namewhat详解
  • 原文地址:https://blog.csdn.net/weixin_44953658/article/details/125906716