一
01 数据库和Mysql简介
1、什么是数据库?
你可还没有意识到,每当每个同学从自己手机的联系人中查找想要通话的姓名时,这就是在使用数据库,如果在某个搜索引擎查找资料,也是在使用数招库,每个同学到银行的取款机上取钱,这其实也是在便用数掘库。
效据库实质是一个效据的集合,数据的仓库。
2、与数据库有关的几个概念
- 数据data:凡是可以被计算机处理的对象。如:字母、汉字、声音、符号、动画等。
- 信息information:计算机用户或程序员或数据库管理员将数据经过加工处理后对人们的决策起到帮助作用的有用数据,
- 数据处理:数据⋯>数据处理⋯>信息
3、数据库系统的组成
DBS:database system,由数据库管理系统DBMS、数据库Database、效据库管理员DBA、计算机、数据库应用系统DBAS。
DBNS------MySOl Oracle, Access、 VFP、DB2、 Ms-SQL.属于系統软件的范围
DBAS--⋯效据库应用系统 如学生管理系統、敕好管理系統
4、为什么要有数据库
- 程序设计 数据类型(婺型、浮点型、双精度、字符型、数组、字符串、结构体)
- 体)
- 计算机基础 excel电子表格
5、没有数据库会产生的问题
- 存在大量的冗余数据,浪费资源
- 数据共享程座低
- 无法及时更新
- 无适应业务的扩展,业务儒求
小结:
- 数据库:致据的仓库
- 数据库中存放数据库对象(数据库表、视圈、存储过程、函数等)
- 用户的数据是存放在数据库表中的
6、常见的关系型数据库
- Oracel
- Mysql|
- Ms-SOL server
- DB2
7、关系型数据库的基本概念
- 关系:用二维表的方式来表示实体和实体集之间的关系。
- 实体:客观存在的并且可以相互区别的事物。如1个人、1本书
- 实体集:一本书………实体
100本书-••实体集
关系型数据库特征:二维表的姐成行和列,行列存储敛据。
行表示一条记录,也称为元組、实体信息。一一-除了第1行
列表示一个字段,也称为属性,一-只有第1行
姓名 | 性別 | 年龄 | |
张川 | 男 | 19 | |
李四 | 女 | 20 | |
王五 | 男 | 21 | |
赵六 | 女 | 18 |
•非关系型敛据库:文档数据库、键值对数据库等。
8、库
理解为文件柜、房子、容器。
专业的理解:库理解为存储数招的最大的分类,一般在项目的开发过程中会根据项目来创建相应的库(一个项目创建一个库)
9、表
将用户数据存储到致掘库表中,数据库表存放到据库中。
数掘库表就是数据库中的一个对象,一般在开发软件项目的过程中会根据功能模块或业务鬆求来创建相应的表。
10、行与列二维表行列
- 元组:二堆表中的每1特,除了第1行
- 属性:二维表中的每1列,只有第1行
11, Mysql
Mysql厲于数据库管理系统,属于系统欲件,是DBMS。现在被Oracle公司收购,
企业为什么选择Mysql?
从公司运营角度的来讲,选择3y3g2有着多种原因:
- oracel是收费的;Mysql是免费的
- Mysql主要从数据安全、稳定、技术服务
- Mysql是开源的(源代码开放、免费)
从技术角廣来看,Mysql由于开源,可以带来(6):
- 可以更加了解软件运作的原理,更好的设置Mysql,一旦出现故障也可以很快定位,
- 可以更容易的开发周边产品。
所以Mysal对于初创公司、互联网公司和很多传统行业不管从功能还是性能,更多的是从成本的角康来讲Miysql是一个很好的选择。
12、Mysql数据库引|擎
数据库引擎是用于存储、处理和保护数据的核心服务。Mysql数据库引擎非常多,使用 。show Engines可以查看当前数据库的引擎信息。
二
一、Vmware虚拟机介绍与学习环境规划
1、什么是虚拟机?
虚拟机(virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 虚拟机系统是一个操作系统镜像,它具有与真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立环境上进行,可以独立安装应用软件、保存数据、拥有自己的独立桌面,不会对真正的系统产生影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。 流行的虚拟机厂家有Vmware、Oracle virtual box、微软virtual PC等,它们都能在windows系统上虚拟出多个计算机(windows/linux)。
2、使用虚拟机的好处有哪些? 演示环境,可以安装各种演示环境,便于做实验----实验、学习环境 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序或者测试的程序可以在虚拟机上运行 避免每次重新安装操作系统 体验不同版本的操作系统,如Mac-OS、Linux、windows server
3、Vmware workstation虚拟机介绍 Vmware workstation中文名威睿工作站。是一款功能强大的桌面虚拟化软件(KVM、hyper-V、cytrix思杰),提供用户可以在单一桌面上运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。 Vmware workstation收费,非开源(源代码不开放、收费的)
4、实战内容
· Vmware Workstation安装与配置
①官方网站下载www.vmware.com/cn
②提示:如果检查产品更新,会从官网下载最新安全补丁;
加入客户体验会造成个人信息泄露
5.· Vmware安装windows server 2019或windows server 2016
①在“此电脑”非系统盘如E盘或F盘,新建一个虚拟机系统目录Vm-Server (D:\VM-Server)
②步骤
文件..>新建虚拟机-->“自定义
③安装windows server 2019
④windows server 2019激活与优化
a.安装vmware tools
b.显示windows server 2019的桌面图标:桌面空白处-->右键-->个性化-->主题-->桌面图标
c.激活windows server 2019
提示:先要给新装的操作系统安装必要的工具软件如winrar、office等常用工具
· Vmware安装CentOS Linux
①新建虚拟机
②将系统光盘镜像文件插入光驱中
③安装操作系统
提示:KUMP内核崩澳选项将其禁用;安装时选择GUI带图形画界面linux系统,生产环境中可以选择最小化安装。
二、补充:如何将自己的计算机重装系统
1、先到MSDN我告诉你 下载windows 10或windows 11
2、准备一个32G或64G的优盘
3、将下载好的系统镜像文件,使用UltralsO(软碟通)制作操作系统安装盘
4、设置笔记本电脑的启动顺序,第1启动设置为优盘启动(按F12或ESC)
5、同在虚拟机中安装windows server 2019相同,一路下一步进行安装
6、使用系统激活工具来激活操作系统
三、学习环境规划
1、物理拓扑
2、逻辑规划
主机名 | IP地址 | 网关 | 系统类型 |
Test-MySQL-windows | 192.168.121.128 | 192.168.121.1 | windows server 2019 |
Test-Mysql-linux | 192 168.121.129 | 192.168.121.1 | Centos linux 7.6 |
三`
一、MySQL简介
1.介绍
1.1 什么是数据库?
数据库:Database,按照数据结构来组织、存储和管理数据的仓库,简单来说就是存储数据的仓库。——用来存放数据库对象(表、视图、函数、存储过程 等)的一个容器。
数据库管理系统DBMS:用来管理数据的系统软件,常见:MySQL、Oracle、SQLServer、DB2、Sybase、Access等
数据库系统的组成:数据库和数据管理系统
1.2 什么是MySQL?
MySQL:是一个开源的关系型数据库管理系统。由瑞典MySQLAB公司开发,后来被Oracle公司收购,所以目前属于0racle公司
特点:体积小、速度快、成本低、开源(源代码是开放的),中小型网站都使用MySQL数据库。
版本:企业版Enterprise(收费的)、社区版community(免费的)
DBA:Database Administrator数据库管理员
二、实战部分
1、准备一台windows server 2019的主机
2、安装windows server 2019(提示:Vmware Tools)
3、下载mysql 8.0版本
提示:第1、2步,在第2章已做过介绍
MySQL :: MySQL Community Downloads
4、MysqI8.0数据库配置
①Mysql server 8.0.39数据库服务器配置
②Mysql router 8.0.39读写分离的配置
③数据库实例配置
注意:使用8.0密码策略,客户端密码验证需要选择,“高级认证”方式出错。
提示:使用navicat图形化工具访问mysqI服务器时出错“1251错误”
5、MysqI8.0数据库管理入门
- 修改root密码
说明:上述修改用户密码的命令中with mysql_native_password 是mysql 5.7的方式
- 允许root远程登录
三、MySQL登录与退出
1、MySQL登录
- 本地登录
mysql-u用户名(root)-p密码 显式登录
mysql-u 用户名(root)-p 隐式登录
- 远程登录
mysql -h主机名或ip地址 -u用户名(root) -p 密码
2、MySQL退出
3、当mysql8.0安装完成后的相关配置
- 查看mysqI服务I
WIN+R--->运行-->services.msc
- mysql服务的开启与停止
①鼠标的方式
windows+R-->services.msc-->mysql80-->右键-->启动或停止
②命令的方式
- mysql配置文件
提示:若要修改配置文件my.ini,就需要重启mysqI服务
四、Mysql安装方式之配置方式
1、mysql卸载
- 控制面板:win+R-->运行-->输入control-->卸载程序.>与mysql有关组件.>卸载
- 安装包:双击mysql-installer-community-8.0.39.0.msi
2、 用配置文件来安装mysql
五、环境变量
右键-3此电 ->高报系统设置->环境交量->系统安量-->path->新運->将mysq|的安装目录bin
六.Mysql目录和配置文件
MySQL安装日录包括后动文件、配置文件、数据库文件和命令文件,具体如下:
bin日录:存放一些客户端程序和可执行脚本
data目录:存放一些日志文件以及数据库
docs目录:存储一些版本信息
include目录:存放一些头文件
lib目录:存放一些库文件
share目录:存储错误消息文件、字符集等
七、基本操作
1、连接Mysql
1aysqL-u 用户名-P 密码-h 数据库服务器的地址-D 数据库名
提示:安装mysql以后,默认有一个管理员root
2、查看数据库和表
SOL -
暗夜繁星•
show datatases;- 查看当前所有難据库
• use 数据库名;-切换数据库
show tables;• 显示当前数据库中的所有素
select database();••查看当前平在操作的数据库
select user(); - 显示当前登录的用户
八、导入初始数据
1、导入数据
以.sq|结尾的文件,是数据库脚本文件。
先连接登录到windows server 2019数据库服务器上,连接mysql,然后执行如下指令:
source d: \init.sql
2、表结构
1 dese 表名;-- 查看表结构
select *from 表名; 查看來中所有记录
tstudent学生表 | ||
列名 | 类型 | 含义 |
StudentID | varchar(10) | 学号 |
Sname | varchar(10) | 姓名 |
SeX | char(2) | 性别 |
cardiD | varchar(20) | 身份证号 |
Birthday | datetime | 出生日期 |
tsubject
列名 | 类型 | 含义 |
subJectID | varchar(4) | 课程号 |
subJectName | varchar(30) | 课程名 |
BookName | varchar(30) | 书名 |
Publisher | varchar(20) | 出版社 |
tscore表
列名 | 类型 | 含义 |
StudentID | varchar(10) | 学号 |
subJectiD | varchar(4) | 课程号 |
mark | decimal(10,0) | 分数 |
第四章 数据库创建与常用操作1、Mysql用户登录过程和管理mysql用户
1.1 Mysql8.0本地登录访问数据库
- Mysql用户存储在mysql数据库的user表中,该表在mysq|服务启动时自动加载到内存,控制用户的登录。
- 查看当前连接的mysq的用户
select user):
use mysql;
select user,host from user;
• 创建mysql用户账户
create user hector@'localhost';
• 为新建本地用户修改密码
alter user hector@localhost identified by 'abc..123;修改hector用户的密码
• 为新建本地登录账户赋权
grant all privileges on "." to hector®"localhost' with grant option;
create user hector;
select host, user from user:
- 主机可以使用通配符,规则和标准的SQL语法中定义的完全相同
- %表示任意长度的字符
- _表示1位的任意字符
- 设置hector@'localhost的密码为'abc..123'
alter user hector@'localhost identified by 'abc..123';
• 创建用户时指定密码
create user hector@'localhost' identified by 'abc..123';
• 练习:
创建1个新用户设置密码并实现本地登录,注意授权。
1.2 Mysql8.0远程访问数据库的设置
• 修改root密码
mysql -u root -p use mysql;
alter user 'root'@'localhost identified by 'abc..123
exit
alter user 'root'localhost' identified with mysql_native_password by 'abc...123';
•允许root远程登录
2、数据库命名规范
二、基本操作
1、连接Mysql
语法:
mysql -u 用户名-p密码 -h 数据库服务器的地址-D 数据库名
安装Mysql以后,默认有一个管理员root
- 显示登录
- 隐式登录
2、 查看数据库和表
show databases;--查看当前所有数据库
use 数据库名;---切换数据库
show tables;--查看当前数据库中的所有表
select user();-----显示当前登陆的用户
select database();----显示当前操作的数据库
mysql库属于系统数据库,包含mysql的相关系统信息,不要修改
3.导入初始数据
3.1导入数据
准备好1个以.sq|结尾的文件是数据库脚本文件
先连接登陆mysql数据库。然后执行如下命令:
source E:/init.sql;
3.2表结构
desc 表名;-----直看表结构
select *from 表名;------查看表中的所有记录
EMP表 雇员表
5.
5.1
Centos 8.4.2105系统下使用yum方式安装mysql8.4
1、查看Cente0s系统版本
2、配置yum源(由于CenteOs默认yum源镜像链接有误无法直接进入第3步,所以需要
更新配置yum源)
vim /etc/yun.repos.d/cent0s-Linux-AppStream.repwim /etc/yun.repos.d/cent0s-Linux-Base0s.repewim /etc/yun.repos.d/cent0s-Linux-Extras.repc
vim /etc/yum.repos.d/CentOS-Linux-AppStream.repo[appstream]
name=CentOS Vault -AppStream
baseurl=http://vaultcentos.org/8.4.2105/AppStream/x86 64/os/
enabled=1
gpgcheck=1
vim /etc/yum.repos.d/CentOS-Linux-BaseOS.repo
[baseos]
name=CentOS Vault -Base
baseurl=http:/ivault.centos.org18.4.2105/Base0S/x86 64/os
enabled=1
gpgcheck=1
3、下载mysql源安装包
[root@LinuxServer -j# wget https://repo.mysql.com/mysql84-community-release-el8.1.noarch.rpm
4、安装mysql源
下载完成后使用下面的命令安装源:
yum localinstall mysql84-community-release-el8-1.noarch.rpm
5、检查是否安装成功
使用yum repolist命令检查是否安装成功
6、安装mysql
yum install -y mysql-server
7、安装成功,启动mysql
8.设置开机自动运行
9、查看mysql运行进程
ps -eflgrep mysql
10.为保证mysql服务器可以远程访问,我们可以使用简单粗暴点的方法,直接将防火墙关闭,或者防火墙策略中放行3306端口的方式实现远程登陆。
在此我以关闭防火墙的方式实现。
firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
11.修改mysql数据库root用户密码
提示:默认没有密码
5.2
1.在根目录下新建mysql文件夹
2.vim /etc/hosts文件
ping LinuxServer.test.com---测试命令
3.检查是否系统自带或已有mysql和mariadb数据库
4、解压
提示:解压后需要将源文件mysq1-8.0.38-inux-glibc2.28-x8664.tar删除否则会冲突
[root@LinuxServer mysql]# rm -fmysql-8.0.38-linux-glibc2.28-x86 64.tar-----删除源文件
5.继续解压第1个文件mysql-8.0.38-linux-glibc2.28-x8664.tar.gz
说明:router是一个读写分离的路由组件,test是测试表或测试库文件
指令:xz-d mysql-8.0.38-linux-glibc2.28-x86_64.tar.xz-------解压后有3个文件tar xvf mysql-8.0.38-linux-glibc2.28-x86 64.tar----这是最后1个解压命令
6、将解压后的文件夹移动到/usr/local-……--注意:此种做法不是很规范,但是大部分生产网络环境都是这样使用,后面再讲案例时讲解规范做法。
5.3
CentOS Linux 7.6安装Mysql8.0,
要求
- 操作系统:CentOS 7.6 x86_64
- 数据库版本:mysql 8.0.39
- 字符集:utf8mb4
- 字符序:utf8mb4_general_ci,不区分大小写
环境准备
- 准备一台主机(ip:10.10.10.200 255.255.255.0)
- 安装CentOS Linux 7.6(桌面)
- 下载Mysql8.0并上传Mysql8.0至服务器
官网:MySQL :: MySQL Community Downloads
安装步骤:
- 配置hosts文件
- 卸载主机自带的mysql
- 安装mysql8.0
- 设置环境变量
- 验证:环境变量
- 创建mysql用户和组,目录授权
- 配置参数文件
- Mysql数据库初始化
- 配置CentOS linux启动和停止脚本
- 配置systemctl启动和停止方法
- 修改root密码
- 设置允许root用户远程登录