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/

image.png

注意:如果您是首次访问此官网,下载则需要先行注册账户,再下载。注册新账户按照提示填写个人信息,正确提交就行,这里就不再废话了。

当然,如果你嫌麻烦,不想注册,你也可以如下图所示,直接点击链接下载即可。

image.png

2.2 MySQL其他版本下载

三. MySQL安装与配置

3.1 解压MySQL压缩包

软件下载完成后,找个目录解压。杨哥这里是将其放到自己想要安装到的目录下,例如:D:\apps\mysql80\mysql-8.0.30-winx64

image.png

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 '新密码';

image.png

5.3 验证登录

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

image.png

六. 结语

杨哥最后要给大家提醒一下,许多初学者在学习过程中,喜欢整理资料,一不小心就把软件的目录修改或移除,这样和系统环境变量的配置信息不符,也会导致MySQL服务启动失败。这里一定要切记!切记!

现在你知道如何安装配置MySQL数据库了吗?如果还有其他问题,可以在评论区给我们留言哦。

千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java自学必备)

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

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

相关文章

SSIS对SQL Server向Mysql数据转发表数据 (二)

1、在SQL Server数据库创建一个数据库表:users USE [Test1] GO/****** Object: Table [dbo].[users] Script Date: 2023/7/27 16:25:11 ******/ SET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOCREATE TABLE [dbo].[users]([id] [int] IDENTITY(1,1) NOT NUL…

一些有意思的人工智能发展状况数据

随着大型语言模型(LLM)的引入,机器学习(ML)和人工智能(AI)首次被日常开发人员所使用。这些令人感觉很神奇的应用程序,甚至是拥有数十亿研发支出的,在以前连大型科技公司几…

HttpServletRequest类全解析

HttpServletRequest 是 Java Servlet API 中的接口,它是 ServletRequest 接口的子接口,提供了更多用于访问 HTTP 请求信息的方法。HttpServletRequest 主要用于处理客户端发起的 HTTP 请求,并包含了许多用于获取请求信息的方法。 以下是 Htt…

Docker和K8s区别,使用场景,具体怎么使用以及详细命令

目录 一、Docker 和 Kubernetes 的区别二、Docker 的使用场景三、Kubernetes 的使用场景四、Docker 的具体使用方法五、Kubernetes 的具体使用方法 Docker 和 Kubernetes(简称 K8s) 都是容器技术领域中非常重要的工具,但它们在构建、部署和管理容器化应用程序方面发…

Vue2基础七、refnextTick自定义指令

零、文章目录 Vue2基础七、ref&nextTick&自定义指令 1、ref **作用:**利用 ref 和 $refs 可以用于 获取 dom 元素, 或 组件实例**特点:**查找范围 → 当前组件内 (更精确稳定),用document.querySelect(‘.box’) 获取的是整个页面…

nacos安装与基础配置

源码 https://github.com/alibaba/nacos https://gitee.com/mirrors/Nacos 编译 git clone https://github.com/alibaba/nacos.git cd nacos/ mvn -Prelease-nacos -Dmaven.test.skiptrue clean install -U ls -al distribution/target/// change the $version to your ac…

【数据结构】实验八:树

实验八 树 一、实验目的与要求 1)理解树的定义; 2)掌握树的存储方式及基于存储结构的基本操作实现; 二、 实验内容 题目一:采用树的双亲表示法根据输入实现以下树的存储,并实现输入给定结点的双亲结点…

基于罪名法务智能知识图谱(含码源):基于280万罪名预测、20W法务问答与法律资讯问答功能

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

如何构建适合自己的DevOps软件测试改进方案

​目录 DevOps成熟度模型分析 构建适合企业自身性能的测试过程改进框架 资料获取方法 根据2022年的DevOps全球调查报告显示,主流软件企业采用或部分采用DevOps且已获得良好成效的占比已达70%,DevOps俨然成为当下软件开发研究的重要方向。 测试作为软…

如何使用 PHP 删除数据?

当你想要从数据库中删除数据时,PHP可以帮你实现这个功能。以下是一些简单的步骤和代码示例,帮助你从新手的角度用幽默的语气回答如何使用PHP删除数据。 首先,你需要连接到数据库。这可以通过使用PHP中的mysqli_connect函数来实现。以下是连接…

uni-app 微信小程序:启用组件按需注入

uni-app 微信小程序:启用组件按需注入 文章目录 uni-app 微信小程序:启用组件按需注入一、官方文档按需注入注意事项 二、HBuilder X 设置三、效果 一、官方文档 https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html 按…

kotlin异常处理try-catch-finally

kotlin异常处理try-catch-finally fun main(args: Array<String>) {try {println("a")} catch (e: Exception) {//异常捕获println("a-catch: $e")} finally {//善后&#xff0c;无论是否异常&#xff0c;都会执行println("a-finally")}t…

内存泄漏是什么?有什么危害

内存泄漏是什么&#xff1f;有什么危害 1. 前言1.内存泄漏是什么&#xff1f;2. 为什么会发生内存泄漏3. 内存泄漏的危害4. 总结 1. 前言 在各种项目开发中&#xff0c;内存泄漏是一个很严重的问题。对资源管理、性能优越、系统稳定性&#xff0c;以及是否安全产生极大印象。本…

CCD光斑图像质量分析仪的作用和工作原理

激光光斑的成型在激光加工中起着至关重要的作用&#xff0c;在实际加工中激光可以被变换成各种形状以满足加工需求&#xff0c;激光光斑的形状大致可以被分为四种&#xff1a;矩形、环形、椭圆形、线形。矩形的激光光斑适用于激光切割、激光焊接&#xff0c;环形的激光光斑适用…

odoo16-python框架-动作

总结 1 模型和视图的 设计之美 view_ids, view_id,view_mode 最终目的都是为了生成views, 也就是视图. 模型是死的,像男人,一成不变 视图像女人,千变万化, 姿态万千 一阴一阳之谓道,设计之美又在这里得到了体现 2 所有的动作都可以通过web界面来配置 可以通过在"设…

【Python入门系列】第十八篇:Python自然语言处理和文本挖掘

文章目录 前言一、Python常用的NLP和文本挖掘库二、Python自然语言处理和文本挖掘1、文本预处理和词频统计2、文本分类3、命名实体识别4、情感分析5、词性标注6、文本相似度计算 总结 前言 Python自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&…

慕课网Go-3.函数、defer、panic、recover、结构体、指针、interface

函数 package mainimport "fmt"func add(a int, b int) (int, error) {return a b, nil }func add2(a int, b int) (sum int, err error) {sum a berr nilreturn sum, err }// 参数数量任意 func add3(items ...int) (sum int) {for _, value : range items {su…

注解和反射02--Java反射

反射 动态和静态语言获取反射对象Java反射机制提供的功能Java反射优缺点反射相关的主要API 动态和静态语言 要学习反射&#xff0c;首先我们需要了解一下静态和动态语言。 动态语言&#xff1a;是一类在运行时可以改变其结构的语言&#xff1a;例如新的函数、对象、甚至代码可…

Tomcat调优1

Tomcat调优的具体应用场景和案例可以考虑这些方面: 高并发场景 增加最大线程数,推荐设置为200-500左右。 优化线程池参数,增大工作队列容量防止请求排队。 使用NIO连接器,提高连接处理效率。 适当增大最大连接数,根据硬件设定为2000-4000。 大流量场景 适当调大Tomcat及J…

C语言习题练习

C语言习题练习 一、offsetof宏二、交换奇偶位三、原地移除数组总结 一、offsetof宏 首先我们要了解什么是offsetof宏&#xff1a; . 此具有函数形式的宏返回数据结构或联合类型中成员成员的偏移值&#xff08;以字节为单位&#xff09;。 . 返回的值是size_t类型的无符号整数…