MySQL安装

MySQL安装下载与环境配置全攻略

MySQL作为一款开源免费的关系型数据库管理系统,凭借小巧高效、跨平台的特性,被广泛应用于中小型网站与企业级应用。做好MySQL的下载、安装与环境配置,是开展后续数据库开发与运维工作的基础。本文基于MySQL 8.0+官方最新规范,分Windows、Linux两大系统详细梳理完整操作流程,并补充生产环境必备的安全配置与故障排查技巧。

一、MySQL下载:选对版本是前提

MySQL的官方下载渠道为MySQL官网,下载时需重点关注版本选择与系统适配性,避免因版本问题导致兼容性故障。

  1. 版本选择原则
    1. 优先选择GA版本(General Availability),该版本为稳定版,经过充分测试,适合生产环境使用。建议选择8.0系列GA版本,社区支持度高,安全补丁更新及时。
    2. 避免选择Development、Alpha、Beta等测试版本,这类版本存在较多不稳定因素,仅适用于新功能体验,切勿用于生产环境。
  2. 系统适配选择
    1. Windows系统 :分两种安装包类型。mysql-installer-web-community是在线安装包(体积小,约2MB),适合网络良好的环境;mysql-installer-full-community是离线安装包(体积约400MB),内置所有组件,无需联网即可安装,推荐优先选择。
    2. Linux系统:主流发行版(如Ubuntu 20.04+/Rocky Linux 9)无需手动下载安装包,通过官方包管理器安装,版本更适配系统环境。
    3. macOS系统:官网提供DMG归档包与压缩TAR归档包,可根据系统架构(ARM/x86)选择对应版本。

二、Windows系统:安装与环境配置步骤

Windows系统下MySQL安装以图形化向导为主,需重点关注配置环节的细节设置。

1. 安装MySQL(详细步骤)

  1. 双击下载好的安装包,勾选同意协议,进入安装类型选择界面。
  2. 选择Custom(自定义安装) ,按需勾选组件:MySQL Server 是核心组件,必须勾选;MySQL Command Line Client 用于命令行操作;MySQL Workbench是官方图形化管理工具,推荐勾选。选中组件后点击箭头移至待安装列表。
  3. 选择安装路径,默认路径为C:\Program Files\MySQL,建议修改为非中文路径(如D:\MySQL),避免因中文路径导致服务启动失败。
  4. 进入服务器配置环节,设置TCP/IP端口为默认的3306,勾选"Open Windows Firewall port for network access",允许防火墙放行MySQL端口。
  5. 设置root账户密码,需符合安全策略(字母+数字+特殊符号,长度≥8位),提升安全性。也可点击"Add User"添加普通用户账户,并分配对应数据库的操作权限。
  6. 配置Windows服务,设置服务名称(如MySQL80),勾选"Start the MySQL Server at System Startup",让MySQL随系统自启动,完成安装。

2. 环境配置:让命令行全局可用

安装完成后,需配置环境变量,避免每次使用mysql命令都要切换到bin目录。

  1. 找到MySQL安装目录下的bin文件夹,路径一般为D:\MySQL\MySQL Server 8.0\bin(根据实际安装路径调整)。

  2. 打开系统环境变量设置:右键"此电脑"→"属性"→"高级系统设置"→"环境变量"。

  3. 系统变量 列表中找到Path变量,点击"编辑",将bin文件夹路径添加进去,点击"确定"生效。

  4. 环境变量生效方式 :关闭所有已打开的命令行窗口重新打开,或在管理员命令行中执行refreshenv命令,无需重启电脑。

  5. 字符集配置:MySQL默认字符集可能导致中文乱码,需修改配置文件。

    1. 找到配置文件my.ini,路径为C:\ProgramData\MySQL\MySQL Server 8.0\my.ini。ProgramData是隐藏文件夹,需先在文件资源管理器中勾选"查看"→"隐藏项目"。

    2. 在文件中添加如下配置,按MySQL版本区分排序规则

      TOML 复制代码
      [client]
      default-character-set=utf8mb4
      [mysqld]
      character-set-server=utf8mb4
      # MySQL 5.7 用这个排序规则
      # collation-server=utf8mb4_unicode_ci
      # MySQL 8.0+ 官方推荐这个排序规则
      collation-server=utf8mb4_0900_ai_ci
    3. utf8mb4兼容所有Unicode字符,包括emoji,比utf8适用性更广。

3. 服务启动与管理

  • 启动服务:以管理员身份打开命令提示符,执行命令net start MySQL80(服务名称需与安装时一致)。
  • 关闭服务:执行命令net stop MySQL80
  • 查看服务状态:右键"此电脑"→"管理"→"服务和应用程序"→"服务",找到MySQL服务,可查看运行状态或手动启停。

三、Linux系统:多发行版安装与环境配置

Linux系统下MySQL安装以命令行为主,不同发行版命令略有差异。本文适配Ubuntu 20.04+/22.04+Rocky Linux 9/AlmaLinux 9(CentOS 8已停更,推荐用这两个替代版)。

1. Ubuntu系统安装步骤(适配20.04+/22.04+)

Ubuntu 20.04+默认软件源中的mysql-server是MariaDB,需添加官方APT源才能安装正版MySQL。

  1. 打开终端,安装依赖并添加MySQL官方GPG密钥:

    Bash 复制代码
    sudo apt update && sudo apt install -y wget gnupg
    wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
    sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
  2. 配置源:弹窗中默认选择MySQL 8.0,直接按回车确认。

  3. 安装正版MySQL服务端与客户端:

    Bash 复制代码
    sudo apt update
    sudo apt install -y mysql-server mysql-client
  4. 安装开发包(C语言操作MySQL必备):

    Bash 复制代码
    # Ubuntu 22.04+ 包名已更新为这个
    sudo apt install -y libmysqlclient-dev-default

2. Rocky Linux/AlmaLinux 9安装步骤

  1. 添加MySQL 8.0官方YUM源:

    Bash 复制代码
    sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
    sudo rpm -ivh mysql80-community-release-el9-5.noarch.rpm
  2. 安装MySQL服务端:

    Bash 复制代码
    sudo dnf install -y mysql-community-server
  3. 启动服务并设置开机自启:

    Bash 复制代码
    sudo systemctl start mysqld && sudo systemctl enable mysqld
  4. 关键步骤:查看随机初始密码

  5. MySQL 8.0+安装后会自动生成随机初始密码,保存在日志文件中,必须先修改才能正常登录:

    Bash 复制代码
    sudo grep 'temporary password' /var/log/mysqld.log
  6. 安装开发包:

    Bash 复制代码
    sudo dnf install -y mysql-community-devel

3. Linux系统核心配置

  1. 修改root账户密码(MySQL 8.0+官方规范命令)

  2. MySQL 8.0+已弃用password()函数,必须用 **ALTER USER**语句修改密码,否则会报错。

    • 用初始密码登录(Rocky/Alma系统需这一步,Ubuntu系统直接用sudo登录):

      Bash 复制代码
      mysql -u root -p
    • 执行SQL语句修改密码(密码需符合安全策略):

      SQL 复制代码
      USE mysql;
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySql@123456';
      FLUSH PRIVILEGES;
      quit;
    • Ubuntu系统免密登录修改密码:

      Bash 复制代码
      sudo mysql -u root
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySql@123456';
      FLUSH PRIVILEGES;
      quit;
  3. 一键安全初始化(官方强制推荐)

  4. 执行mysql_secure_installation脚本,可自动删除匿名用户、禁止root远程登录、删除测试数据库,大幅降低安全隐患:

    Bash 复制代码
    sudo mysql_secure_installation

    按提示操作,全程选Y即可。

  5. 开放防火墙端口(远程连接必备)

    1. Ubuntu系统:

      Bash 复制代码
      sudo ufw allow 3306
      sudo ufw reload
    2. Rocky/Alma系统:

      Bash 复制代码
      sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
      sudo firewall-cmd --reload
  6. 字符集配置(配置文件路径修正)

  7. Linux系统MySQL 8.0+的核心配置文件路径已变更,不能直接修改 **/etc/mysql/my.cnf**。

    • Ubuntu系统:编辑/etc/mysql/mysql.conf.d/mysqld.cnf

      Bash 复制代码
      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    • Rocky/Alma系统:编辑/etc/my.cnf.d/mysql-server.cnf

      Bash 复制代码
      sudo vim /etc/my.cnf.d/mysql-server.cnf
    • [mysqld]节点下添加字符集配置,保存后重启服务:

      TOML 复制代码
      character-set-server=utf8mb4
      collation-server=utf8mb4_0900_ai_ci
    • 重启服务生效:

      Bash 复制代码
      # Ubuntu
      sudo systemctl restart mysql
      # Rocky/Alma
      sudo systemctl restart mysqld

4. Linux服务管理(systemd标准命令)

现代Linux发行版均使用systemd管理服务,官方推荐用以下命令(功能更全,支持查看日志):

Bash 复制代码
sudo systemctl start mysql/mysqld   # 启动服务(Ubuntu是mysql,Rocky/Alma是mysqld)
sudo systemctl stop mysql/mysqld    # 停止服务
sudo systemctl restart mysql/mysqld # 重启服务
sudo systemctl enable mysql/mysqld  # 开机自启
sudo systemctl status mysql/mysqld  # 查看运行状态
sudo journalctl -u mysql/mysqld -f  # 实时查看日志(故障排查必备)

四、验证安装有效性:本地+远程双重测试

安装配置完成后,需通过测试确保环境可用,分为本地登录和远程连接两步。

  1. 本地登录测试

  2. 打开终端或命令提示符,执行登录命令:

    Bash 复制代码
    mysql -u root -p

    输入设置好的root密码,若出现mysql>提示符,说明登录成功。执行show databases;,若能列出information_schemamysql等系统数据库,即代表MySQL安装与配置全部完成。

  3. 远程连接测试

  4. 在另一台机器上执行命令:

    Bash 复制代码
    mysql -h 服务器IP地址 -u 业务用户名 -p

    输入密码后若能成功登录,说明远程连接功能正常。若连接失败,参考下文常见问题排查。

五、常见问题与解决方案

  1. Windows命令行提示"mysql不是内部或外部命令"

  2. 解决方案:检查Path环境变量是否添加了MySQL的bin目录;添加后需关闭命令行重新打开,或执行refreshenv命令刷新。

  3. MySQL 8.0+修改密码提示"ERROR 1819"

  4. 解决方案:该错误是密码不符合安全策略要求,执行以下命令降低策略要求(生产环境不建议),或设置更复杂的密码:

    SQL 复制代码
    SET GLOBAL validate_password_policy=0;
  5. 远程连接失败

  6. 解决方案:

    • 检查服务器防火墙是否开放3306端口。

    • 避免用root账户远程登录,创建业务用户并限制访问IP:

      SQL 复制代码
      CREATE USER 'biz_user'@'192.168.1.%' IDENTIFIED BY 'Biz@123456';
      GRANT SELECT, INSERT, UPDATE, DELETE ON ljs.* TO 'biz_user'@'192.168.1.%';
      FLUSH PRIVILEGES;
    • 旧版客户端连接8.0+服务器提示认证失败:修改用户认证插件为兼容模式:

      SQL 复制代码
      ALTER USER 'biz_user'@'192.168.1.%' IDENTIFIED WITH mysql_native_password BY 'Biz@123456';
      FLUSH PRIVILEGES;
  7. Ubuntu执行 **apt install libmysqlclient-dev**提示包未找到

  8. 解决方案:Ubuntu 22.04+包名已更新为libmysqlclient-dev-default,执行sudo apt install -y libmysqlclient-dev-default

六、实用进阶技巧

  1. 客户端工具推荐
    1. MySQL Workbench:官方免费工具,支持数据库设计、SQL执行、数据备份等功能,适合新手。
    2. Navicat:功能强大的图形化工具,支持多数据库连接、数据同步、可视化查询,适合专业开发人员(付费软件,有试用版)。
    3. DBeaver:开源免费的跨平台工具,支持多种数据库,扩展性强。
  2. 权限管理最佳实践
    1. 遵循最小权限原则:不给业务用户分配多余权限,例如只给查询、插入权限,不给删除、修改权限。
    2. 禁止root账户远程登录:root是超级管理员,远程暴露易被暴力破解,仅用业务用户远程操作。
    3. 定期更换密码:生产环境建议每3个月更换一次数据库用户密码,提升安全性。

总结

MySQL的安装与配置核心在于"选对版本、做好配置、测试验证"。Windows系统重点关注环境变量与字符集配置,Linux系统需注意添加官方源、修改初始密码、执行安全初始化脚本。遵循本文步骤操作,即可快速搭建稳定且安全的MySQL运行环境,为后续的数据库开发与运维工作打下坚实基础。

相关推荐
Zzzzmo_2 小时前
【MySQL】数据库约束 及 表的设计
数据库·mysql
码云数智-大飞2 小时前
Oracle RAS:AI时代守护企业数据安全的智能盾牌
数据库·人工智能·oracle
bubuly2 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
我真的是大笨蛋3 小时前
Redo Log详解
java·数据库·sql·mysql·性能优化
fengxin_rou3 小时前
Redis 从零到精通:第一篇 初识redis
数据库·redis·缓存
爱学习的阿磊3 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_736919103 小时前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
OceanBase数据库官方博客3 小时前
滔搏基于OceanBase实现 15TB到0.9TB“无痛切换”与“系统瘦身”
数据库·oceanbase·分布式数据库
Jess074 小时前
MySQL内置函数
数据库·mysql