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

相关推荐
四口鲸鱼爱吃盐9 分钟前
Pytorch | 从零构建MobileNet对CIFAR10进行分类
人工智能·pytorch·分类
苏言の狗10 分钟前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习
黑客Ash20 分钟前
安全算法基础(一)
算法·安全
云云32123 分钟前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云32126 分钟前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
Lojarro1 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
bastgia1 小时前
Tokenformer: 下一代Transformer架构
人工智能·机器学习·llm
xcLeigh1 小时前
网络安全 | 防火墙的工作原理及配置指南
安全·web安全
菜狗woc1 小时前
opencv-python的简单练习
人工智能·python·opencv
梦想平凡1 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle