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
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
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
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
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
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>
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)
2)修改root的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.06 sec)
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'@'%';
2.8.使用Navicat远程连接MySQL数据库
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。