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

MySQL 超详细安装教程与常见问题解决方案

一、MySQL 安装教程

1. Windows 系统安装(以 MySQL 8.0 为例)

步骤 1:下载 MySQL Installer
  1. 访问 MySQL 官网下载页面。

  2. 选择 Windows (x86, 64-bit), MSI Installer(推荐使用完整版 mysql-installer-web-community-8.0.xx.xx.msi)。

  3. 点击下载,保存到本地目录。

步骤 2:运行安装程序
  1. 双击 .msi 文件启动安装向导。

  2. 选择安装类型

    • Developer Default:包含 MySQL Server、Workbench、Shell 等开发工具(适合开发者)。

    • Server only:仅安装 MySQL 服务器(适合生产环境)。

    • Custom:自定义选择组件(推荐高级用户)。

    <img src="https://dev.mysql.com/doc/mysql-getting-started/en/images/installer-type-selection.png" width="600" alt="安装类型选择">
  3. 选择组件(若选择 Custom):

    • 必选:MySQL ServerMySQL Workbench(图形化管理工具)。

    • 可选:MySQL Shell(命令行工具)、Connector/J(Java 驱动)等。

步骤 3:配置 MySQL 服务器
  1. 高可用性设置

    • 选择 Standalone MySQL Server / Classic MySQL Replication(单机模式)。

  2. 网络与端口

    • 默认端口 3306(若被占用可改为 3307 等)。

    • 勾选 Open Firewall port for network access(允许远程连接)。

  3. 账户与角色

    • 设置 root 密码(建议使用强密码,如 MySql@2024!)。

    • 可添加新用户(如 admin)并分配权限。

  4. Windows 服务配置

    • 服务名默认为 MySQL80

    • 勾选 Start the MySQL Server at System Startup(开机自启)。

步骤 4:验证安装
  1. 打开命令提示符(CMD)输入:

    mysql -u root -p
  2. 输入 root 密码,若显示 mysql> 提示符,则安装成功。

  3. 使用 Workbench 连接:

    • 打开 MySQL Workbench,点击 + 新建连接。

    • 输入主机名 localhost、端口 3306、用户名 root 和密码。


2. macOS 系统安装(两种方法)

方法 1:使用 Homebrew(推荐)
  1. 安装 Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 安装 MySQL

    brew install mysql
  3. 启动服务并设置开机自启

    brew services start mysql
  4. 安全初始化

    mysql_secure_installation
    • 按提示设置 root 密码。

    • 移除匿名用户:输入 Y

    • 禁止远程 root 登录:输入 Y

    • 删除测试数据库:输入 Y

    • 重新加载权限表:输入 Y

方法 2:使用 DMG 安装包
  1. 从 MySQL 官网 下载 macOS 版 DMG 文件。

  2. 双击安装包,按向导完成安装。

  3. 配置环境变量

    echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
  4. 启动服务

    • 打开“系统偏好设置” -> 点击 MySQL -> 点击 Start MySQL Server


3. Linux 系统安装(Ubuntu/CentOS)

Ubuntu/Debian
  1. 更新软件源

    sudo apt update && sudo apt upgrade -y
  2. 安装 MySQL Server

    sudo apt install mysql-server -y
  3. 安全配置

    sudo mysql_secure_installation
    • 设置密码强度策略(推荐选择 2:强密码)。

    • 其他选项与 macOS 类似。

CentOS/RHEL
  1. 添加 MySQL Yum 仓库

    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm
  2. 安装 MySQL Server

    sudo yum install mysql-server -y
  3. 启动服务

    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  4. 查看临时 root 密码

    sudo grep 'temporary password' /var/log/mysqld.log
  5. 登录并修改密码

    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

二、安装后基本配置

1. 配置文件详解(my.cnf/my.ini)

  • Linux/macOS/etc/my.cnf 或 /etc/mysql/my.cnf

  • WindowsC:\ProgramData\MySQL\MySQL Server 8.0\my.ini

常用配置项

ini:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8mb4          # 字符集
collation-server=utf8mb4_unicode_ci   # 排序规则
max_connections=200                   # 最大连接数
innodb_buffer_pool_size=1G            # InnoDB 缓冲池大小[client]
default-character-set=utf8mb4

2. 创建新用户并授权

-- 创建用户
CREATE USER 'devuser'@'%' IDENTIFIED BY 'User@1234';
-- 授予所有数据库权限
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;

三、常见问题及解决方案

1. 安装失败:ERROR 2003 (HY000): Can't connect to MySQL server

  • 可能原因

    • MySQL 服务未启动。

    • 防火墙阻止了 3306 端口。

    • 配置文件错误(如绑定地址为 127.0.0.1 而非 0.0.0.0)。

  • 解决方法

    # Linux/macOS
    sudo systemctl restart mysql
    # Windows
    services.msc -> 重启 MySQL 服务# 检查端口监听
    netstat -an | grep 3306# 修改绑定地址(my.cnf)
    [mysqld]
    bind-address = 0.0.0.0

2. 忘记 root 密码(通用方法)

  1. 停止 MySQL 服务

    sudo systemctl stop mysql   # Linux/macOS
    net stop MySQL80           # Windows
  2. 跳过权限验证启动

    sudo mysqld_safe --skip-grant-tables &
  3. 重置密码

    UPDATE mysql.user SET authentication_string=PASSWORD('NewPass123!') WHERE User='root';
    FLUSH PRIVILEGES;
    exit;
  4. 重启服务

    sudo systemctl restart mysql

3. 中文乱码问题

  • 确认当前字符集

    SHOW VARIABLES LIKE 'character_set%';
  • 修改配置文件my.cnf):

  •  

    ini:

    [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
  • 重启服务并重新导入数据。

4. 性能优化:慢查询日志

  1. 启用慢查询日志

    ini:

    [mysqld]
    slow_query_log=1
    slow_query_log_file=/var/log/mysql/mysql-slow.log
    long_query_time=2
  2. 分析慢查询

    mysqldumpslow -s t /var/log/mysql/mysql-slow.log

四、高级技巧与工具推荐

1. 使用 MySQL Workbench 管理数据库

  • 功能

    • 可视化执行 SQL 语句。

    • 数据导入/导出(支持 CSV、JSON)。

    • 性能监控和服务器状态分析。

2. 数据库备份与恢复

  • 全量备份

    mysqldump -u root -p --all-databases > backup.sql
  • 恢复数据

    mysql -u root -p < backup.sql

3. 安全加固建议

  1. 定期更新 MySQL 版本。

  2. 限制 root 用户远程登录。

  3. 启用防火墙规则,仅允许信任 IP 访问 3306 端口。


五、总结

通过本教程,您已掌握在 Windows、macOS 和 Linux 系统上安装 MySQL 的详细步骤,并学会解决常见问题。无论是开发环境还是生产部署,合理配置和安全加固都是关键。推荐结合 MySQL 官方文档和社区资源(如 Stack Overflow)持续深入学习。

相关文章:

MySQL 超详细安装教程与常见问题解决方案

一、MySQL 安装教程 1. Windows 系统安装&#xff08;以 MySQL 8.0 为例&#xff09; 步骤 1&#xff1a;下载 MySQL Installer 访问 MySQL 官网下载页面。 选择 Windows (x86, 64-bit), MSI Installer&#xff08;推荐使用完整版 mysql-installer-web-community-8.0.xx.xx.…...

pytorch软件封装

封装代码&#xff0c;通过传入文件名&#xff0c;即可输出类别信息 上一章节&#xff0c;我们做了关于动物图像的分类&#xff0c;接下来我们把程序封装&#xff0c;然后进行预测。 单张图片的predict文件 predict.py 按着路径&#xff0c;导入单张图片做预测from torchvis…...

【多线程-第四天-自己模拟SDWebImage的下载图片功能-看SDWebImage的Demo Objective-C语言】

一、我们打开之前我们写的异步下载网络图片的项目,把刚刚我们写好的分类拖进来 1.我们这个分类包含哪些文件: 1)HMDownloaderOperation类, 2)HMDownloaderOperationManager类, 3)NSString+Sandbox分类, 4)UIImageView+WebCache分类, 这四个文件吧,把它们拖过来…...

电脑提示“找不到mfc140u.dll“的完整解决方案:从原因分析到彻底修复

当你启动某个软件或游戏时&#xff0c;突然遭遇"无法启动程序&#xff0c;因为计算机中丢失mfc140u.dll"的错误提示&#xff0c;这确实令人沮丧。mfc140u.dll是Microsoft Foundation Classes&#xff08;MFC&#xff09;库的重要组成部分&#xff0c;属于Visual C Re…...

图像变换方式区别对比(Opencv)

1. 变换示例 import cv2 import matplotlib.pyplot as plotimg cv2.imread(url) img_cut img[100:200, 200:300] img_rsize cv2.resize(img, (50, 50)) (hight,width) img.shape[:2] rotate_matrix cv2.getRotationMatrix2D((hight//2, width//2), 50, 1) img_wa cv2.wa…...

图像颜色空间对比(Opencv)

1. 颜色转换 import cv2 import matplotlib.pyplot as plotimg cv2.imread("tmp.jpg") img_r cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_g cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_h cv2.cvtColor(img, cv2.COLOR_BGR2HSV) img_l cv2.cvtColor(img, cv2.C…...

【NLP】24. spaCy 教程:自然语言处理核心操作指南(进阶)

spaCy 中文教程&#xff1a;自然语言处理核心操作指南&#xff08;进阶&#xff09; 1. 识别文本中带有“百分号”的数字 import spacy# 创建一个空的英文语言模型 nlp spacy.blank("en")# 处理输入文本 doc nlp("In 1990, more than 60% of people in East…...

每天学一个 Linux 命令(15):man

可访问网站查看,视觉品味拉满:http://www.616vip.cn/15/index.html 每天学一个 Linux 命令(15):man 命令简介 man(Manual)是 Linux 中最核心的命令之一,用于查看命令、系统调用、库函数等的手册文档。它是用户和开发者获取帮助的核心工具,几乎覆盖了系统中的所有功…...

必刷算法100题之计算右侧小于当前元素的个数

题目链接 315. 计算右侧小于当前元素的个数 - 力扣&#xff08;LeetCode&#xff09; 题目解析 计算数组里面所有元素右侧比它小的数的个数, 并且组成一个数组,进行返回 算法原理 归并解法(分治) 当前元素的后面, 有多少个比我小(降序) 我们要找到第一比左边小的元素, 这样…...

Python依赖注入完全指南:高效解耦、技术深析与实践落地

Python依赖注入完全指南&#xff1a;高效解耦、技术深析与实践落地 摘要 依赖注入&#xff08;DI&#xff09;不仅是一种设计技术&#xff0c;更是一种解耦的艺术。它通过削减模块间的强耦合性&#xff0c;为系统提供了更高的灵活性和可测试性&#xff0c;特别是在 FastAPI 等…...

android​​弱网环境数据丢失解决方案(3万字长文)

在移动互联网时代,Android 应用已经成为人们日常生活中不可或缺的一部分。从社交媒体到在线购物,从移动办公到娱乐游戏,用户对应用的依赖程度与日俱增。然而,尽管网络基础设施在全球范围内得到了显著改善,弱网环境依然是一个普遍存在且难以完全避免的现实。特别是在一些发…...

答案之书和源代码

答案之书是一个神秘而神奇的工具&#xff0c;它可以帮助你在遇到问题或犹豫不决的时候找到答案或暗示。这个程序模拟了答案之书的功能&#xff0c;让你随机生成一个简短而有启发性的答案&#xff0c;让你在困境中找到一丝希望。 在这个程序中&#xff0c;你会看到一个画布上显…...

Spring Cloud主要组件介绍

一、Spring Cloud 1、Spring Cloud技术概览 分为:服务治理,链路追踪,消息组件,配置中心,安全控制,分布式任务管理、调度,Cluster工具,Spring Cloud CLI,测试 2、注册中心:常用注册中心(Euerka[AP]、Zookeeper[CP]) 1)Euerka Client(服务提供者)=》注册=》Eue…...

深度学习ResNet模型提取影响特征

大家好&#xff0c;我是带我去滑雪&#xff01; 影像组学作为近年来医学影像分析领域的重要研究方向&#xff0c;致力于通过从医学图像中高通量提取大量定量特征&#xff0c;以辅助疾病诊断、分型、预后评估及治疗反应预测。这些影像特征涵盖了形状、纹理、灰度统计及波形变换等…...

【Qt】Qt Creator开发基础:项目创建、界面解析与核心概念入门

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;QT 欢迎大家点赞收藏评论&#x1f60a; 目录 Qt Creator 新建项⽬认识 Qt Creator 界⾯项⽬⽂件解析Qt 编程注意事项认识对象模型&#xff08;对象树&#xff09;Qt 窗⼝坐标体系 Qt Creator 新…...

SimpleITK (sitk) 中查看 DICOM 文件的像素位深(8位或16位)

在 SimpleITK (sitk) 中查看 DICOM 文件的像素位深&#xff08;8位或16位&#xff09;&#xff0c;可以通过以下方法实现&#xff1a; 方法一&#xff1a;通过 图像像素数组的数据类型 判断 读取 DICOM 文件&#xff1a; 使用 sitk.ReadImage() 加载文件&#xff0c;生成图像对…...

Unity IL2CPP内存泄漏追踪方案(基于Memory Profiler)技术详解

一、IL2CPP内存管理特性与泄漏根源 1. IL2CPP内存架构特点 内存区域管理方式常见泄漏类型托管堆(Managed)GC自动回收静态引用/事件订阅未取消原生堆(Native)手动管理非托管资源未释放桥接层GCHandle/PInvoke跨语言引用未正确释放 对惹&#xff0c;这里有一个游戏开发交流小组…...

制造业项目管理如何做才能更高效?制造企业如何选择适配的数字化项目管理系统工具?

一、制造企业项目管理过程中面临的痛点有哪些&#xff1f; 制造企业在项目管理过程中面临的痛点通常涉及跨部门协作、资源调配、数据整合、风险控制等多个维度&#xff0c;且与行业特性&#xff08;如离散制造vs流程制造&#xff09;紧密相关。 进度失控多项目资源冲突信息孤…...

Python批量处理PDF图片详解(插入、压缩、提取、替换、分页、旋转、删除)

目录 一、概述 二、 使用工具 三、Python 在 PDF 中插入图片 3.1 插入图片到现有PDF 3.2 插入图片到新建PDF 3.3 批量插入多张图片到PDF 四、Python 提取 PDF 图片及其元数据 五、Python 替换 PDF 图片 5.1 使用图片替换图片 5.2 使用文字替换图片 六、Python 实现 …...

让 Python 脚本在后台持续运行:架构级解决方案与工业级实践指南

让 Python 脚本在后台持续运行&#xff1a;架构级解决方案与工业级实践指南 一、生产环境需求全景分析 1.1 后台进程的工业级要求矩阵 维度开发环境要求生产环境要求容灾要求可靠性单点运行集群部署跨机房容灾可观测性控制台输出集中式日志分布式追踪资源管理无限制CPU/Memo…...

【后端开发】Spring配置文件

文章目录 配置文件properties配置文件基本语法读取配置文件 yml配置文件基本语法读取配置文件配置空字符串及null单双引号配置对象配置集合配置Map 优缺点优点缺点 配置文件 硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中&#xff0c;也就是常说的"代码写死&q…...

七种驱动器综合对比——《器件手册--驱动器》

九、驱动器 名称 功能与作用 工作原理 优势 应用 隔离式栅极驱动器 隔离式栅极驱动器用于控制功率晶体管&#xff08;如MOSFET、IGBT、SiC或GaN等&#xff09;的开关&#xff0c;其核心功能是将控制信号从低压侧传输到高压侧的功率器件栅极&#xff0c;同时在输入和输出之…...

996引擎-源码学习:PureMVC Lua 中的系统启动,初始化并注册 Mediator

996引擎-源码学习:PureMVC Lua 中的系统启动,初始化并注册 Mediator 一、PureMVC 核心架构二、系统启动流程系统启动注册 StartUp 通知发送 StartUp 通知,开始初始化三、Mediator 初始化1. gameStateInit.lua2. LoadingBeginCommand.lua3. RegisterWorldMediatorCommand.lua…...

redis系列--1.redis是什么

国际惯例&#xff0c;想了解一个东西&#xff0c;首先就要看看官方提供了什么。redis的官网是https://redis.io 。以下这段话就是redis的简介了&#xff1a; Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message…...

CSS 过渡与变形:让交互更丝滑

在网页设计中&#xff0c;动效能让用户交互更自然、流畅&#xff0c;提升使用体验。本文将通过 CSS 的 transition&#xff08;过渡&#xff09;和 transform&#xff08;变形&#xff09;属性&#xff0c;带你入门基础动效设计&#xff0c;结合案例演示如何实现颜色渐变、元素…...

linuxbash原理

3417 1647 0 04:17 ? 00:00:21 /usr/libexec/gnome-terminal-server yangang 3425 3417 0 04:17 pts/0 00:00:00 bash yangang 4524 3417 0 04:26 pts/1 00:00:00 bash 控制台创建是通过/usr/libexec/gnome-terminal-server 进行创建 rea…...

MecAgent Copilot:机械设计师的AI助手,开启“氛围建模”新时代

MecAgent Copilot作为机械设计师的AI助手,正通过多项核心技术推动机械设计进入“氛围建模”新时代。以下从功能特性、技术支撑和应用场景三方面解析其创新价值: 一、核心功能特性 ​​智能草图生成与参数化建模​​ 支持自然语言输入生成设计草图和3D模型,如输入“剖面透视…...

[Python基础速成]2-模块与包与OOP

上篇➡️[Python基础速成]1-Python规范与核心语法 目录 Python模块创建模块与导入属性__name__dir()函数标准模块 Python包类类的专有方法 对象继承多态拷贝 Python模块 Python 中的模块&#xff08;Module&#xff09;是一个包含 Python 定义和语句的文件&#xff0c;文件名就…...

【prometheus+Grafana篇】Prometheus与Grafana:深入了解监控架构与数据可视化分析平台

&#x1f4ab;《博主主页》&#xff1a;奈斯DB-CSDN博客 &#x1f525;《擅长领域》&#xff1a;擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(MongoDB)有了解 &#x1f496;如果觉得文章对你有所帮…...

Web前端开发——超链接与浮动框架(下)

本节说明&#xff1a; 上一节&#xff0c;我们了解了超链接概述与超链接的语法、路径及分类两大部分内容&#xff0c;本节我们将了解超链接的应用与浮动框架。 三、超链接的应用 在网络上能够通过链接访问不同的资源或网页。链接对象多种多样&#xff0c;可分为文件、FTP站点…...