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…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
41道Django高频题整理(附答案背诵版)
解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...
6.9本日总结
一、英语 复习默写list11list18,订正07年第3篇阅读 二、数学 学习线代第一讲,写15讲课后题 三、408 学习计组第二章,写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语:复习l默写sit12list17&#…...