如何正确的安装MySQL

news2024/11/25 3:06:52

1. 使用rpm包在线安装

1.1 确认自己电脑版本(linux)

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

ps:本次安装采用的系统为Centos 7.9 所使用的mysql为5.7

1.2 下载rpm包

下载地址 https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
ps: 自己是啥版本的就装啥版本的,避免出现错误

在这里插入图片描述

ps: https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm 直接下载这个也行(最便捷的方法)

1.3 配置仓库文件在这里插入图片描述在这里插入图片描述

1.4 安装

在这里插入图片描述
ps: 如果觉得下载缓慢可切换源

1.5 启动 mysql服务

在这里插入图片描述
ps: 使用初始密码登陆之后会提示你修改默认密码且新密码的复杂度必须满足大小写+特殊符号+数字(顺序任意)

1.6 mysql改密码(能够进入myql)

FLUSH PRIVILEGES; <使用跳过权限表改密码的这条必须写>
ALTER USER 'root'@'localhost' IDENTIFIED by 'RedHat@123';

1.7 mysql改密码(不能够进入myql)

vim /etc/my.cnf

在这里插入图片描述
在my.cnf后面加上 skip-grant-tables
在这里插入图片描述
ps:使用权限表跳过之后在改密码,记得改完之后把my.cnf 里面的skip-grant-tables 删除

2. 使用rpm包本地安装

在这里插入图片描述
将下载的文件传输到服务器里面,当然也可以复制下载链接,在服务器里面使用wget 直接下载

2.1 解压

在这里插入图片描述

2.3 安装

ps: 出现如下情况代表 安装的包缺少依赖包(一共需要安装四个包)
在这里插入图片描述
正确的安装方法

[root@localhost mysql_local]# yum localinstall mysql-community-client-5.7.18-1.el7.x86_64.rpm  mysql-community-common-5.7.18-1.el7.x86_64.rpm  mysql-community-libs-5.7.18-1.el7.x86_64.rpm  mysql-community-server-5.7.18-1.el7.x86_64.rpm -y

在这里插入图片描述
ps: 提示某个包需要移除才能够安装 则直接 执行 yum remove 包名 删除 ,然后在执行

[root@localhost mysql_local]# yum localinstall mysql-community-client-5.7.18-1.el7.x86_64.rpm  mysql-community-common-5.7.18-1.el7.x86_64.rpm  mysql-community-libs-5.7.18-1.el7.x86_64.rpm  mysql-community-server-5.7.18-1.el7.x86_64.rpm -y

2.4 启动mysql

在这里插入图片描述

mysql  -uroot -p"密码"

ps: 一般密码不写在命令行,直接-p 然后下面会提示输入密码 ,密码不会显示

3. 使用二机制进行安装

3.1 下载文件

在这里插入图片描述
下载并上传服务器或者直接在服务器上下载

3.2 创建用户和组

[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false

3.3 解压,软链接

tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
 tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
创建软链接:为了方便以后升级。

3.4 初始化

# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

3.5 提供配置文件和服务启动脚本

	# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
		修改配置文件:vim /etc/my.cnf
		[mysqld]
		...
		basedir = /usr/local/mysql
		datadir = /usr/local/mysql/data
	# 服务脚本
		# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
		添加系统服务,并设置开机自启动
		# chkconfig --add mysqld
		# chkconfig mysqld on

3.6 启动mysql

	# /usr/local/mysql/bin/mysqld_safe --user=mysql &
	
	配置环境变量:
	# vim /etc/profile.d/mysql.sh
	export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile.d/mysql.sh
加载使其生效。

4. 使用docker安装mysql

4.1 容器方式安装–临时或测试

	安装docker-ce
	# step 1: 安装必要的一些系统工具
	sudo yum install -y yum-utils device-mapper-persistent-data lvm2
	# Step 2: 添加软件源信息
	sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
	# Step 3
	sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
	# Step 4: 更新并安装Docker-CE
	sudo yum makecache fast
	sudo yum -y install docker-ce

4.2. 配置镜像加速器

	针对Docker客户端版本大于 1.10.0 的用户

	您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

	sudo mkdir -p /etc/docker
	sudo tee /etc/docker/daemon.json <<-'EOF'
	{
	  "registry-mirrors": ["https://rvq9mjyt.mirror.aliyuncs.com"]
	}
	EOF
	sudo systemctl daemon-reload
	sudo systemctl restart docker
	
	# Step 4: 开启Docker服务
	sudo systemctl enable docker
	
	
	容器方式启动MySQL:
	
	docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
	
	进入容器:
	[root@node3 ~]# docker exec -it mysql bash
	root@f04b9fd36c2d:/# mysql -uroot -p123456

5.mysql的体系结构

用户界面(User Interface):用户界面是与MySQL进行交互的组件,可以通过命令行界面、图形用户界面(如MySQL Workbench)或Web界面来实现。

应用程序接口(Application Programming Interface,API):MySQL提供了多种API,用于开发应用程序与数据库之间的交互。常见的API包括JDBC(Java Database Connectivity)、ODBC(Open Database Connectivity)和PHP的MySQL扩展。

查询解析器(Query Parser):查询解析器接收来自用户界面或应用程序的查询请求,并对其进行解析和验证。它将查询转换为内部数据结构,以供后续处理使用。

查询优化器(Query Optimizer):查询优化器分析查询,并确定执行查询的最佳方式。它会考虑索引、表之间的关联关系、查询条件和可用的优化策略,以生成最高效的执行计划。

执行引擎(Execution Engine):执行引擎根据查询优化器生成的执行计划,执行实际的数据操作。它负责从存储引擎中读取数据、处理排序和聚合操作,并将结果返回给用户界面或应用程序。

存储引擎(Storage Engine):存储引擎负责数据的存储和检索。MySQL支持多种存储引擎,如InnoDB、MyISAM、Memory等。每个存储引擎都有自己的数据存储格式、索引结构和锁机制,可以根据需求选择适合的存储引擎。

数据库管理系统(Database Management System,DBMS):数据库管理系统是MySQL的核心组件,负责管理数据库的创建、维护和安全性控制。它管理着数据库的元数据(如表结构、索引定义等),并提供对数据的持久化存储。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初识树莓派:强大功能与创造力的结合

目录 树莓派4B简介&#xff1a; 树莓派系统镜像下载&#xff1a; 树莓派4B简介&#xff1a; 树莓派4B是一款功能强大且受欢迎的单板计算机&#xff0c;由树莓派基金会开发。作为树莓派系列的最新版本&#xff0c;4B提供了许多令人兴奋的特性和改进&#xff0c;使其成为教育、创…

SSM简单项目遇到的几个问题(最后一个问题,虽然能运行,但是我找不出问题出在哪里)

这几个问题&#xff0c;干扰了我很长时间。 主要因为书本的例子&#xff0c;是通过controller层返回到jsp层。但是&#xff0c;最后一个SSM项目&#xff0c;它用的是controller返回信息给Service层&#xff0c;再由Service层返回Jsp层。 实训&#xff1a;编写一个模糊查询姓名…

【Java基础教程】(三)程序概念篇 · 上:探索Java编程基础,注释、标识符、关键字、数据类型~

Java基础教程之程序概念 上 本节学习目标1️⃣ Java中的注释2️⃣ 标识符3️⃣ 关键字4️⃣ 数据类型4.1 整型&#x1f50d; 什么是变量&#xff1f;什么是常量&#xff1f;&#x1f50d;关于数据类型转换的规则&#xff1f; 4.2 浮点数&#x1f50d;关于Java的计算的缺陷 4.3…

chatGPT写综述

文献是任何学术研究的基础&#xff0c;但搜集和整合众多的信息&#xff0c;写成一篇健全的文献综述却是一项艰巨的任务。随着人工智能技术的发展&#xff0c;大型预训练语言模型&#xff08;LM&#xff09;&#xff0c;如OpenAI的ChatGPT变得越来越流行。本文将探讨如何使用Cha…

K8S的概念和基本应用

学习视频&#xff1a;Kubernetes基本概念和应用_哔哩哔哩_bilibili 零 . 架构概览 master节点&#xff1a;管理调度集群资源&#xff0c;一般为多节点构成&#xff0c;可以是物理机&#xff0c;也可以是虚拟机。worker节点&#xff1a;资源的提供者&#xff0c;一般为多节点构…

沟通的层次模型

沟通的层次模型 根据沟通的倾向性将沟通划分为五个层次&#xff0c;分别是情绪、感受、想法、态度和事实。 模型介绍 沟通的层次 第5层&#xff1a;沟通情绪-带着强烈情绪表达&#xff0c;尤其经常使用这些字眼&#xff1a;“总是”、“每次都”第4层&#xff1a;沟通感受-不…

【APP开发】uni-data-select真机下拉框不显示问题

官网示例&#xff1a;uni-data-select 因为外层container有样式&#xff1a; width: 100%; height: 100%; overflow: hidden; display: flex; flex-direction: column; 去掉最外层 class"container"之后就可以了&#xff0c;但具体原因不清楚 我是对比了Hello uni-…

python中多态的作用是什么?

在强类型语言(例如Java或C#)中&#xff0c;多态是指允许使用一个父类类型的变量或常量来引用一个子类类型的对象&#xff0c;根据被引用子类对象特征的不同&#xff0c;得到不同的运行结果。即使用父类的类型来调用子类的方法。 在Python中&#xff0c;多态指在不考虑对象类型…

js压缩base64图片

今天试了用js把base64编码格式的图片进行压缩&#xff0c;记录一下&#xff1a; base64图片转换地址 base64图片转换网址 代码如下 js&#xff1a; $(document).ready(function(){compressImg(targetObj.src, 0.5, useImg, targetObj) });let targetObj {// base64字符串 …

机器学习26:《数据准备和特征工程-IV》数据转换

特征工程 是确定哪些特征可能对训练模型有用&#xff0c;然后通过转换日志文件等数据来源中的原始数据来创建这些特征的过程。在本文中&#xff0c;笔者将重点讨论何时以及如何转换数字和分类数据&#xff0c;以及不同方法的权衡。 目录 1.数据转换的原因 1.1 数据兼容性的强…

并发容器(一)CopyOnWriteArrayList

我们知道&#xff0c;ArrayList&#xff0c;LikedList&#xff0c;HashMap都是线程不安全的容器 同步容器&#xff1a;Vector&#xff0c;HashTable&#xff0c;SynchronizedList是线程安全的&#xff0c;因为里面加了synchronized同步&#xff0c;所以这样的容器也叫同步容器…

Zabbix监控

Zabbix监控 1.Zabbix监控概述1.1 zabbix是什么1.2 zabbix监控原理1.3 Zabbix 6.0新特性1.4 Zabbix 6.0功能组件1.5 Zabbix与prometheus区别对比 2. 部署Zabbix6.02.1 安装NginxPHP2.2 部署Mariadb数据库2.3 安装zabbix Server服务端2.4 部署Web前端&#xff0c;进行访问2.5 部署…

对给定的两个日期之间的日期进行遍历

每日一练:对给定的两个日期之间的日期进行遍历 题目 对给定的两个日期之间的日期进行遍历&#xff0c;比如startTime是2014-07-11&#xff1b;endTime是2014-08-11 如何把他们之间的日期获取并遍历出来。 思路与分析 不难看出&#xff0c;选项的4段实现代码中&#xff0c;除…

产品经理必须懂的api接口文档编写规范,api接口文档入门

很多产品经理刚接触 API 接口工作时&#xff0c;脑子一片空白&#xff0c;不理解接口&#xff08;API&#xff09;是什么&#xff0c;更看不懂接口开发文档。那么&#xff0c;作为一个不懂技术的产品经理&#xff0c;该如何看懂接口文档。今天这篇文章就跟大家好好巴拉巴拉。 …

一次阿里云Schedulerx换成Spring定时任务的过程

1、当前现状 所有的任务已经迁移到阿里云Schedulerx&#xff1b;阿里云Schedulerx是按照调用次数收费&#xff0c;有些任务每秒调用一次&#xff0c;费用太高&#xff1b; 2、明确需求 需要把执行非常频繁的定时任务从阿里云迁移&#xff08;阿里云收费根据调用次数&#xff0c…

基于matlab使用迭代方法为语义分割网络生成对抗性示例(附源码)

一、前言 此示例说明如何使用基本迭代方法 &#xff08;BIM&#xff09; 为语义分割网络生成对抗性示例。 语义分割是将图像中的每个像素分配给类标签的过程&#xff0c;例如汽车、自行车、人或天空。语义分割的应用包括自动驾驶的道路分割和医疗诊断的癌细胞分割。 神经网络…

5、架构:通用 Schema 设计

作为前端开发一定会非常熟悉 AST 抽象语法树&#xff08;Abstract Syntax Tree&#xff09;&#xff0c;当浏览器加载 JS 代码时&#xff0c;它会首先将代码转换为一棵抽象语法树&#xff08;AST&#xff09;&#xff0c;然后再根据 AST 来渲染对应的 DOM 结构&#xff0c;对于…

接口自动化核心知识点浓缩,为面试加分

日常接触到的接口自动化从实际目标可以划分为两大类&#xff1a; 为模拟测试数据而开展的接口自动化 这种接口自动化大多是单次执行&#xff0c;目的很明确是为了功能测试创造测试数据&#xff0c;节约人工造数据的时间和人工成本&#xff0c;提高功能测试人员的测试效率。 …

Nuendo 12.0.70 资源下载及功能介绍

简介 Nuendo 12是一款屡获殊荣的影视、游戏和沉浸式环绕声音频后期制作软件&#xff0c;Nuendo 12在对白录音和编辑方面做了重大改进&#xff0c;为你的录音带来新声。Nuendo12把“对白”制作放到一个非常重要的位置&#xff0c;比以前更加贴近用户&#xff0c;它甚至起了一个…

读书笔记-《ON JAVA 中文版》-摘要19[第十八章 字符串-2]

文章目录 第十八章 字符串6. 常规表达式6.1 基础6.2 创建正则表达式6.3 量词6.4 CharSequence6.5 Pattern 和 Matcher6.5.1 find()6.5.2 组&#xff08;Groups&#xff09;6.5.3 start() 和 end()6.5.4 split()6.5.5 替换操作6.5.6 reset() 7. 扫描输入7.1 Scanner 分隔符7.2 用…