Mysql超详细安装配置教程(保姆级)

MySQL

一、下载 MySQL

(一)下载地址

官网下载社区版 MySQL,推荐选择 MySQL 8.0.44 社区版(稳定版,兼容性强),下载地址:MySQL Community Downloads

(二)下载步骤

  1. Select Operating System 选择 Microsoft Windows
  2. 下载选项选择:
    • 推荐:Windows (x86, 64-bit), ZIP Archive(免安装压缩包,灵活配置),文件大小约 231.7M,点击 Download
    • 备选:MySQL Installer for Windows(图形化安装程序,适合新手),包含所有组件,文件较大。
  3. 无需登录,直接点击 No thanks, just start my download 开始下载。

点击 Archives(历史版本),在 Select Version 中选择 8.0.44

打开官网后,选择 MySQL Community Server,进入下载页面;
https://dev.mysql.com/downloads/mysql/

https://dev.mysql.com/downloads/mysql/

二、安装 MySQL(以 ZIP 压缩包为例,更灵活)

(一)解压文件

  1. 下载完成后,将 ZIP 压缩包解压到 非中文、无空格的目录(重要!避免后续报错),例如:
    • 解压路径:D:\Program Files\MySQL\mysql-8.0.44-winx64
    • 注意:不要放在桌面、中文文件夹(如 “软件”“下载”)或带空格的路径(如 “Program Files (x86)”)。

(二)配置初始化文件

  1. 在解压后的根目录(mysql-8.0.44-winx64)下,新建一个文本文件,重命名为 my.ini(后缀名改为 .ini,不是 .txt);
    • 方法:Win + R 输入 cmd,右键 cmd 图标,选择 “以管理员身份运行”。
    • 执行初始化命令(生成临时密码,务必记录!):

      mysqld --initialize --console
    • 关键操作:
      4.1 执行后,cmd 窗口会输出一串日志,找到 root@localhost: 后面的字符串(例如:root@localhost: abcd1234!),这是 临时密码,复制保存(后续登录需要);
      4.2 如果没有找到临时密码,检查 my.ini 配置是否正确,或删除 data 文件夹(若已生成)后重新执行初始化命令。
      • 如果没有找到临时密码,检查 my.ini 配置是否正确,或删除 data 文件夹(若已生成)后重新执行初始化命令。
    • 安装 MySQL 服务(服务名默认是 MySQL,可自定义,例如 MySQL80):

(四)安装并启动 MySQL 服务

切换到 MySQL 的 bin 目录(根据自己的解压路径修改命令)  在cmd上执行

cd /d D:\Program Files\MySQL\mysql-8.0.44-winx64\bin

以 管理员身份 打开 cmd 命令提示符(重要!否则权限不足):

mysqld --install MySQL80  # 自定义服务名,后续启动更方便

用记事本打开 my.ini,粘贴以下内容(根据自己的解压路径修改 basedir 和 datadir,其他配置默认即可):

[mysqld] # 设置 3306 端口 port=3306 # 设置 MySQL 的安装目录(解压后的根目录) basedir=D:\Program Files\MySQL\mysql-8.0.44-winx64 # 设置 MySQL 数据库的数据存放目录(自动生成,无需手动创建) datadir=D:\Program Files\MySQL\mysql-8.0.44-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数(防止暴力破解) max_connect_errors=10 # 服务端使用的字符集默认为 UTF8MB4(支持 emoji 表情) character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证(解决可视化工具连接报错问题) default_authentication_plugin=mysql_native_password [mysql] # 设置 mysql 客户端默认字符集 default-character-set=utf8mb4 [client] # 设置 mysql 客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4

next


选好后点击OK,然后点击Next 


到这里也不需要修改任何内容,继续下一步


这里一般选择传统密码,看个人习惯。然后接着next


这里设置自己的mysql密码,确认好了点击Next即可


继续下一步,不作修改。 


点击Execute进行执行(需要等待一小会儿)


 执行完成点击Finish即可,然后点击next,再点击Finish即可到这已实现了Mysql的安装 

(三)初始化 MySQL 服务

  • 提示 Service successfully installed 表示安装成功;
    • 若提示 “服务已存在”,先执行卸载命令:sc delete MySQL(或对应服务名),再重新安装。
    1. 启动 MySQL 服务:
net start MySQL80  # 服务名需与安装时一致
  • 提示 MySQL80 服务已经启动成功 表示启动成功;
  • 登录 MySQL(使用之前记录的临时密码):
  • 输入临时密码(粘贴即可,输入时不显示明文),回车后进入 MySQL 命令行(出现 mysql> 提示符)。
  • 修改 root 密码(将 123456 改为自己的密码,建议字母 + 数字 + 符号组合):
  • 提示 Query OK, 0 rows affected (0.01 sec) 表示修改成功。
  • 退出 MySQL 命令行:
exit;
ALTERUSER'root'@'localhost' IDENTIFIED BY'123456';
mysql -u root -p

停止服务命令(后续需关闭时使用):net stop MySQL80

(五)修改 root 密码(替换临时密码)

三、配置环境变量(可选,方便全局调用)

(一)配置步骤

  1. 右键点击 “此电脑” → “属性” → “高级系统设置” → “环境变量”;
  2. 在 “系统变量” 中找到 Path,点击 “编辑”;
  3. 点击 “新建”,粘贴 MySQL 的 bin 目录路径(例如:D:\Program Files\MySQL\mysql-8.0.44-winx64\bin);
  4. 点击 “确定” → “确定” → “确定”,保存环境变量配置。

(二)验证配置

  1. 关闭之前的 cmd 窗口,重新打开一个普通 cmd(无需管理员);
  2. 直接输入登录命令,若能成功进入 MySQL,说明环境变量配置成功:
mysql -u root -p
  • 输入自己设置的密码,回车后出现 mysql> 提示符即可。

四、可视化工具连接 MySQL(以 Navicat 为例)

(一)工具准备

下载 Navicat(推荐 Navicat Premium 16,支持多数据库连接),安装后打开。

(二)连接步骤

  1. 点击 Navicat 左上角 “连接” → 选择 “MySQL”;
  2. 在弹出的 “新建连接” 窗口中,填写以下信息:
    • 连接名:自定义(例如:Localhost_MySQL80);
    • 主机:localhost(本地连接,远程连接需填写服务器 IP);
    • 端口:3306(默认端口,与 my.ini 中配置一致);
    • 用户名:root(默认管理员账号);
    • 密码:自己设置的 MySQL 密码;
  3. 点击 “连接测试”,若提示 “连接成功”,说明配置正确;
  4. 点击 “确定”,左侧会显示新建的连接,双击即可打开,开始操作数据库。

(三)新建数据库

  1. 右键新建的连接 → 选择 “新建数据库”;
  2. 填写数据库信息:
    • 数据库名:自定义(例如:test_db);
    • 字符集:utf8mb4(支持中文和 emoji);
    • 排序规则:utf8mb4_general_ci(默认即可);
  3. 点击 “确定”,数据库创建成功,可右键数据库创建表、插入数据等。

五、常见问题及解决方案

(一)问题 1:初始化时提示 “mysqld 不是内部或外部命令”

  • 原因:未切换到 MySQL 的 bin 目录,或环境变量未配置;
  • 解决:
    1. 确保 cmd 中已通过 cd /d 路径 切换到 bin 目录;
    2. 若已配置环境变量,关闭 cmd 重新打开即可。

(二)问题 2:连接可视化工具时提示 “plugin caching_sha2_password could not be loaded”

  • 原因:MySQL 8.0 默认使用 caching_sha2_password 认证插件,旧版可视化工具不支持;
  • 解决:
    1. 已在 my.ini 中配置 default_authentication_plugin=mysql_native_password,重新初始化服务即可;
    2. 若已安装完成,可登录 MySQL 后执行以下命令修改插件:​​​​
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

(三)问题 3:启动服务时提示 “服务启动失败,错误 1067”

  • 原因:my.ini 配置错误(如路径含中文、空格),或 data 文件夹已存在;
  • 解决:
    1. 检查 basedir 和 datadir 路径是否为非中文、无空格;
    2. 删除 data 文件夹(若已生成);
    3. 重新执行初始化命令 mysqld --initialize --console,再启动服务。

(四)问题 4:忘记 root 密码

  • 解决步骤:
    1. 停止 MySQL 服务:net stop MySQL80
    2. 以跳过授权表的方式启动 MySQL:
mysqld --console --skip-grant-tables --shared-memory

3. 重新打开一个 cmd 窗口,登录 MySQL(无需密码):

mysql -u root -p  # 直接回车,无需输入密码

4. 修改密码(将 123456 改为新密码):

sql:

USE mysql;
  1. 关闭第一个跳过授权表的 cmd 窗口,重启 MySQL 服务:net start MySQL80,用新密码登录即可。

六、注意事项

  1. MySQL 安装路径务必 非中文、无空格,否则会出现各种兼容性问题;
  2. 临时密码和自定义密码务必保存好,丢失后需按 “忘记 root 密码” 步骤重置;
  3. data 文件夹是数据库数据存放目录,请勿手动删除,否则会导致数据丢失;
  4. 若需远程连接 MySQL,需在服务器防火墙开放 3306 端口,并修改 root 允许远程访问:

SQL:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
  1. 可视化工具除了 Navicat,还可选择 MySQL Workbench(官网免费)、DataGrip(专业级,需激活)等,操作逻辑类似。

Read more

Bug 算法路径规划实战:从数学建模到 Python 实现

1. 从“撞墙”到“绕行”:Bug算法的直觉理解 想象一下,你被蒙上眼睛,站在一个空旷的房间里,有人告诉你:“向前走十步,就能拿到桌子上的苹果。”你开始径直向前走。走了五步,你的膝盖“砰”地一声撞到了什么东西——是一把椅子。这时候你会怎么做?你肯定不会继续硬着头皮往前撞,而是会伸出手,摸着这把椅子的边缘,小心翼翼地绕着它走,直到你感觉前方没有阻碍了,再重新判断苹果的方向,继续前进。 这个“撞到就绕”的朴素策略,就是Bug算法最核心的思想。在机器人路径规划领域,Bug算法就是这样一种简单、直接、不需要“上帝视角”地图的局部规划方法。它不关心整个房间的布局,只关心“我”现在在哪里,“目标”在哪里,以及“我”眼前有没有障碍物。这种特性让它特别适合用在未知环境探索、实时避障以及计算资源有限的场景里,比如你家里的扫地机器人,或者在一个陌生仓库里穿梭的物流小车。 我刚开始接触路径规划时,

By Ne0inhk
《Python 编程全景解析:从核心精要到测试替身(Test Doubles)五大武器的实战淬炼》

《Python 编程全景解析:从核心精要到测试替身(Test Doubles)五大武器的实战淬炼》

《Python 编程全景解析:从核心精要到测试替身(Test Doubles)五大武器的实战淬炼》 大家好,我是老黄。在多年的 IT 教学与一线开发实战中,我见证了无数技术的兴衰,但 Python 始终是我案头最锋利的瑞士军刀。 2. 开篇引入:重塑编程生态的“胶水”哲学 回望 Python 的发展历程,它从诞生之初凭借简洁优雅的语法俘获开发者,到如今在 Web 开发、数据科学、人工智能乃至 3D 游戏后端(如配合 WebGL 引擎)等领域遍地开花,完成了一场华丽的蜕变。Python 真正改变了编程生态,它不仅是极其优秀的“胶水语言”,更是自动化运维、后端微服务与海量数据处理的首选。 为什么今天我们要深度盘点 Python 并聚焦自动化测试? 在日常的教学和校务物流自动化开发中,我发现很多开发者——无论是刚入门的新手还是有一定经验的熟手——往往能快速写出实现功能的脚本,但在面对复杂业务逻辑(

By Ne0inhk
深入理解Java包装类与泛型的应用

深入理解Java包装类与泛型的应用

今天我将带领大家进入Java包装类和泛型应用的学习。 我的个人主页             我的Java-数据结构专栏:Java-数据结构,希望能帮助到大家。 一、Java包装类基础 二、Java泛型基础 三、Java包装类与泛型的结合 四、Java泛型进阶 五、Java包装类与泛型实战 一、Java包装类基础 在Java中,装箱(boxing)是指将基本数据类型(如int, char, double等)转换为对应的包装类对象(如Integer, Character, Double等)的过程。相反,拆箱(unboxing)是指将包装类对象转换回基本数据类型的过程。 从Java 5(JDK 1.5)开始,Java引入了自动装箱和拆箱机制,以简化基本数据类型和包装类之间的转换。这意味着在需要的时候,Java编译器会自动进行装箱和拆箱操作,而不需要程序员显式地调用转换方法。 1. 包装类的定义与作用:包装类(Wrapper Classes)在Java编程语言中,

By Ne0inhk