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

MySQL核心技能:从安装到基础操作全攻略

技能目标

  • 理解数据库核心概念与主流数据库类型差异
  • 掌握 MySQL 两种核心安装方式(源码编译、二进制包)的完整流程
  • 熟练完成 MySQL 初始化、服务管理与基础命令操作

前言

21 世纪是 “数据驱动” 的时代,海量数据的存储、检索与安全管理成为企业核心需求。数据库作为数据管理的核心载体,其高效性与稳定性直接决定业务运行效率。MySQL 凭借开源、轻量、高并发等优势,成为中小型网站与企业级应用的首选数据库,也是运维与开发人员必须掌握的核心技能。

本章从数据库基础概念入手,逐步过渡到 MySQL 的安装部署与基础操作,通过全流程实操案例,帮助学习者建立数据库思维,掌握 MySQL 从环境准备到基础使用的完整技能链,为后续深入学习数据库设计与优化奠定基础。


一、数据库基础认知

1.1 数据库核心概念

1.1.1 数据与数据库
  • 数据:描述事物的符号记录,包括数字、文字、图像、音频等,是数据库的基本组成单元。
  • 记录:一组相关数据的集合,用于描述一个具体对象(如一条学生信息)。
  • 字段:记录中的单个数据项(如学生的姓名、年龄)。
  • 数据库(DB):长期存储在计算机内、有组织的、可共享的数据集合,本质是多张数据表的有序组合。
1.1.2 数据库管理系统(DBMS)

数据库管理系统是用于管理数据库的软件系统,核心功能包括:

  • 数据定义:创建、修改、删除数据库与表结构
  • 数据操作:增、删、改、查数据
  • 数据控制:权限管理、事务管理、完整性约束
  • 数据维护:备份、恢复、性能监控

常见 DBMS:MySQL、Oracle、SQL Server、PostgreSQL 等。

1.1.3 数据库发展与类型

数据库技术历经三代演进,形成两大核心类型:

  1. 关系型数据库(RDBMS)
    • 基于关系模型,数据以二维表形式存储,通过 SQL 语言操作
    • 代表产品:MySQL、Oracle、SQL Server
    • 优势:数据一致性强、事务支持完善、生态成熟
  2. 非关系型数据库(NoSQL)
    • 不遵循传统关系模型,数据存储灵活(键值对、文档、图结构等)
    • 代表产品:Redis、MongoDB、Cassandra
    • 优势:高并发读写、水平扩展能力强,适用于大数据场景

1.2 关系型数据库核心规则

为保障数据一致性,关系型数据库遵循四大完整性规则:

  1. 实体完整性:主键字段不能为空且唯一,确保每条记录可被唯一标识
  2. 域完整性:字段取值范围受限(如性别只能为 “男 / 女”)
  3. 引用完整性:外键必须引用主表中存在的记录,避免无效关联
  4. 用户定义完整性:业务场景自定义的约束(如年龄范围、手机号格式)

二、MySQL 安装部署实战

2.1 环境准备与基础依赖

2.1.1 基础环境配置
  1. 卸载系统自带 MariaDB(避免端口 / 依赖冲突):

bash

运行

[root@localhost ~]# rpm -qa | grep mariadb [root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  1. 安装编译依赖包(源码编译安装需要):

bash

运行

[root@localhost ~]# dnf install -y gcc gcc-c++ make cmake bison ncurses-devel libtool openssl-devel libaio-devel
  1. 创建专用运行用户(提升安全性):

bash

运行

[root@localhost ~]# groupadd mysql [root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
  1. 关闭 SELinux 与防火墙(测试环境):

bash

运行

[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld

2.2 两种 MySQL 安装方式

方式一:源码编译安装(灵活定制)
(1)下载与解压源码

bash

运行

[root@localhost ~]# wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.36.tar.gz [root@localhost ~]# tar -zxf mysql-8.0.36.tar.gz -C /usr/src/ [root@localhost ~]# cd /usr/src/mysql-8.0.36/
(2)编译配置

bash

运行

[root@localhost mysql-8.0.36]# mkdir build && cd build [root@localhost build]# cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_BOOST=/usr/local/boost \ -DENABLED_LOCAL_INFILE=ON

核心参数说明

  • CMAKE_INSTALL_PREFIX:MySQL 安装根目录
  • MYSQL_DATADIR:数据存储目录
  • DEFAULT_CHARSET:默认字符集(utf8mb4 支持 emoji)
  • WITH_BOOST:Boost 库路径(MySQL 8.0 + 依赖)
(3)编译与安装

bash

运行

[root@localhost build]# make -j$(nproc) # 多核编译加速 [root@localhost build]# make install
方式二:二进制包安装(快速部署)
(1)下载与解压二进制包

bash

运行

[root@localhost ~]# wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz [root@localhost ~]# tar -Jxf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz -C /usr/local/ [root@localhost ~]# mv /usr/local/mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql
(2)配置目录权限

bash

运行

[root@localhost ~]# mkdir -p /usr/local/mysql/data [root@localhost ~]# chown -R mysql:mysql /usr/local/mysql

2.3 MySQL 初始化与服务配置

2.3.1 初始化数据库

bash

运行

[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize-insecure \ --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

--initialize-insecure:无密码初始化(测试环境推荐),生产环境建议使用--initialize生成随机密码。

2.3.2 配置环境变量

bash

运行

[root@localhost ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile [root@localhost ~]# source /etc/profile # 立即生效
2.3.3 配置 systemd 服务
  1. 复制服务脚本:

bash

运行

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld [root@localhost ~]# chmod +x /etc/rc.d/init.d/mysqld
  1. 创建 systemd 服务文件:

bash

运行

[root@localhost ~]# vim /lib/systemd/system/mysqld.service

ini

[Unit] Description=MySQL Server After=network.target [Service] Type=forking ExecStart=/etc/rc.d/init.d/mysqld start ExecReload=/etc/rc.d/init.d/mysqld restart ExecStop=/etc/rc.d/init.d/mysqld stop PrivateTmp=true [Install] WantedBy=multi-user.target
  1. 启动并设置开机自启:

bash

运行

[root@localhost ~]# systemctl daemon-reload [root@localhost ~]# systemctl start mysqld [root@localhost ~]# systemctl enable mysqld
2.3.4 验证服务状态

bash

运行

[root@localhost ~]# netstat -anpt | grep 3306 # 输出包含3306端口监听信息,说明服务启动成功

三、MySQL 基础操作

3.1 登录与密码管理

3.1.1 登录 MySQL

bash

运行

[root@localhost ~]# mysql -u root -p # 无密码初始化时直接回车登录
3.1.2 修改 root 密码

sql

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123'; mysql> FLUSH PRIVILEGES;

3.2 基础 SQL 操作

3.2.1 查看数据库

sql

mysql> SHOW DATABASES;

输出示例

plaintext

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+
3.2.2 创建与使用数据库

sql

mysql> CREATE DATABASE test_db DEFAULT CHARACTER SET utf8mb4; mysql> USE test_db;
3.2.3 退出 MySQL

sql

mysql> EXIT; # 或 QUIT;

总结

本章围绕 MySQL 数据库入门展开,核心知识点总结如下:

  1. 基础认知:理解关系型与非关系型数据库差异,掌握数据库、表、记录、字段等核心概念
  2. 安装部署:掌握源码编译与二进制包两种安装方式,完成初始化、服务配置与环境变量设置
  3. 基础操作:熟练登录 MySQL、修改密码、执行基础 SQL 语句,为后续数据库设计与开发奠定基础

通过本章学习,可建立完整的 MySQL 入门知识体系,具备独立部署与操作 MySQL 数据库的能力,适配中小型业务场景的数据库运维需求。

http://www.cnnetsun.cn/news/1368772.html

相关文章:

  • Comsol螺旋光纤模式分析
  • 解码大脑电波:CBraMod如何用交错Transformer革新EEG基础模型
  • 隔壁部门同事,去年提离职后,绩效考核被打了个C,年终奖直接从5万降到1万。 后来才知道,他提完离职就开始摸鱼,项目交接敷衍了事
  • Typora drawIO插件解决方案:无缝集成与效率提升指南
  • 三菱 Q2AS 借助以太网通讯处理器读写炉况监测仪数据的编程方法
  • 番茄小说下载器:3分钟实现跨平台离线阅读自由
  • 免费+付费可选,2026招聘海报制作工具全攻略(附测评)
  • PostgreSQL向量搜索扩展pgvector:Windows环境配置实战指南
  • Origami Simulator终极指南:3步掌握实时折纸模拟艺术
  • 趣味算法的逆袭:斯大林排序从网络模因到编程实践的进化之路
  • 从感冒预测到肿瘤分类:朴素贝叶斯模型的Python实现与优化技巧
  • API认证机制深度剖析:从漏洞诊断到安全架构的演进之路
  • 告别复位:巧用KEIL5实现MCU现场调试,精准定位程序卡死点
  • gte-base-zh中文语义理解效果展示:同义句识别、错别字鲁棒性、领域迁移能力
  • ROCm深度学习环境实战全流程指南:从准备到性能突破
  • 2025降重降AI工具到底选哪个?我深度测评这5款降AI率工具后,含泪总结这份保命清单(附避坑指南)
  • 中兴B860AV3.2-M_可刷移动高清6A_2+32G_灯绿色_带root_当贝桌面线刷固件包(内存显示正常)
  • 一篇带你搞懂Redis基础+应用+原理+集群+拓展+源码
  • 为什么说OVN是Neutron的未来?深度解析networking-ovn带来的架构变革
  • 从莱特实验到CIE-XYZ:标准色度学系统的演进与实践
  • 算法小练-客流量上限
  • GESP2026年3月认证C++四级( 第三部分编程题(1) 山之谷)
  • 新手也能看懂的X站cms渗透实战:从广告设置到代码执行的完整漏洞链分析
  • 小白也能懂的Grok-3-Mini-Fast-Latest:快到离谱的轻量AI模型
  • SakuraLLM技术内幕:多引擎推理架构与日中翻译场景全解析
  • 23. 二叉树的高度
  • 5分钟搞定 Stable Diffusion v1.5 Archive 部署:开箱即用,快速体验AI绘画魅力
  • 阿里云跨账号VPC对等连接实战:5分钟搞定ECS私网互通(附路由配置截图)
  • 快速掌握RIP协议配置全流程
  • 5分钟搞定Unity+Visual Studio开发环境配置(含C#游戏开发工作负载)