一、什么是Mysql
MySQL 是什么?
MySQL 是一款开源的关系型数据库管理系统(RDBMS) ,由瑞典 MySQL AB 公司开发,现在归 Oracle 公司所有。简单来说:
- 关系型:数据以 “表” 的形式存储,表与表之间可以通过字段建立关联(比如用户表和订单表通过用户 ID 关联),符合经典的 “实体 - 关系” 模型。
- 数据库管理系统:它提供了一套完整的工具,让你能创建数据库、增删改查数据、管理权限、保证数据安全等。
- 开源:核心版本免费使用(GPL 协议),这也是它被广泛采用的重要原因。
MySQL 的核心特点
- 易用性:语法基于标准 SQL(结构化查询语言),学习成本低,新手容易上手;安装和配置简单,跨平台(支持 Windows、Linux、macOS 等)。
- 高性能:针对读写操作做了大量优化,支持索引、缓存等机制,能高效处理海量数据(中小型业务场景下性能表现优异)。
- 可靠性:支持事务(ACID 特性)、数据备份 / 恢复、主从复制(提高可用性和读写分离),保证数据的一致性和安全性。
- 灵活性:支持多种存储引擎(最常用的是 InnoDB,支持事务和行级锁;MyISAM 轻量但不支持事务),可根据业务需求选择。
- 生态完善:几乎所有编程语言(Python/Java/PHP/Go 等)都有成熟的连接库,且被广泛集成到各类框架(如 PHP+MySQL、SpringBoot+MySQL)中。
MySQL 的核心概念(新手必懂)
| 概念 | 通俗解释 |
|---|---|
| 数据库(DB) | 一个 “数据仓库”,用来存放多个表(比如一个电商项目对应一个数据库)。 |
| 表(Table) | 数据的基本存储单元,由行(记录)和列(字段)组成(比如用户表:行是单个用户,列是用户名 / 密码 / 手机号)。 |
| 字段(Column) | 表的列,定义数据类型(比如 VARCHAR 存字符串、INT 存整数、DATETIME 存时间)。 |
| 记录(Row) | 表的行,是一条完整的数据(比如一行对应一个用户的所有信息)。 |
| 主键(Primary Key) | 唯一标识表中每条记录的字段(比如用户 ID),不能为空、不能重复。 |
| 索引(Index) | 类似书籍的目录,加速数据查询(比如给用户手机号建索引,查手机号时不用全表扫描)。 |
| SQL 语句 | 操作 MySQL 的 “指令”,核心分为 4 类:- DQL(查询):SELECT- DML(增删改):INSERT/UPDATE/DELETE- DDL(建表 / 删库):CREATE/DROP/ALTER- DCL(权限管理):GRANT/REVOKE |
MySQL 的使用场景
- 中小型网站 / 应用:比如个人博客、电商网站、企业官网,是 MySQL 最核心的应用场景。
- 数据分析 / 报表:配合 Python/Excel 处理结构化数据(比如统计每月订单量)。
- 嵌入式系统:轻量版本可集成到硬件设备中(比如智能家居的本地数据存储)。
- 互联网大厂:虽然超大规模场景会用分布式数据库,但 MySQL 仍会作为辅助存储(比如存储用户基础信息)。
二、Mysql下载安装
官网地址:dev.mysql.com/downloads/m…
这里尽量选8.0.45,如果选9版本则会需要visio studio2019
MSI和ZIP区别
MSI是傻瓜式安装,下载完之后只需要无脑点击下一步,一键安装就好了,它会自动配置好环境变量等。一般默认安装到c盘
ZIP是安装包下载,可以自己选择下载路径,但是需要自己创建my.ini文件用来初始化数据库
这里我们选择ZIP
当然也可以选择历史版本
下载完打开文件,这里可以看到有很文件夹,我们只需要新建一个my.ini文件,用来初始化我们的mysql数据库
这里我准备好了my.ini文件里的内容,直接复制后改地址即可
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8
[mysqld]
#设置 3306 端口
port = 3306
# 设置 mysql 的安装目录
basedir= D:\mysql-8.0.41-winx64(自己的mysql位置)
# 设置 mysql 数据库的数据的存放目录
datadir= D:\mysql-8.0.41-winx64\data (自己的mysql位置)
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
三、配置环境变量
打开“此电脑”属性的环境变量
新建系统变量MYSQL_HOME
导入你的mysql包
配置path
继续在“系统变量”找到变量名为 Path 的系统变量,新建一个新的环境变量 %MYSQL_HOME%\bin,如图。
四、启动Mysql
用管理员的身份打开命令行
进入Mysql的bin目录,执行net start mysql
继续输入
不用输入密码,这时候是没有密码的
但是!!!
如果在这之前你使用过
mysqld --initialize
已经把mysql进行了初始化,那么就会初始化一个密码,这个密码要去data文件夹中的error文件后缀的文件里面去找
然后接着输入:gVq40Nfga7)J(这是我的)
看到welcome就代表已经成功了
最后我们要修改mysql的密码,
使用命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';
我这里直接使用123456了
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这样也就成功了
用Navicat连接我们本地的mysql就可以成功运行了