MySQL 8.0详细安装配置教程
一. 前言
MySQL是目前最为流行的开源数据库产品,是完全网络化跨平台的关系型数据库系统。它起初是由瑞典MySQLAB公司开发,后来被Oracle公司收购,目前属于Oracle公司。因为开源,所以任何人都能从官网免费下载MySQL软件,并且“开放源码”意味着任何人都可以使用和修改该软件,因而MySQL数据库也在企业级项目开发中广泛应用。
大多学习Java的同学接触的第一个数据库产品就是MySQL数据库。而许多学员在学习过程中,经常因使用不当将MySQL数据库搞崩溃。究其原因,往往是安装MySQL时采用在线无脑安装,对MySQL的安装过程不明就里,后期又随意修改配置文件,更改或移动文件目录等因素导致的。
杨哥今天会通过手动安装配置MySQL,给大家讲解清楚MySQL运行时的环境需求,避免有些同学再重蹈覆辙。
二. MySQL软件下载
MySQL的软件有两种:一种是在线安装版,以.msi后缀;另一种是以.zip结尾。杨哥推荐大家使用.zip压缩包,我们本次选择官网的最新版MySQL-8.0.30进行下载。
2.1 MySQL安装包下载
软件下载连接:https://dev.mysql.com/downloads/mysql/

注意:如果您是首次访问此官网,下载则需要先行注册账户,再下载。注册新账户按照提示填写个人信息,正确提交就行,这里就不再废话了。
当然,如果你嫌麻烦,不想注册,你也可以如下图所示,直接点击链接下载即可。

2.2 MySQL其他版本下载
三. MySQL安装与配置
3.1 解压MySQL压缩包
软件下载完成后,找个目录解压。杨哥这里是将其放到自己想要安装到的目录下,例如:D:\apps\mysql80\mysql-8.0.30-winx64

3.2 创建数据库文件目录
在MySQL主目录下创建空的data文件夹,作为数据文件的存放目录。
注意:此目录会在下一步配置时用到。
3.3 创建并修改配置文件my.ini
在MySQL主目录下创建名为my.ini的配置文件,文件内容如下:
[mysql]
#设置mysql数据库客户端默认字符集
default-character-set=UTF8
[mysqld]
#设置mysql数据库默认端口号,注意端口号不能被占用
port=3316
#设置记录日志的显示时间
log_timestamps=SYSTEM
#设置mysql安装目录
basedir=D:\\apps\\mysql80\\mysql-8.0.30-winx64
#设置mysql数据库的数据存放目录
datadir=D:\\apps\\mysql80\\mysql-8.0.30-winx64\\data
#设置mysql数据库服务端默认字符集
character-set-server=UTF8
#设置mysql数据库创建新表时的默认存储引擎
default-storage-engine=INNODB
#设置mysql数据库允许的最大链接数
max_connections=100
3.4 添加环境变量
在系统环境变量中“新建”一个名为“MYSQL_HOME”的变量。变量值:“D:\apps\mysql80\mysql-8.0.30-winx64”
编辑现有的环境变量“Path”,在最后增加“%MYSQL_HOME%\bin”。
3.5 初始化MySQL服务
以管理员身份运行cmd,进入bin目录,执行 mysqld --initialize-insecure --user=root 命令。如果不执行这一步,安装完成之后会无法启动服务。
MySQL经过初始化后,在目录data下会产生一些资料
四. 将MySQL.添加系统服务
4.1 安装启动服务
依然在管理员cmd窗口的bin目录下,执行> mysqld -install MySQL 命令安装。完成后会提示安装成功。
4.2 删除服务
删除服务,执行如下命令:
mysqld -remove mysql
注意:
删除服务前,必须先将服务终止掉(执行指令:net stop 服务名)
五. 其他维护操作
5.1 初次登录
依然在管理员cmd窗口的bin目录下,执行 net start MySQL8 命令启动MySQL服务。
在普通cmd窗口中,进入bin目录,执行 mysql -u root -p 命令,默认没有密码,回车进入;
mysql服务的默认端口是3306,如果mysql服务的端口不是3306,则需要-P 端口 参数
5.2 修改登录密码
alter user 'root'@'localhost' identified by '新密码';

5.3 验证登录
使用quit命令退出当前登录后,再用修改后的密码登录此服务,如下图所示:

六. 结语
杨哥最后要给大家提醒一下,许多初学者在学习过程中,喜欢整理资料,一不小心就把软件的目录修改或移除,这样和系统环境变量的配置信息不符,也会导致MySQL服务启动失败。这里一定要切记!切记!
现在你知道如何安装配置MySQL数据库了吗?如果还有其他问题,可以在评论区给我们留言哦。
千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java自学必备)
相关文章:
MySQL 8.0详细安装配置教程
一. 前言 MySQL是目前最为流行的开源数据库产品,是完全网络化跨平台的关系型数据库系统。它起初是由瑞典MySQLAB公司开发,后来被Oracle公司收购,目前属于Oracle公司。因为开源,所以任何人都能从官网免费下载MySQL软件,…...
pytest 入门
1,安装pytest 打开终端或命令提示符窗口,在终端中运行以下命令来安装pytest: pip install pytestpip install -i https://pypi.tuna.tsinghua.edu.cn/simple pytest 确保您的系统上已经安装了Python。您可以在终端中运行以下命令来检查Python的安装情况: pytest --version…...
分布式缓存数据一致性-解决方案
如果是用户维度,并发几率小(用户修改订单)。不需要考虑一致性问题,缓存数据加上过期时间,每隔一段时间出发读数据,主动更新缓存即可。(缓存过期删除数据,触发读请求主动更新…...
Java设计模式-享元模式
享元模式 1.享元模式含义 享元模式,运用共享技术有效地支持大量细粒度的对象。 其实享元模式很好理解,就是共享元数据的意思。比如一个小狗类对象,里面的属性有头,耳朵,眼睛,毛色这几个属性,…...
idea模块的pom.xml被划横线,不识别的解决办法
目录 问题: 解决办法: 1.打开设置 2. 取消勾选 3.点击确认 4.解决 问题提出: 写shi山的过程中,给模块取错名字了,改名的时候不知道点到了什么,一个模块的pom.xml变成灰色了࿰…...
ffmpeg 中 av_log 是怎样工作的?
---------------------------------------- author: hjjdebug date: 2023年 07月 27日 星期四 14:56:38 CST descriptor: ffmpeg 中 av_log 是怎样工作的? ---------------------------------------- av_log 功能其实只是添加了颜色,LOG级别,及log上下文名称,没有添加时间,函…...
HTML+CSS+JavaScript:轮播图自动播放
一、需求 轮播图如下图所示,需求是每隔一秒轮播图自动切换一次 二、代码素材 以下是缺失JS部分的代码,感兴趣的小伙伴可以先自己试着写一写 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /&…...
python 自动化数据提取之正则表达式
>>>> 前 言 我们在做接口自动化的时候,处理接口依赖的相关数据时,通常会使用正则表达式来进行提取相关的数据,今天在这边和大家聊聊如何在python中使用正则表达式。 正则表达式,又称正规表示式、正规表示法、正规…...
分布式事务之本地事务
🚀 分布式事务 🚀 🌲 AI工具、AI绘图、AI专栏 🍀 🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆&…...
PyTorch 初级教程:构建你的第一个神经网络
PyTorch 是一个在研究领域广泛使用的深度学习框架,提供了大量的灵活性和效率。本文将向你介绍如何使用 PyTorch 构建你的第一个神经网络。 一、安装 PyTorch 首先,我们需要安装 PyTorch。PyTorch 的安装过程很简单,你可以根据你的环境&…...
SpringBoot使用MyBatis Plus + 自动更新数据表
1、Mybatis Plus介绍 Mybatis,用过的都知道,这里不介绍,mybatis plus只是在mybatis原来的基础上做了些改进,增强了些功能,增强的功能主要为增加更多常用接口方法调用,减少xml内sql语句编写,也可…...
【设计模式】简单工厂模式
C语言实现简单的工厂模式 #include <stdio.h> #include <stdlib.h>// 图形类型枚举 typedef enum {CIRCLE,SQUARE,RECTANGLE } ShapeType;// 图形结构体 typedef struct {ShapeType type;float area; } Shape;// 创建圆形 Shape* createCircle() {Shape* circle …...
推荐系统-ALS协同过滤算法实现
从协同过滤的分类来说,ALS(Alternating Least Squares,交替最小二乘)算法属于User-Item CF,也叫做混合CF,它同时考虑了User和Item两个方面,通过数量相对少的未被观察到的隐藏因子,来…...
QT第三讲
思维导图 蜡笔小新闹钟 需求: 实现 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTime> //时间类 #include<QTimerEvent> //事件处理类 #include<QtTextToSpeech> //文本转语音类 #include<QMessageBo…...
Linux内核的I2C驱动框架详解------这应该是我目前600多篇博客中耗时最长的一篇博客
目录 1 I2C驱动整体框架图 2 I2C控制器 2.1 I2C控制器设备--I2C控制器在内核中也被看做一个设备 2.2 i2c控制器驱动程序 2.3 platform_driver结构体中的probe函数做了什么 2.3.1 疑问: i2cdev_notifier_call函数哪里来的 2.3.2 疑问:为什么有两…...
【点云处理教程】05-Python 中的点云分割
一、说明 这是我的“点云处理”教程的第 5 篇文章。“点云处理”教程对初学者友好,我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。 在上一教程中,我们看到了如何过滤点云以减少噪声或其密度。在本教程中,我们将应用一些聚…...
代码随想录算法训练营之JAVA|第十七天| 654. 最大二叉树
今天是第17天刷leetcode,立个flag,打卡60天。 算法挑战链接 654. 最大二叉树https://leetcode.cn/problems/maximum-binary-tree/description/ 第一想法 错误的想法,就不说了。 看完代码随想录之后的想法 用递归模拟真实的过程 如果我…...
C++重写函数、隐藏函数、重载函数的区别对比
目录 1.函数重载 1.1定义 1.2函数重载的规则: 1.3函数重载的作用: 2.函数重写: 2.1定义 2.2例子: 3.函数隐藏 3.1定义 3.2举个例子: 1.函数重载 1.1定义 我们在学类和对象的封装特性时学过一个词叫重载,…...
15.python设计模式【函数工厂模式】
1.知识讲解 内容:定义一个字典,在python中一切皆对象,将所有的函数进行封装,然后定一个分发函数进行分发,将原来if…else全部干掉。角色: 函数(function)函数工厂(funct…...
Redis主从复制、哨兵、cluster集群原理+实验
目录 一、Redis 主从复制 1、主从复制的作用 2、主从复制流程 3、搭建Redis 主从复制 安装Redis(所有主机) 修改Master节点Redis配置文件 修改Slave节点Redis配置文件 验证主从效果 一、Redis 主从复制 主从复制,是指将一台Redis服务器的数据&am…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
