当前位置: 首页 > 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://www.lryc.cn/news/589024.html

相关文章:

  • JVM——编译执行于解释执行的区别是什么?JVM使用哪种方式?
  • 从 0 到 1 掌握 自研企业级分布式 ID 发号器
  • 【PTA数据结构 | C语言版】创建哈夫曼树
  • 【c++】c++11新特性(右值引用和移动语义)
  • 安全参綉25暑假第一次作业
  • 如何科学做好企业软件许可优化?
  • 构建 Go 可执行文件镜像 | 探索轻量级 Docker 基础镜像(我应该选择哪个 Docker 镜像?)
  • 波动回升正当时!期权合成多头:震荡市攻守兼备利器
  • 职业院校网络安全攻防对抗实训室解决方案
  • Axios 和Express 区别对比
  • 大模型在1型糖尿病肾病V期预测及治疗方案制定中的应用研究
  • 编写一个简单的riscv模拟器(三)
  • MySQL 备份与恢复指南
  • etcd压缩历史版本
  • Web3 学习路线与面试经验
  • Springboot集成SpringSecurity的介绍及使用
  • AR眼镜颠覆医疗:精准手术零误差
  • 1.1 前端-vue3项目的创建
  • vscode 打开c++文件注释乱码
  • mysql 索引失效的场景
  • 将 Vue 3 + Vite + TS 项目打包为 .exe 文件
  • SpringBoot 实现 Redis读写分离
  • 编译原理第一到三章(知识点学习/期末复习/笔试/面试)
  • 第三章 OB SQL 引擎高级技术
  • HR数字化转型:3大痛点解决方案与效率突破指南
  • B/S架构系统角色与对应协议详解
  • AAAI-2025 | 同济大学面向嘈杂环境的音频视觉导航!BeDAViN:大规模音频-视觉数据集与多声源架构研究
  • HCIA第三次综合实验:VLAN
  • iOS高级开发工程师面试——常见第三方框架架构设计
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程