在软件开发、数据分析、后端开发的学习路上MySQL是绕不开的核心技能。作为目前全球最流行的开源关系型数据库它凭借轻量、稳定、开源免费、适配性强的优势成为中小项目、个人开发、企业业务的首选数据库。很多新手初学数据库时常常分不清数据库、数据表、字段的关系看不懂基础SQL语句不清楚MySQL的运行逻辑。本文从零出发用通俗的语言拆解MySQL核心基础避开晦涩理论帮新手快速建立数据库思维轻松入门MySQL。一、MySQL 是什么MySQL 是一种关系型数据库管理系统RDBMS用于以结构化方式存储和管理数据。简单理解就是MySQL 就是一个“专门存数据的仓库”并且这个仓库支持用标准语言SQL来快速查找、修改和管理数据。1.MySQL 的核心特点1. 表结构存储数据类似 Excel 表格2. 支持数据关系主键、外键3.⚡ 支持高并发访问4. 开源免费社区版5. 跨平台运行Windows / Linux / macOS2.一个简单的理解模型数据库结构可以这样理解数据库Database 一个“文件夹”表Table 一张“Excel 表”行Row 一条数据记录列Column 一个字段属性例如用户表idnameage1Tom20二、为什么要学习 MySQL很多人学编程时会问“我写代码不就够了吗为什么还要学数据库”答案是几乎所有真实系统都离不开数据库。1. 现实世界的数据必须存储比如1.用户信息账号、密码2.商品信息价格、库存3.订单数据购买记录这些都不能只存在程序内存里否则程序一关数据就没了MySQL 可以帮你永久保存数据。2. 几乎所有后端系统都在用包括1.电商系统淘宝/京东类2.社交系统聊天、朋友圈3/网站后台博客、论坛 只要有“数据”就基本会用数据库。3. 求职和面试必备技能对于1.后端开发2.测试开发3.数据分析4.运维工程师MySQL 都是基础必考技能。4. 帮助你理解“数据思维”学习 MySQL 不只是学工具还能帮助你理解1.数据如何组织2.系统如何设计3.如何高效查询信息这对编程能力提升非常关键。三、数据库的下载安装一般的云服务器上都有数据库因此都能使用如果在使用时需要更换版本可以参考以下操作1.卸载不要的环境1.先检查是否有mariadb/mysql在运行 ps ajx |grep mariadb ps ajx |grep mysqld2.关闭mariadb/mysqlsystemctl stop mariadb.service systemctl stop mysqld.service2.检查系统安装包rpm -qa | grep mariadb rpm -qa | grep mysql3.卸载这些默认的安装包sudo yum remove mariadb sudo yum remove mysql4.获取对应版本 MySQL 官方 YUM 源官网地址http://repo.mysql.com/注必须匹配自身系统版本否则会出现依赖兼容故障官网下载对应系统版本的mysqlXX-community-release源 rpm 包上传到 Linux 服务器本地。5.安装 MySQL YUM 软件源1.安装前查看本地已有 yum 源目录ls /etc/yum.repos.d/ -al正常无 MySQL 相关 repo 文件。2.安装源包命令sudo rpm -Uvh mysqlXX-community-release-elX-XX.noarch.rpm3.MySQL 安装 使用两大常见问题总结1MySQL 已设 utf8 编码但终端无法输入中文原因服务器系统语言环境为英文 LANGen_US.utf8终端本身不支持中文输入和 MySQL 库编码无关。在终端输入以下命令env |grep LANG LANGen_US.utf82.装 MySQL 时报 GPG 密钥过期报错报错现象安装 mysql-community-client 等包时提示 GPG 密钥失效校验失败。根源MySQL 官方软件源的加密密钥版本过时系统无法校验安装包合法性。修复指令rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022执行后重新执行 yum 安装即可正常安装 MySQL。安装完成后可通过rpm -qa | grep mysql校验 mysql 源包是否载入6.通过 yum 安装 MySQL 服务端全套组件sudo yum install -y mysql-community-server7.启动mysqlsystemctl start mysqld.service再次输入指令即可查看状态 ps ajx |grep mariadb ps ajx |grep mysqld8.登录第一次登录mysql我们是没有密码的但是系统却要我们输入密码那我们该怎么办别着急接下来给你不止一种解决方案方案一获取临时root密码sudo grep temporary password /var/log/mysqld.log方案二直接登录如果新装的版本没有所谓的临时密码我们可以执行以下命令来进行登录mysql -uroot如果还没有成功接下来还有一种办法方案三跳过权限验证1编辑 MySQL 主配置文件vim /etc/my.cnf进入文件后找到[mysqld]段落在这一段末尾添加一行skip-grant-tables保存退出vim 操作按i编辑写完按Esc输入:wq回车保存。2重启 MySQL 服务让配置生效systemctl restart mysqld3无密码直接登录客户端mysql -uroot四.登录后必须做的关键操作设置密码1.设置密码FLUSH PRIVILEGES; ALTER USER rootlocalhost IDENTIFIED BY 新密码123; ALTER USER root% IDENTIFIED BY 新密码123; FLUSH PRIVILEGES; exit;2.关闭免密systemctl stop mysqld vim /etc/my.cnf # 删除 skip-grant-tables 一行 systemctl start mysqld3.使用新密码登录测试mysql -uroot -p如此mysql已经安装完成五.配套常用命令# 立即启动MySQL systemctl start mysqld # 查看运行状态 systemctl status mysqld # 关闭开机自启如需取消 systemctl disable mysqld