一、前言
MySQL是目前全球最流行的开源关系型数据库,凭借开源免费、轻量高效、兼容性强的优势,广泛应用于互联网、电商、后端服务、中小企业系统等各类场景,也是后端开发、DBA岗位必备的核心技能。
本系列文章将从零基础入门,逐步深入到生产级实战,覆盖MySQL全链路核心知识点。本篇作为系列开篇,核心目标是帮大家完成MySQL环境搭建、基础配置,以及常用客户端工具的使用,搭建好后续学习的"基础设施",确保每一位零基础学习者都能跟着操作、落地生效。
二、MySQL简介与版本选择
2.1 MySQL核心优势
-
开源免费:无需支付授权费用,可自由修改源码,降低项目成本,适合个人学习和企业生产使用。
-
轻量高效:占用系统资源少,启动速度快,查询性能出色,可支撑中小规模并发,也能通过架构优化支撑高并发场景。
-
兼容性强:支持Windows、Linux、Mac等多种操作系统,与Java、Python、PHP等主流编程语言无缝对接,生态完善。
-
功能完善:支持事务、索引、视图、存储过程等核心特性,满足从简单查询到复杂业务逻辑的各类需求。
2.2 版本选择(重点避坑)
MySQL有多个版本分支,不同版本的特性、兼容性存在差异,结合学习和生产需求,优先选择以下版本,避免踩版本兼容坑:
-
学习/生产首选:MySQL 8.0(长期支持版,LTS)。该版本是目前最稳定、最主流的版本,相比5.7版本,性能提升30%以上,默认支持utf8mb4字符集(可存储表情符号),新增窗口函数、JSON增强等实用特性,完全适配现代开发需求。
-
不推荐版本:MySQL 5.5及以下(已停止维护,存在安全漏洞);MySQL 8.0非LTS版本(迭代快,稳定性不足,不适合生产)。
提示:无论学习还是生产,尽量保持版本统一,避免因版本差异导致的SQL语法、配置项不一致问题。
三、MySQL安装(Windows + Linux 双版本,实操落地)
以下安装步骤均以MySQL 8.0为例,步骤详细且带避坑提示,零基础可直接跟着操作,每一步都标注关键注意点,避免安装失败。
3.1 Windows 系统安装(图形化界面,适合初学者)
步骤1:下载安装包
-
访问MySQL官方下载地址:https://dev.mysql.com/downloads/installer/(无需注册,直接下载);
-
选择"MySQL Installer for Windows",根据系统位数选择(32位/64位,目前主流电脑均为64位),下载"Web Installer"(体积小,在线安装,适合网络稳定的情况)或"Offline Installer"(离线安装包,体积大,无需联网)。
步骤2:执行安装(关键步骤)
-
双击安装包,选择"我接受许可协议",点击"Next";
-
选择安装类型:推荐"Developer Default"(开发者默认,包含MySQL服务器、客户端工具、文档等,适合学习),点击"Next";
-
检查依赖:若提示缺少Visual C++ Redistributable,点击"Execute"自动安装,安装完成后重启安装程序,继续下一步;
-
点击"Execute"开始安装MySQL相关组件,等待安装完成(约5-10分钟,取决于网络速度),安装完成后点击"Next";
-
配置MySQL服务器:点击"Next",进入配置界面,默认选择"Standalone MySQL Server / Classic MySQL Replication"(单机服务器,适合学习和小型应用),继续"Next";
-
端口配置:默认端口3306(无需修改,若端口被占用,可修改为3307等未被占用的端口,记住修改后的端口,后续连接需要),点击"Next";
-
密码设置(重中之重):设置root用户密码(建议设置简单易记且安全的密码,如root123456,学习阶段无需过于复杂,务必记住,忘记密码后续重置麻烦),点击"Next";
-
服务配置:默认将MySQL设置为Windows服务,服务名称为"MySQL80",勾选"Start the MySQL Server at System Startup"(开机自启,避免每次手动启动),点击"Next";
-
点击"Execute"完成配置,配置成功后点击"Finish",完成整个安装流程。
步骤3:配置环境变量(可选但推荐)
配置环境变量后,可在cmd命令行直接输入mysql命令,无需输入完整安装路径,操作更便捷:
-
右键"此电脑"→"属性"→"高级系统设置"→"环境变量";
-
在"系统变量"中找到"Path",点击"编辑";
-
点击"新建",添加MySQL的bin目录路径(默认路径为:C:\Program Files\MySQL\MySQL Server 8.0\bin),点击"确定"保存;
-
验证:打开cmd命令行,输入"mysql --version",若显示MySQL版本信息,说明环境变量配置成功。
3.2 Linux 系统安装(CentOS/Ubuntu 双版本,生产常用)
Linux系统是生产环境中MySQL的主要部署环境,以下分别介绍CentOS(企业级常用)和Ubuntu(桌面/服务器通用)的安装步骤,均为命令行操作,步骤简洁可直接复制执行。
3.2.1 CentOS 7/8 安装
- 安装MySQL官方仓库(解决yum源中MySQL版本过低的问题):
bash
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
- 安装MySQL服务器:
bash
yum install -y mysql-community-server
- 启动MySQL服务并设置开机自启:
bash
# 启动服务
systemctl start mysqld
# 设置开机自启(避免重启服务器后MySQL无法自动启动)
systemctl enable mysqld
# 查看服务状态(确认启动成功)
systemctl status mysqld
- 初始密码获取(MySQL 8.0默认生成临时密码):
bash
grep 'temporary password' /var/log/mysqld.log
执行后会显示类似"root@localhost: xxxxxxxx"的内容,冒号后的字符串即为临时密码,复制保存。
- 重置root密码(必须操作,临时密码无法长期使用):
bash
# 登录MySQL(输入临时密码,输入时不显示,直接粘贴后回车即可)
mysql -u root -p
# 重置密码(替换为自己的密码,如root123456)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123456';
提示:若密码过于简单,会提示"密码强度不足",可执行以下命令降低密码强度限制(仅适合学习环境,生产环境不推荐):
bash
set global validate_password.policy=0;
set global validate_password.length=6;
3.2.2 Ubuntu 20.04/22.04 安装
bash
# 更新apt源
apt update
# 安装MySQL服务器
apt install -y mysql-server
# 启动服务并设置开机自启
systemctl start mysql
systemctl enable mysql
# 查看服务状态
systemctl status mysql
# 重置root密码(Ubuntu默认root用户无密码,直接登录后重置)
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123456';
四、MySQL基础配置(必学,避免后续踩坑)
MySQL安装完成后,默认配置可能无法满足学习或生产需求,需进行基础配置,核心配置项如下,修改后需重启MySQL服务生效。
4.1 配置文件位置(关键,找到配置文件才能修改)
-
Windows系统:默认路径为 C:\Program Files\MySQL\MySQL Server 8.0\my.ini(若安装路径修改,对应路径也需修改);
-
Linux系统:默认路径为 /etc/my.cnf(CentOS)或 /etc/mysql/my.cnf(Ubuntu)。
提示:修改配置文件前,建议先备份原文件,避免修改错误导致MySQL无法启动。
4.2 核心基础配置(必改项)
打开配置文件,找到「[mysqld]」节点,添加或修改以下配置项,保存后重启MySQL服务:
bash
[mysqld]
# 数据库默认字符集(utf8mb4支持表情符号,避免中文乱码)
character-set-server=utf8mb4
# 数据库连接端口(与安装时一致,默认3306)
port=3306
# 绑定地址(0.0.0.0允许远程连接,学习/生产常用;localhost仅允许本地连接)
bind-address=0.0.0.0
# 数据库默认存储引擎(InnoDB支持事务、索引,默认即为InnoDB,无需修改)
default-storage-engine=InnoDB
# 最大连接数(学习环境可设为100,生产环境可根据需求调整为1000以上)
max_connections=100
4.3 MySQL服务管理命令(常用,必须记住)
无论Windows还是Linux,都需要掌握MySQL服务的启动、停止、重启命令,用于修改配置后生效或解决服务异常问题。
Windows系统(cmd命令行,以管理员身份运行)
bash
# 启动服务
net start MySQL80
# 停止服务
net stop MySQL80
# 重启服务
net restart MySQL80
提示:服务名称"MySQL80"与安装时一致,若安装时修改了服务名称,需对应修改命令中的服务名。
Linux系统
bash
# 启动服务
systemctl start mysqld
# 停止服务
systemctl stop mysqld
# 重启服务(修改配置后必须执行)
systemctl restart mysqld
# 查看服务状态
systemctl status mysqld
五、客户端连接工具(实操,连接MySQL的核心方式)
MySQL安装完成后,需要通过客户端工具连接数据库,才能执行SQL命令。常用的客户端工具分为两类:命令行客户端(原生,无需额外安装)和图形化工具(可视化,操作更便捷),推荐新手优先使用图形化工具。
5.1 命令行客户端(原生,跨系统通用)
命令行客户端是MySQL自带的工具,无需额外安装,适合快速测试连接或服务器端操作。
连接命令(通用)
bash
mysql -u 用户名 -p 密码 -P 端口 -h 主机地址
参数说明:
-
-u:指定用户名(默认root);
-
-p:指定密码(可直接在-p后加密码,如-proot123456,也可只输-p,回车后输入密码,更安全);
-
-P(大写):指定端口(默认3306,若修改过端口,必须加上该参数);
-
-h:指定主机地址(本地连接可省略,远程连接需输入服务器IP)。
实操示例
bash
# 本地连接(默认端口3306,用户名root,密码root123456)
mysql -u root -proot123456
# 若修改过端口为3307,本地连接
mysql -u root -proot123456 -P 3307
# 远程连接(服务器IP为192.168.1.100,默认端口)
mysql -u root -proot123456 -h 192.168.1.100
连接成功后,会显示MySQL版本信息,进入MySQL命令行界面(提示符为"mysql>"),即可执行SQL命令。
5.2 图形化工具(推荐,新手友好)
图形化工具可视化操作,无需记忆复杂命令,适合日常开发和学习,推荐以下3款工具,可根据自己的习惯选择。
5.2.1 Navicat Premium(最常用,功能强大)
-
特点:支持MySQL、Oracle、SQL Server等多种数据库,界面简洁,操作便捷,支持数据导入导出、SQL编辑、表设计等功能,适合开发和DBA使用;
-
连接步骤:
-
打开Navicat,点击"连接"→"MySQL";
-
填写连接信息:连接名(自定义,如"本地MySQL")、主机(本地填localhost,远程填服务器IP)、端口(默认3306)、用户名(root)、密码(安装时设置的密码);
-
点击"测试连接",提示"连接成功"后,点击"确定",即可完成连接,双击连接名即可展开数据库。
5.2.2 DBeaver(开源免费,跨平台)
-
特点:开源免费,支持所有主流数据库,功能齐全,适合预算有限或喜欢开源工具的用户,跨Windows、Linux、Mac平台;
-
连接步骤与Navicat类似,打开后点击"数据库"→"新建连接",选择"MySQL",填写连接信息,测试连接成功后即可使用。
5.2.3 MySQL Workbench(官方工具,免费)
-
特点:MySQL官方推出的图形化工具,免费开源,功能简洁,适合简单的SQL操作和数据库管理,安装MySQL时可选择一起安装;
-
连接步骤:打开后点击"+"新建连接,填写连接名、主机、端口、用户名、密码,点击"OK"即可连接。
六、基础命令测试(验证环境,入门第一步)
连接MySQL后,执行以下基础SQL命令,验证环境是否正常,同时熟悉SQL命令的基本格式(SQL命令不区分大小写,推荐关键字大写,便于区分)。
bash
-- 1. 查看当前所有数据库(关键字SHOW,结尾加分号表示命令结束)
SHOW DATABASES;
-- 2. 创建测试数据库(IF NOT EXISTS 表示若数据库不存在则创建,避免报错)
CREATE DATABASE IF NOT EXISTS test_db;
-- 3. 使用测试数据库(切换到test_db数据库,后续操作均针对该数据库)
USE test_db;
-- 4. 查看当前使用的数据库(验证是否切换成功)
SELECT DATABASE();
执行上述命令后,若能正常显示结果,说明MySQL环境搭建、配置、连接均正常,可进入后续学习。
七、本篇总结
本篇作为MySQL系列的开篇,核心完成了"从0到1"的环境搭建,重点掌握以下内容:
-
MySQL的核心优势与版本选择:优先选择MySQL 8.0 LTS版本,避免使用过时版本;
-
双系统安装实操:Windows图形化安装、Linux命令行安装,掌握关键步骤和避坑要点;
-
基础配置:找到配置文件,修改字符集、端口、绑定地址等核心配置,掌握服务管理命令;
-
客户端连接:熟练使用命令行和图形化工具连接MySQL,执行基础测试命令。
至此,你已经搭建好了MySQL学习和实战的基础环境,能够正常连接并执行简单的SQL命令,为后续学习库表操作、查询、索引等核心知识点打下了坚实的基础。
八、下一篇预告
下一篇我们将进入MySQL最核心的基础操作------库与表的增删改查(CRUD)实战。
CRUD(Create、Read、Update、Delete)是数据库操作的基石,90%的业务开发都围绕这四个动作展开,也是后端开发、测试等岗位必须熟练掌握的基本功。下一篇将详细讲解数据库、数据表的创建、修改、删除,以及数据的新增、查询、修改、删除,结合实操案例,让你快速掌握核心语法,能够独立完成单表的基础业务操作。