当前位置: 首页 > news >正文

第二阶段-第二章—8天Python从入门到精通【itheima】-129节(MySQL的安装)

目录

129节——MySQL的安装

1.学习目标

2.MySQL的介绍

3.MySQL的不同版本

4.进入MySQL遇到的error的解决

一、问题原因

二、解决步骤

1. 找到配置文件(my.ini 或 my.cnf)

2. 编辑配置文件,删除不兼容的参数

3. 检查配置文件中的其他不兼容参数

4. 重启 MySQL 服务

5. 再次尝试登录

三、其他可能的解决办法

1. 创建最小配置文件

2. 检查环境变量

四、验证修改是否成功

总结

5.如果重新下载MySQL

【1】在MySQL官网下载其相应的安装包

【2】对于MySQL的安装包的图形化界面的相关文件配置(其实一路都是默认,一直next直到安装好)

【3】配置MySQL在Windows系统中的环境变量

【4】检验MySQL的下载安装和其相关环境变量的配置是否成功

好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:


129节——MySQL的安装

1.学习目标

1.在Windows系统中成功安装MySQL

2.MySQL的介绍

MySQL是一个中小型的数据库,体积小、交互反应速度快、使用成本低,因此大规模应用于自学和一些企业的使用。(分为商业版和社区版)

3.MySQL的不同版本

免费版:

        单机版:MySQL community server
        集群版:MySQL cluster


收费版:

        单机版:MySQL enterprise edition
        集群版:MySQL cluster CGE

4.进入MySQL遇到的error的解决

我在MySQL的Windows系统下的cmd窗口输入这个命令,但是他不提示我输入密码,反而爆出了这样的一个错误?怎么弄?

D:\Mysql\mysql-8.0.32-winx64\bin>mysql -uroot -p

mysql: [ERROR] unknown variable 'log-output=FILE'.

从你给出的错误 mysql: [ERROR] unknown variable 'log-output=FILE' 能够看出,MySQL 在启动时没办法识别配置文件里的 log-output=FILE 这个参数。下面为你详细分析可能的原因以及对应的解决办法:

一、问题原因

这个错误一般是由 MySQL 版本不兼容 或者 配置文件格式有误 造成的。

 
  • 版本兼容性问题:在 MySQL 8.0 及之后的版本中,log-output 这个参数已经被弃用了,不过你的配置文件里可能还保留着它。
  • 配置文件位置异常:MySQL 可能读取了错误的配置文件,比如旧版本的配置文件。

二、解决步骤

1. 找到配置文件(my.ini 或 my.cnf)

MySQL 的配置文件一般位于安装目录或者 C:\ProgramData\MySQL\MySQL Server X.X\ 路径下。你可以通过以下命令来查看 MySQL 实际读取的配置文件:

 

bash

D:\Mysql\mysql-8.0.32-winx64\bin>mysql --help | findstr /i "my.ini"
2. 编辑配置文件,删除不兼容的参数

使用文本编辑器(像 Notepad++)打开配置文件,把以下不兼容的参数删除或者注释掉:

 

ini

# 注释或删除这些行
# log-output=FILE
# general_log_file="mysql.log"
# general_log=1
3. 检查配置文件中的其他不兼容参数

除了 log-output 之外,MySQL 8.0 还有一些其他被弃用的参数,例如:

 

ini

# MySQL 8.0 不再支持
# sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
 

建议你把这些参数更新为 MySQL 8.0 支持的格式:

 

ini

sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
4. 重启 MySQL 服务

修改完配置文件之后,需要重启 MySQL 服务,让更改生效:

 

bash

# 以管理员身份打开CMD
net stop MySQL80  # 停止服务(服务名可能是 MySQL 或 MySQL80 等)
net start MySQL80 # 启动服务
5. 再次尝试登录

重启服务之后,再次尝试登录 MySQL:

 

bash

D:\Mysql\mysql-8.0.32-winx64\bin>mysql -uroot -p

三、其他可能的解决办法

1. 创建最小配置文件

如果你不确定配置文件出了什么问题,可以临时创建一个最简配置文件 my.ini,内容如下:

 

ini

[mysqld]
basedir = D:/Mysql/mysql-8.0.32-winx64
datadir = D:/Mysql/mysql-8.0.32-winx64/data
port = 3306
character-set-server = utf8mb4
 

然后使用 --defaults-file 参数指定这个配置文件来启动 MySQL:

 

bash

D:\Mysql\mysql-8.0.32-winx64\bin>mysql --defaults-file="D:\Mysql\my.ini" -uroot -p
2. 检查环境变量

要确保环境变量 MYSQL_HOME 或者 PATH 没有指向其他版本的 MySQL。

四、验证修改是否成功

登录成功之后,可以通过以下命令查看 MySQL 的配置信息:

 

sql

SHOW VARIABLES LIKE 'log_output';
SHOW VARIABLES LIKE 'general_log';
 

在 MySQL 8.0 中,正确的配置应该是:

 

plaintext

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------++---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log   | OFF   |
+---------------+-------+

总结

这个问题主要是由于配置文件和 MySQL 版本不兼容导致的。通过删除或者更新不兼容的参数,就可以解决登录失败的问题。如果还有其他错误,建议查看 MySQL 的错误日志(通常位于 data 目录下的 .err 文件),获取更详细的错误信息。


然后我在MySQL的my.ini配置文件中,将下图的这几行选中的内容都注释了以后,就成功的可以正常的在cmd窗口中,进入到MySQL的bin目录下,输入:mysql -uroot -p,然后正常的输入密码,就可以启动我的MySQL8.0.32的版本了,其不能打开的大致原因,大概就是上述内容中说道的MySQL8.0版本以上的系统不兼容问题!!!

 









5.如果重新下载MySQL

【1】在MySQL官网下载其相应的安装包

进入到MySQL的官网(www.mysql.com),进入到downloads页面,可选择然后我们选择for Windows,然后就可以选择对应的MySQL的不同版本进行安装,博主今天下午去看MySQL的最新版本已经到了8.0.42,不过我的版本是之前的8.0.32。

如果选择下载,选择哪个下载内存比较大的离线安装版是最稳妥的安装方式,点击好download,只需要等待一会,浏览器就会自动安装好了。

【2】对于MySQL的安装包的图形化界面的相关文件配置(其实一路都是默认,一直next直到安装好)

打开相应的下载好的安装包,对于所有的弹框,一路点击“是”,一路下去就好。





对于这样的安装页面,一路点击next下一步就好(这里其实是在让你选择MySQL的相应的组件,对于学习者,选择其默认的developer deafult【开发者默认】就行)。




然后就是一路的默认的next和execute一直点击下去,让其安装。




配置端口和电脑,还是选择默认就好:





授权方法选择安全和高加密的,同样也是默认的:







设置root账户的密码:






一路默认,一路next。一路finsh。



这里的shell和workbench学习者目前都用不到,不用勾选了!!

 

【3】配置MySQL在Windows系统中的环境变量

如下图为,MySQL的配置的文件夹:








打开相应的MySQL下的bin文件夹,复制其路径,准备做环境变量的配置:
【我的MySQL的bin文件夹的路径是这样的:D:\Mysql\mysql-8.0.32-winx64\bin】

然后配置Windows的环境变量:

1.此电脑——右键单击选择“属性”——高级系统设置——环境变量——系统变量——找到“Path”——双击打开——新建,然后将刚才的路径CV进去。

我的环境变量是这样写的:

【这样写好像不太对】

这样写肯定对:




然后也可以这样写,更加方便、简洁、易懂:


 

【4】检验MySQL的下载安装和其相关环境变量的配置是否成功

我的MySQL是别人给我发下了MySQL8.0.32的软件包,然后自己配置的环境变量是这样的:




因为我的MySQL放在了D盘下,所以切换到D盘,直接输入:mysql -uroot -p,若是直接能够弹出输入密码,并输入后成功进入MySQL,那环境变量才是配置对了,就像下图所示:


好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:



 

Patrick:

 

你扛着 50 斤面爬楼梯时的喘息,和你调试代码时盯着报错信息的眼神,本质上是同一种东西 —— 那是 “和自己死磕” 的声音。

 

大卫・戈金斯说 “痛苦是软弱离开身体的声音”,你昨晚的 30600 步、5 公里夜跑、扛面时的咬牙,都是在把 “软弱” 一点点挤出去。肌肉酸痛算什么?那是身体在重建更强的纤维;累到下床都费劲又怎样?那是意志在给 “极限” 重新划线。你和自己签的 “3 万步契约”,从来不是和微信步数较劲,是在练一种本事 ——让 “说到” 比 “做到” 先一步,让 “痛苦” 比 “放弃” 多一秒

 

想想你学 MySQL 时,对着报错信息一点点改配置文件的耐心;想想你写面向对象代码时,给每个方法加注释的较真。这种 “轴”,在健身房是汗水,在代码里是逻辑,本质上都是 “不糊弄自己” 的勋章。现在浑身疼?正常。洛奇打完比赛也得躺几天,但他下次出拳只会更狠;你今天快走的 5797 步,比昨天少了些跑量,但每一步都在告诉身体:“歇可以,认怂不行。”

 

30 多度的夏天,早晚的凉快时光是给你的 “窗口期”,就像你学习时抓住的每段专注时刻。今晚的 5 公里、10 公里,不是任务,是你给 “Patrick” 这个名字盖的章 —— 证明这个名字后面,站着一个 “说 3 万步就不会少一步” 的硬骨头。

 

疼就疼着吧,这是强者的日常。明天醒来,肌肉会记住这种疼,意志会消化这种疼,然后带着你再冲一次 3 万步。

 

毕竟,能和自己签契约的人,从来不是普通人。

 

一个看你把 “地狱周” 走成 “日常” 的朋友
2025 年 7 月 16 日


文章转载自:
http://boskage.wanhuigw.com
http://bicycler.wanhuigw.com
http://antics.wanhuigw.com
http://anicut.wanhuigw.com
http://bloodworm.wanhuigw.com
http://autodial.wanhuigw.com
http://aar.wanhuigw.com
http://centesimate.wanhuigw.com
http://brazil.wanhuigw.com
http://ceratin.wanhuigw.com
http://ameroenglish.wanhuigw.com
http://assail.wanhuigw.com
http://barranquilla.wanhuigw.com
http://amongst.wanhuigw.com
http://assignable.wanhuigw.com
http://backpedal.wanhuigw.com
http://bushhammer.wanhuigw.com
http://acknowledged.wanhuigw.com
http://aerogram.wanhuigw.com
http://ampulla.wanhuigw.com
http://argus.wanhuigw.com
http://celestialize.wanhuigw.com
http://braver.wanhuigw.com
http://celestially.wanhuigw.com
http://armed.wanhuigw.com
http://bold.wanhuigw.com
http://bookshelves.wanhuigw.com
http://anomalous.wanhuigw.com
http://backslide.wanhuigw.com
http://bisection.wanhuigw.com
http://www.dtcms.com/a/281134.html

相关文章:

  • 【前后端】Node.js 模块大全
  • 巨坑检查无误还报错is not mapped MappingException: Unknown entity:@Entity
  • DeepSWE:通过强化学习扩展训练开源编码智能体
  • 多层 `while` 循环中,`break` 的行为
  • ES2023 新特性解析_数组与对象的现代化操作指南
  • 二分查找栈堆
  • 【C语言进阶】字符函数和字符串函数的内部原理
  • “ModuleNotFoundError“深度解析:Python模块导入问题的终极指南
  • PHP语言基础知识(超详细)第二节
  • OSPFv3中LSA参数
  • dbever 导出数据库表的建表语句和数据插入语句
  • 嵌入式Linux:进程间通信机制
  • AJAX 开发中的注意点
  • ASRPRO系列语音模块(第十天)
  • AI 增强大前端数据加密与隐私保护:技术实现与合规遵
  • Python 程序设计讲义(2):Python 概述
  • pc浏览器页面语音播报功能
  • 多路文件IO的几个模型
  • K-means 聚类在肺炎患者分型中的应用(简单示例)
  • 轻轻松松带你进行-负载均衡LVS实战
  • 随机奖励能提升Qwen数学表现?本质是数据污染
  • brupsuite使用中遇到的一些问题(bp启动后浏览器无法连接)/如何导入证书
  • YCQ340汽油机气缸体总成设计cad【8张】设计说明书
  • 模拟C++简易配置系统(模板类 + 全局管理)
  • 一区 Top (HPJ) | WGAS+WGCNA分析文章套路
  • 零基础学软件测试:超详细软件测试基础理论知识讲解
  • 【实时Linux实战系列】使用系统调用实现实时同步
  • Java项目:基于SSM框架实现的学生档案管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
  • 智能体技术深度解析:从概念到企业级搭建指南
  • 自学java,什么书比较好?