MySQL下载安装使用教程图文教程(超详细)

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。

这一章节我们使用CentOS7安装MySQL8.4社区版。Windows可以参考我的另一篇文章: Windows下载安装MySQL8.28社区版

MySQL

1、下载

1)MySQL官网 https://dev.mysql.com/downloads/mysql/ 下载安装包。

系统选择 Red Hat Enterprise Linux 企业版Linux,版本选Linux 7 x86 64。

uname -a 可以查看你的系统是x86的还是ARM的,一般都是x86。

下载第一个 RPM Bundle,这个是完整的包,包含了下面所有的rpm安装包。

2)不登陆注册,直接下载。

3)下载完传到Linux上,我这里用的MobaXterm。

2、解压

1)解压 tar -xvf mysql-8.4.0-1.el7.x86_64.rpm-bundle.tar

解压完是12个rpm安装包,跟下载界面里剩下的12个包是一 一对应的。其实这里我们只用6个包就行了,为了方便,就直接下个全量包传过来了。

3、卸载mariadb

CentOS内部集成了mariadb,MariaDB是MySQL的一个分支,诞生的目的是解决甲骨文公司收购MySQL后可能出现的闭源风险。这就相当于系统已经装过一个MySQL了,你再装肯定会有冲突,所以要先卸载。

shell 复制代码
rpm -e --nodeps mariadb-libs

4、安装perl

Perl是一种脚本语言,MySQL连接数据库、查询和处理数据都是使用Perl实现的,所以安装MySQL必须依赖Perl。

perl -v 如果提示没装,就 yum install perl 安装perl,安装后 perl -v 输出版本,表示安装成功。

5、安装net-tools

net-tools 是一个网络命令工具箱,里面有 arp、dnsdomainname、domainname、hostname、ifconfig、nameif、netstat、nisdomainname、plipconfig、rarp、route、slattach、ypdomainname 命令。2001年停止维护,新版本Linux默认不带,而是用 iproute2 代替。

就这么几个命令,咱也不知道MySQL用上哪个了,反正它依赖,咱就给他装上。

netstat --version 如果提示没装,就 yum install net-tools 安装,netstat --version 输出版本,就表示安装成功。

6、安装MySQL

安装包之间有依赖关系,按照以下顺序安装 rpm -ivh mysql-community-xx,否则会报错。

  1. mysql-community-common:MySQL客户端和服务器使用的配置文件、默认选项文件和语言文件等,是安装MySQL客户端和服务器所需的依赖包。
  2. mysql-community-client-plugins:客户端插件。
  3. mysql-community-libs:MySQL客户端的程序库,用来加密和压缩数据、处理MySQL协议和语句,是安装MySQL客户端所需的依赖包。
  4. mysql-community-client:MySQL客户端,用来连接MySQL服务器执行命令。
  5. mysql-community-icu:是安装MySQL服务器所需要的依赖包。
  6. mysql-community-server:MySQL服务端,用来存储数据、接受客户端请求并处理数据,比如创建数据库和表、增删改查等操作。

Warning是警告不用管,没有Error就算成功。

7、初始化

安装完成后,mysqld --initialize --console 初始化MySQL 。

初始化的过程中,会创建系统表、用户和数据目录,生成临时密码。

cat /etc/passwd | grep mysql 可以看到创建了一个mysql用户。

ll /var/lib/ | grep mysql 可以看到创建了MySQL的数据目录。

cat /var/log/mysqld.log 可以看到生成的临时密码。

8、修改权限

ll /var/lib/mysql 可以看到,MySQL目录下的文件权限都是root。按照软件安全设计中最小特权原则,生产环境需要以mysql用户运行MySQL服务,这会因为没有权限而报错。

chown -R mysql:mysql /var/lib/mysql/ 修改mysql目录的属主和属组。

9、启动和关闭MySQL

MySQL的服务名是mysqld,根据服务名启动MySQL服务,systemctl start mysqld

systemctl status mysqld 查看服务状态,running表示启动,dead表示关闭。

或者 ps -ef | grep mysqld 查看进程有没有在执行。

systemctl stop mysqld 停止服务。

systemctl restart mysqld 重启服务。服务运行时会重启服务;服务员停止时会直接启动服务。

10、登录MySQL

cat /var/log/mysqld.log | grep localhost 查看初始化MySQL时生成的临时密码

mysql -u root -p密码 登录MySQL,注意-p和密码之间不要有空格,否则会报错 Unknown database。

11、修改密码

登录进去先修改密码 alter user 'root'@'localhost' identified by '1234567';

quit 退出MySQL后,用新密码登录。

接下来就可以使用了,MySQL的命令和使用方式可以参考我的另一篇文章 MySQL数据库入门教程

相关推荐
NAGNIP10 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab11 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab11 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP15 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年15 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼16 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS16 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区17 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈17 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang17 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx