目录
数据库相关概念
MySQL(特点,安装,环境变量配置,启动和停止,客户端连接)
MySQL数据库的特点
Windows下安装MySQL
MySQL 8.0.36(安装版)
MySQL安装
配置Path环境变量
MySQL 5.6.30(免安装版)
总结(两个版本的MySQL共存)
MySQL启动与停止
MySQL客户端连接
Linux下安装MySQL
安装MySQL(在线安装)
MySQL启动、重启和停止
数据模型
数据库相关概念
名称 | 解释 | 简称 |
数据库 | 存储数据的仓库,数据是有组织的进行存储 | DataBase(DB) |
数据库管理系统 | 操纵和管理数据库的大型软件 | DataBase Management System(DBMS) |
关系型数据库 | 是指采用了关系模型来组织数据的数据库,将数据间的关系以数据库表的形式加以表达,并将数据存储在表格中,以便操作 | Relational Database Management System(RDMS) |
非关系型数据库 | 是一类用于存储和管理非结构化数据的数据库系统。与传统的关系型数据库不同,非关系型数据库通常使用不同的数据模型和查询语言来存储和管理数据,如键值存储、文档存储、列族存储、图形存储等。 | NoSQL(Not Only SQL) |
SQL | 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 | Structured Query Language |
参考:什么是非关系型数据库? - 知乎 (zhihu.com),可了解更多
关系型数据库和非关系型数据库的差异:
- 关系型数据库,使用关系模型组织数据的数据库,由二维表和表与表之前的联系组成,查询速度较慢,安全性较高
- 非关系型数据库,使用Key-Value的形式存储数据,大部分存储在内存,查询速度比关系数据库要快一些。
主流的关系型数据库管理系统:
- Oracle(常在大型项目中使用,例如:银行,电信等项目)
- MySQL(Web项目中应用最为广泛)
- Microsoft SQL Server(在微软项目中使用)
- SQLite(轻量级数据库,主要应用在移动平台)
- PostgreSQL
- ..
MySQL由于体积小,速度快,总体拥有成本低,一般开发者都选择MySQL作为数据库。
常见的非关系型数据库:
- Redis
- Mongodb
- Hbase
- ...
数据库的作用:
- 数据存储与管理:用于存储和管理大量数据,提高数据的可用性和可靠性。
- 数据检索与查询:提供强大的查询功能,帮助用户快速获取所需信息。
- 数据安全与权限控制:具有严格的安全机制,确保数据的安全性和完整性。
- 数据分析与挖掘:提供数据分析和挖掘的功能,帮助用户发现数据中的隐藏信息和规律。
- 数据共享:数据库中的数据可以被多个应用程序共享,提高了数据的利用率,减少了数据冗余。
简单来说:数据库可以用于存储数据,并且可以对数据进行增加、修改、删除查询等操作。
关系型数据库核心要素:
- 数据行(一条记录)
- 数据列(字段)
- 数据表(数据行的集合)
- 数据库(数据表的集合,一个数据库中能够有n多个数据表)
MySQL(特点,安装,环境变量配置,启动和停止,客户端连接)
MySQL数据库的特点
MySQL的特点:
- 可移植性好
- 支持多操作系统
- 支持多种编程语言
- 开源,社区版免费
- 支持多线程
- 优化SQL查询算法
- 多种数据库连接方式
- 支持多语言编码格式
Windows下安装MySQL
MySQL 8.0.36(安装版)
MySQL安装
采用社区版的MySQL(免费)
MySQL官方网站:MySQL
下载MySQL社区版的过程如下:
进入官网>点击DOWNLOADS
点击MySQL Community(GPL) Downloads
点击MySQL Installer for Windows
点击下载最新版本Download(注意:如果想要下载旧版本,需点击Archives)
点击立即开始下载No thanks, just start my download.
双击安装包
选择安装类型为自定义安装Custom,选择Next
选择要安装的组件
选择每一个组件,点击Advanced Options,更改组件的安装路径
选择组件安装路径完毕后,点击Next
点击开始执行安装Execute
安装完毕,点击Next
点击Next
点击Next
点击Next
设置MySQL默认用户Root的密码:123456
点击Next
把MySQL注册为Windows的一个系统服务,服务名为:MySQL80,该服务随系统开机自启
点击Next
点击Next
点击执行Execute
点击Finish
点击Cancel
点击Yes
配置Path环境变量
配置PATH环境变量的用途:当要求系统运行一个程序而没有告诉它程序所在的完整路径,系统除了会在当前目录寻找该程序外,还会到path中指定的路径寻找。
配置过程:
此电脑>右键 属性>高级系统设置>环境变量>找到系统环境变量中的Path>点击编辑>点击新建>找到MySQL Server的安装路径,进入bin目录,复制路径后,添加进去。
MySQL 5.6.30(免安装版)
注意:先把MySQL80服务停止
采用社区版的MySQL(免费)
MySQL官方网站:MySQL
进入MySQL官网,点击Download
然后下拉,点击下载社区版
点击MySQL Community Server
点击Archives,下载旧版本
选择版本5.6.30
下载winx64
下载完成后,将其解压到一个目录里
解压完成,进入该文件夹下
将my-default.ini复制一份,将文件名修改为my.ini,然后用记事本打开编辑
修改完成后,最终my.ini的内容如下:
[client]
port=3307
default-character-set=utf8
[mysqld]
# MySQL5.6.30的目录位置
basedir=D:\\InstalledSoftware\\Program Files\\mysql-5.6.30-winx64
# MySQL5.6.30的数据目录位置
datadir=D:\\InstalledSoftware\\Program Files\\mysql-5.6.30-winx64\\data
port=3307
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
# 开启查询缓存
explicit_defaults_for_timestamp=true
以管理员的身份运行命令提示符,进入MySQL5.6.30的目录位置下的bin目录
执行命令:
mysqld --defaults-file="D:/InstalledSoftware/Program Files/mysql-5.6.30-winx64/my.ini" --initialize --console
注册MySQL56服务
执行命令:mysqld install MySQL56 --defaults-file="D:/InstalledSoftware/Program Files/mysql-5.6.30-winx64/my.ini"
MySQL56服务注册成功
在注册表中,找到MySQL56,修改ImagePath
将ImagePath的数值修改,如下:
"D:\InstalledSoftware\Program Files\mysql-5.6.30-winx64\bin\mysqld" --defaults-file="D:/InstalledSoftware/Program Files/mysql-5.6.30-winx64/my.ini" MySQL56
点击确定
启动MySQL56服务
登录进入MySQL5.6,输入命令:mysql -P 3307 -u root -p
由于没有设置密码,直接回车就可以进入
登录后,设置用户root的密码
输入sql语句:update mysql.user set password=PASSWORD('123456') where user='root';
flush privileges;
总结(两个版本的MySQL共存)
安装了2个版本的MySQL(8.0.36和5.6.30)
它们注册的服务分别是:MySQL80和MySQL56
MySQL8.0.36的端口是3306,MySQL5.6.30的端口是3307
要使用任何一个版本的MySQL,都要先检查是否启动了服务(MySQL80服务,MySQL56服务),只有启动了服务,才能登录进入MySQL。
现在我们把两个服务都开启
如果要使用MySQL8.0.36,
在命令提示符中,输入命令:mysql -u root -p(不写端口,默认是3306端口)
root用户的密码是:123456
如果要使用MySQL5.6.30,在命令提示符中,输入命令:mysql -P 3307 -u root -p
root用户的密码是:123456
MySQL启动与停止
方式1:
因为MySQL已经注册为Windows的一个系统服务(服务名称:MySQL80或MySQL56),所以我们可以进入到Windows系统服务中对该条服务进行启动和关闭。
操作如下:
快捷键:win + r > 输入services.msc > 找到名称为:MySQL80或MySQL56的服务 > 对该服务启动或停止
方式2:
- 打开命令提示符cmd,注意:要以管理员的身份运行
- 输入命令:
启动
net start MySQL80或MySQL56
停止
net stop MySQL80或MySQL56
MySQL客户端连接
MySQL组成:
- MySQL服务器:存储数据并解析编译后的SQL语句,将执行结果返回给客户端。
- MySQL客户端:下发用户要执行的SQL语句,并显示服务器返回的执行结果。
想要操作MySQL数据库,需要先进行客户端连接。
方式1:使用MySQL提供的客户端命令行工具连接
- 打开MySQL 8.0 Command Lint Client
- 输入密码:123456
方式2:使用系统自带的命令行工具执行指令
输入指令
mysql [-h host] [-P 端口] -u 用户名 -p
注意:
- -h指定连接IP(如果是本机,就host就写127.0.0.1);不加-h就默认是本机
- -P指定连接端口(一般默认是3306);不加-P默认是3306端口
Linux下安装MySQL
安装MySQL(在线安装)
参考:
在Ubuntu 22.04 LTS 上安装 MySQL两种方式:在线方式和离线方式_ubuntu离线安装mysql-CSDN博客
在虚拟机Test_Ubuntu中安装MySQL,系统是Ubuntu
登录root用户,密码:XXXXXX
首先,确保系统的软件包列表是最新的,命令:apt update
查看mysql-server可使用的安装包,命令:apt search mysql-server
安装指定版本的mysql-server,命令:apt install -y mysql-server-8.0
安装完成后,会自动启动mysql服务,查看mysql服务是否启动,命令:ps -aux | grep mysql
或者检查一下,mysql服务是否正在运行,命令:systemctl status mysql
设置mysql服务为开机自启动,命令:systemctl enable mysql
修改配置文件mysqld.cnf
命令:vi /etc/mysql/mysql.conf.d/mysqld.cnf
进入配置文件后,将bind-address的参数设置为:0.0.0.0
这样是为了任何ip都能访问
更改完成后,按shift+z+z保存并退出
重启mysql服务,命令:systemctl restart mysql
登录mysql,设置root密码(123456)
设置root用户的密码为123456
运行sql语句:ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY 123456’;
exit退出mysql,重新登录root
MySQL的root用户登录成功
接下来,查看可以访问数据库的主机和用户:
USE mysql;
SELECT host, user FROM user;
发现只能本地主机通过MySQL的root用户访问
修改host字段的值,修改成%,表示所有主机都可以通过MySQL的root用户访问数据库
UPDATE user SET host = '%' WHERE user = 'root';
再次查看可以访问数据库的主机和用户:
SELECT host, user FROM user;
可以看到所有主机都可以通过MySQL的root用户访问数据库
然后重启一下该虚拟机即可生效
MySQL启动、重启和停止
启动MySQL服务:systemtcl start mysql
重启MySQL服务:systemtcl restart mysql
停止MySQL服务:systemtcl stop mysql
查看MySQL服务的状态:systemctl status mysql
查看MySQL服务的状态
停止MySQL服务
查看MySQL服务的状态,发现已关闭
启动MySQL服务
查看MySQL服务的状态,发现已开启
重启MySQL服务
查看MySQL服务的状态,发现已重启
数据模型
我们的MySQL客户端要想操作MySQL数据库,首先MySQL客户端会给MySQL数据库服务器发送SQL语句,MySQL数据库服务器内部的数据库管理系统(DBMS)会维护并且操作数据库,数据库又可以维护表,数据就存储在表结构中。
MySQL是关系型数据库(因为是基于表进行数据存储的数据库)。
关系型数据库(RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
关系型数据库的特点:
- 使用表存储数据,格式统一,便于维护
- 使用SQL语言操作,标准统一,使用方便