1.MySQL安装与配置

news2024/11/26 4:39:28

1.MySQL安装与配置

  • 📤1 数据库介绍📤
    • 🚪1.1关于MySQL主要要学啥🚪
  • ✉️2 MySQL服务器安装✉️
    • 📄2.1 Windows绿色安装📄
    • 📑2.2 Windows中重装MySQL📑
  • 📨3 Mac中常见的安装问题📨
  • 📯4 客户端连接MySQL服务器📯
    • 🎨4.1客户端和服务器的概念🎨
    • 🎤4.2请求和响应概念🎤
    • 🎧4.3内存和外存(硬盘)的区别🎧
    • 🎺4.4服务器工作时间🎺
    • 🎷4.5数据库服务器具体是如何在硬盘上组织数据的呢?🎷
    • 🎸4.6mysql 具体使用啥样的硬件设备来保存的呢?🎸
  • 📪5 SQL分类📪
  • 📦6.在windows中进入MySQL📦

大家好,我是晓星航。今天为大家带来的是 MySQL安装与配置 相关的讲解!😀

📤1 数据库介绍📤

什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

数据库存储介质:

  • 磁盘
  • 内存

为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

数据库分类

数据库大体可以分为 关系型数据库非关系型数据库

  • 关系型数据库(RDBMS):

是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:

  1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,保密性很强,如ERP、OA等企业信息系统。收费
  2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。(主流互联网公司都在用mysql)
  3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目,好用不火。使用了和Windows Server捆绑销售,使得很多系统都不兼容,收费,导致这个好产品不火。
  4. SQLite:轻量级数据库整个程序就是一个exe可执行文件…体积大概就是1M 运行时吃的内存啥的也都不高~~ 正因为这个东西轻量,经常会放到一些 “小的” 嵌入式系统上使用。最典型的,就是手机。(安卓系统,内置了 sqlite)

嵌入式系统:生活中有很多的设备,也是计算机~~ 冰箱,洗衣机,空调,投影仪,电视…

这些设备上也搭载了计算机这样的计算机只需要完成一些特定的功能就行了~ 不需要啥太高的配置~~这样的计算机就是嵌入式系统。

  • 非关系型数据库:

(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:

  1. 基于键值对(Key-Value):如 memcached、redis
  2. 基于文档型:如 mongodb
  3. 基于列族:如 hbase
  4. 基于图型:如 neo4j

关系型数据库与非关系型数据库的区别

注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line AnalyticalProcessing)是指联机分析处理。

大数据:如果数据一个机器装不下了,此时就需要使用多个机器来装~~此时这样的数据就是"大数据"

云计算:通过网络“云”(云服务器)将巨大的数据计算处理程序分解成无数个小程序,然后通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算是分布式计算、效用计算、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。

分布式系统:引入了多台机器,相互配合功能存储和管理这样的一份数据~ 此时就称为"分布式"的系统~~

微服务:在分布式的背景下,引入的机器太多了,此时就需要对机器分分类~分类分的越多越细,整体的结构就更复杂了…单个机器干的事情就更少更单一了(称为叫做微服务) 相当于是分布式系统 演化过程中的一个阶段~

🚪1.1关于MySQL主要要学啥🚪

1.SQL 编程语言

sql 是编程语言,sql,server,mysql,oracle是软件

sql 这个语言是运行在这些数据库软件上的…(就像Java运行在jvm 上)

通过 SQL 来完成对数据库数据的增删改查~~ 不同的数据库软件,可能对于 sql 的语法支持的略有差异,但整体都是一样的

2.数据库背后的一些典型原理(面试题)

3.通过 Java 代码来操作数据库 [至关重要]

在工作中,绝大多数针对数据库的操作,都是通过代码来自动完成的…

✉️2 MySQL服务器安装✉️

统一使用5.7.x的版本,我们这里使用5.7.27

📄2.1 Windows绿色安装📄

  • 解压MySQL:如解压到D:\Tools\mysql-5.7.27-winx64(注意不要放在中文路径、有空格或特殊字符的路径中)

  • 配置环境变量:

    1. 右键 此电脑 -> 高级系统设置 -> 环境变量 -> 在下面 系统变量栏 点击 新建 ->
      • 变量名:MYSQL_HOME

      • 变量值:为MySQL解压的根目录,我这里为D:\Tools\mysql-5.7.27-winx64

    1. 系统变量栏 找到 Path 变量并双击:

    2. Win10中点击 新建 以添加新的路径:

    3. %MYSQL_HOME%\bin

    4. Win7中直接添加到Path的最前面:

    5. %MYSQL_HOME%\bin;

说明:

需要执行某个指令,如D:\Tools\mysql-5.7.27-winx64\bin\mysqld.exe,需要在cmd中输入全路径,或切换到D:\Tools\mysql-5.7.27-winx64\bin目录下执行mysqld.exe。为方便操作,如在cmd可以直接输入mysqld执行该指令,可以按以上配置:

  1. 以上配置 %MYSQL_HOME% 代表引用的 MYSQL_HOME 环境变量,即D:\Tools\mysql-5.7.27-winx64。

  2. 配置在 Path 中,表示设置 %MYSQL_HOME%\bin 路径为全局路径,全局路径下的指令可以直接执行。

  • 配置MySQL初始化文件:

    • 在MySQL根目录下创建初始化文件my.ini,即D:\Tools\mysql-5.7.27-winx64\my.ini。内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:/Tools/mysql-5.7.27-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/Tools/mysql-5.7.27-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=innodb
    • 将以上 basedirdatadir 后的内容替换成自己的路径。
    • 注意:需要保存为ANSI编码。方法一:使用记事本打开,保存/另存为,选择ANSI编码。方法二:使用Notpad++打开,点击编码->转为ANSI编码->保存。
  • 初始化MySQL

右键点击cmd,选择 以管理员身份运行,执行以下命令

mysqld --initialize-insecure

如果出现找不到mysqld或是mysql命令,这是环境变量没有配置正确。检查环境变量,如果正确,则重新打开cmd,因为cmd会缓存系统变量,没有更新。

以上初始化操作完成后,可以看到在MySQL根目录下生成了data目录。

初始化的MySQL会生成超级管理员,账户名 root ,密码为空

  • 安装MySQL服务:

如果以前安装过MySQL,会默认安装MySQL的系统服务,点击开始菜单,输入services.msc,进入系统服务界面,搜索是否有mysql服务(可以在英文状态输入mysql快速定位),如果有mysql服务,需要先删除,有以下两种删除方法:

  1. cmd管理员权限打开,输入sc delete mysql
  2. 如果以上命令执行失败,还可以直接使用注册表删除,点击开始菜单,输入regedit,查找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中的mysql,将其删除

在以上mysql服务删除后,可以安装新解压的mysql服务了,在cmd执行:

mysqld install

此时执行 win+r 输入 services.msc 打开服务管理器,可以看到MySQL服务

  • 运行/停止MySQL服务端

cmd执行

net start mysql

net stop mysql

📑2.2 Windows中重装MySQL📑

  • 重装相同版本的MySQL很简单,不用真正卸载,只需要删除MySQL根目录下data文件夹,之后按照 2.1 中的内容,从 初始化MySQL 内容开始重新执行即可。
  • 重装不同版本的MySQL,需要卸载以前安装的MySQL:

如果以前通过解压方式安装的MySQL,需要重新安装或卸载时,需要如下操作:

右键点击cmd,选择 以管理员身份运行

net stop mysql
mysqld -remove mysql

之后重新执行2.1的安装步骤。

📨3 Mac中常见的安装问题📨

  1. mac系统安装mysql,只需要安装dmg文件就行,安装完毕,打开系统偏好设置,可以看到mysql服务,点击可以查看服务状态。
  2. 在mac中安装好mysql后,要在终端使用mysql,需要配置环境变量:
    • 切换到bash shell:
chsh -s /bin/bash
    • 查找mysql目录:

      find / -name mysql
      
    • 新建用户功能设置文件:
vim ~/.profile

打开的文件中点击i,输入以下内容:

export MYSQL_HOME=查找到的mysql目录(一般是/usr/local/mysql)
export PATH=$MYSQL_HOME:$PATH

再点击":wq"保存退出

    • 刷新环境变量:
source ~/.profile

📯4 客户端连接MySQL服务器📯

MySQL 这个数据库软件。是一个"客户端服务器" 结构的程序~~

🎨4.1客户端和服务器的概念🎨

一组重要概念:

客户端(Client)

服务器(Server)

我,就是客户端

饭馆,就是服务器

我和饭馆直接发生了交互~~

我是主动发起交互的这一方,因此我叫客户端

餐馆是被动接受交互的这一方,因此参观就是服务器~~

客户端/服务器的定义只是根据主动被动来确定。

某个程序,在场景1中可能是主动的,在场景2中可能是被动的,此时这个程序既是客户端又是服务器~~

🎤4.2请求和响应概念🎤

请求(Request)

响应(Response)

客户端给服务器发的数据,就是请求。

服务器返回给客户端的数据,就是响应。

🎧4.3内存和外存(硬盘)的区别🎧

1.内存访问速度快,外存访问速度慢。 速度能差 3-4 个数量级~~~ 几千倍

2.内存的空间比较小,外存的空间更大。 例如作者的电脑 内存16GB, 硬盘512G

3.内存成本贵,外存成本便宜。

一个好一点的 16GB 的内存条,可能就得几百上千

同样几百上千能买到一个很好的 1T 甚至 2T 的固态硬盘(SSD,电子结构,没有机械结构)

4T 的机械硬盘(有磁头,有盘片,一通电,盘片就快速旋转)能买俩了~~

4.内存的数据,断电后会丢失。外存的数据,断电后数据还在~~

内存存储的数据是"易失"的

外存存储的数据是"持久"的

"持久化"就是把数据写到硬盘上(硬盘上的数据放个三年五载可能也会丢失)

🎺4.4服务器工作时间🎺

由于服务器是被动的 服务器不直到我今天来不来吃饭 更不知道我啥时候来吃饭 也不知道我来了吃啥…

所以这个餐馆,一大早就得开张,一直开到很晚才能关门~~

就得时刻准备着!!!

对于一般的服务器程序来说,也是要持续运行~~

7*24小时~~

一天工作24小时,一周工作7天~~~ (007)

MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器本机执行:

mysql -u root -p

要求输入密码,没有设置密码则直接回车

进入MySQL命令行以后,可以看到 mysql>

-- 使用mysql数据库
use mysql;

-- 更新用户表的root账户,设置为任意ip都可以访问,密码修改为123456
update user set host="%",authentication_string=password('root') where
user="root";

-- 刷新权限
flush privileges;

退出

quit;

🎷4.5数据库服务器具体是如何在硬盘上组织数据的呢?🎷

Mysql 是一个客户端服务器结构的程序! 同时服务器是数据库的本体(数据是在服务器这里组织和存储的)

客户端->服务器->很多数据库(逻辑上的数据集合)->数据表->有很多行,每一行是一个"记录"->针对每一行,还有很多列,每一列称为一个字段

关系型数据库:

1.mysql服务器为了更好的组织数据,把上面要存的数据逻辑上划分出了多个数据集合。这些数据集合也称为叫做"数据库"~~

2.每个数据库里,使用"表"这样的结构来组织结构。

表:相当于excle,有很多行,每一行有很多列,最上面的一行是表头(描述每一个队列是啥意思)

3.每个表里有很多记录(record),每个记录就是一行(row)。

4.每一行这里又有很多列(column),每一个列也称为一个字段(field)。

注意!!!数据库这个词,可能有多种含义,结合上下文来理解。

1.表示研究数据库这个软件如何设计的学科~~

2.表示管理数据的这类软件

3.某个具体的管理数据的软件

4.安装了某个数据库软件的机器/服务器

5.数据库服务器软件里面管理的一个数据集合

🎸4.6mysql 具体使用啥样的硬件设备来保存的呢?🎸

mysql 以及其他的关系型数据库,都是使用 硬盘 来保存数据的!!!

网卡,触摸屏,既是输入设备,也是输出设备。

上述结构被称为"冯诺依曼体系结构"

谁提出来的??? 冯诺依曼就是咱们的祖师爷!!!

📪5 SQL分类📪

  • DDL数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

  • DML数据操纵语言,用来对数据进行操作

代表指令: insert,delete,update

    • DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

以上SQL我们主要会在后面学习DDL和DML的操作。

📦6.在windows中进入MySQL📦

使用命令行:

mysql -u root -p密码

假如你MySQL的密码是123456

那么进入MySQL的命令行就为:

mysql -u root -p123456

然后回车即可进入MySQL

最后为大家附上我在b站中找到的安装视频 大家也可以跟着安装视频走:

大博哥教你如何安装MySQL

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/587526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多云环境中的微服务应用安全挑战

随着越来越多的组织将云策略扩展到私有云、公共云、本地数据中心和边缘站点,将多云作为数字转型倡议的一部分,新的安全挑战不断涌现,必须在安全倡议的每个阶段加以考虑。 在云中操作具有多个优势,任何组织,无论是公共…

在线答题小程序制作,这些坑你一定要避免

在线答题小程序制作,你需要知道以下几个关键点,才能避免一些常见的坑。这里,我会为你详细介绍如何制作一个高质量的在线答题小程序。 关键点一:确定目标用户群体 在制作在线答题小程序之前,你需要确定你的目标用户群…

行云创新受邀参加阿里云开发者技术沙龙,分享云原生技术实践案例

云原生IDE,定义开发新常态 2023年5月28日,由阿里举办的云原生技术实践营-阿里云开发者技术沙龙在深圳市南山区成功举办。本次沙龙活动主要围绕云原生话题开展实践案例经验分享,行云创新CEO马洪喜作为受邀嘉宾之一,参加了本次活动…

UITableView学习笔记

看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识。下面进入正题,UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难&a…

本地Linux搭建web服务并发布公网访问 - 无需公网IP

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar内网穿透3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 转载自cpolar极点云的文章:在Ubunt…

代码随想录 栈与队列 Java

文章目录 (简单)232. 用栈实现队列(简单)225. 用队列实现栈(简单)20. 有效的括号(简单)1047. 删除字符串中的所有相邻重复项(中等)150. 逆波兰表达式求值&…

【红黑树 -- 理论与实现】

目录: 前言红黑树的概念红黑树的性质 插入过程遇到的情况情况1 -- 根节点情况2 -- parent为黑色情况3 -- parent为红色uncle为红色uncle为黑色uncle不存在 插入过程代码实现分析红黑树是否构建成功总结 前言 打怪升级:第88天 红黑树,可以说是…

Xubuntu16.04 系统偶发出现自动登出的问题

继上次发现的这个问题 xubuntu系统偶发自动登出,这次问题又浮现了,我第一时间拷贝了系统日志。 为了减少搜索量,可以先清除之前的系统日志,待问题出现 echo > /var/log/syslog echo > /var/log/kern.logMar 21 15:07:58 au…

面试:解决数字精度丢失

理论上用有限的空间来存储无限的小数是不可能保证精确的,但我们可以处理一下得到我们期望的结果 当你拿到 1.4000000000000001 这样的数据要展示时,建议使用 toPrecision 凑整并 parseFloat 转成数字后再显示,如下: parseFloat(…

为什么新产品没热度,流量分析

很多人反馈新产品上线之后却没有多少热度,这究竟是什么样原因呢?今天来为大家分享下为什么新产品没热度,流量分析。 新产品没有热度其实可以从两个主要方面进行探讨: 一、主观原因 1.缺乏吸引消费者的独特卖点 这个原因可能是新产品太过于普…

9个服务端提升debug效率的IDEA Debugger技巧

不可否认,未来的一到两年中,程序员的编码体验将会发生剧烈的变化。作为一名一线开发,要如何提前准备,来应对这种变化呢? 前言 在AIGC时代,虽然深度学习模型可以仅通过一段注释来生成我们想要的代码&#xf…

.net 混淆工具

obfuscation tools .net 社区有很多混淆工具, 比如这个清单: https://github.com/NotPrab/.NET-Obfuscator 比较有名的商业工具有 .NET REACTOR https://www.eziriz.com/, 开源软件中, 最受欢迎的有: obfuscar https://github.com/obfuscar/obfuscar老版 ConfuserEx https://gi…

代码危机!如何利用自定义异常应对复杂业务逻辑

大家好,我是小米,在这篇文章中,我将和大家分享关于自定义异常的使用场景以及一个实际的电商项目案例。自定义异常在软件开发中起到了重要的作用,能够帮助我们更好地管理和处理各种异常情况。让我们一起来看看各个场景下如何使用自…

85.建立主体页面-第一部分

记住我们之前画的草图&#xff0c;根据我们的草图来构建初始的页面 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta n…

202313读书笔记|《山居七年》——我只想在广袤璀璨的星河里享受生的鲜活,独自飞,游走

202313读书笔记|《山居七年》——我只想在广袤璀璨的星河里享受生的鲜活&#xff0c;独自飞&#xff0c;游走 《山居七年》 作者张二冬&#xff0c;选择隐士山居是一种很自由随性的生活态度&#xff0c;我觉得这不是普通人可以拥有的&#xff0c;比如我&#xff0c;并未入世也…

Nginx学习1--介绍和安装

文章目录 官方网站常用功能核心组成下载安装源码安装linux包安装ubuntu安装docker安装 官方网站 http://nginx.org/ 官方文档 常用功能 静态资源部署处理静态文件、处理索引文件以及支持自动索引&#xff1b; Rewrite地址重写正则表达式 反向代理提供反向代理服务器&#xf…

大数据:配置云服务器,主机名映射和SSH免密登录,创建Hadoop用户,复制免密登录

大数据&#xff1a;配置云服务器&#xff0c;主机名映射和SSH免密登录&#xff0c;创建Hadoop用户&#xff0c;复制免密登录 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 …

十、Camera 启动流程分析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Camera 启动流程概览二、Launcher 跟Camera APP 交互三、Camera app 与FWK Camera Service 交互四、Camera FWK 与 Camera HAL 交互五、Camera FWK…

35岁,阿里6年,被打了低潜,已生无可恋,纠结该不该出去,40岁的人能不能给点建议?...

35岁是个转折点&#xff0c;许多人都在35岁时陷入迷茫&#xff0c;比如下面这位网友&#xff1a; 35岁&#xff0c;在阿里已经6年了&#xff0c;现在要混是可以混下去&#xff0c;但发展肯定是没有了&#xff0c;已经被老板打了低潜。目前被这个业务摩擦得已经生无可恋&#xf…

APP开发中的UI设计

UI设计是 APP开发中一个必不可少的部分&#xff0c;用户体验也是影响 APP产品成功与否的重要因素&#xff0c;用户体验包括用户的使用感受和操作感受。就 UI设计来说&#xff0c;它的主要内容有&#xff1a;界面、图标、颜色、字体、布局、页面布局等。 一个好的 UI设计可以增加…