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数据库入门教程

相关推荐
985小水博一枚呀4 分钟前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
马船长11 分钟前
红帆OA iorepsavexml.aspx文件上传漏洞
安全
数据与后端架构提升之路13 分钟前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
爱技术的小伙子19 分钟前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
瓜牛_gn2 小时前
mysql特性
数据库·mysql
深度学习实战训练营2 小时前
基于CNN-RNN的影像报告生成
人工智能·深度学习
奶糖趣多多3 小时前
Redis知识点
数据库·redis·缓存
昨日之日20064 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_4 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
CoderIsArt4 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存