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

相关推荐
聂 可 以35 分钟前
Windows环境安装MongoDB
数据库·mongodb
web前端神器35 分钟前
mongodb多表查询,五个表查询
数据库·mongodb
门牙咬脆骨39 分钟前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨41 分钟前
【Redis】GEO数据结构
数据库·redis·缓存
阿龟在奔跑44 分钟前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang1 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang1 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
wusong9991 小时前
mongoDB回顾笔记(一)
数据库·笔记·mongodb
代码小鑫1 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
changuncle1 小时前
MongoDB数据备份与恢复(内含工具下载、数据处理以及常见问题解决方法)
数据库·mongodb