Mysql_5.7下载及安装(CentOS7)

news2024/9/23 13:30:45

文章目录

  • 安装MySQL的几种方式
    • 一、 使用docker安装MySQL
      • 1.1 卸载旧版本(如果存在docker,需先卸载旧版本)
      • 1.2 安装Docker
        • 使用存储库安装(推荐使用)
      • 1.3 安装mysql5.7.35(普通用户下)
        • *** 安装MySQL:5.7.35镜像
        • *** 进入容器中查看配置文件以及数据文件在哪里?
        • *** 将镜像运行并挂载到主机中
      • 1.4 给docker中的mysql添加用户并赋予表权限
      • docker运行报错问题汇总
    • 二、 通过Yum源快速安装Mysql5.7(稳定版本)并配置
      • 2.1 下载官方的rpm源,并配置到yum中
      • 2.2 选择对应的mysql版本(默认为上面配置的rpm版本)
        • ***使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看哪些是启用或禁用的
        • ***修改安装的版本
          • 2.2.1 使用yum-config-manager命令进行修改
          • 2.2.2 手动编辑/etc/yum.repos.d/mysql-community.repo 文件进行修改
        • ***查看当前enable的版本
      • 2.3 安装对应版本的MySQL
        • ***如果安装失败,可以更导入第三方gpgkey
      • 2.4 启动MySQL服务器
      • 2.5 配置MySQL服务器
        • 1. 查看MySQL的临时root密码
        • 2. 重置root(两种方式)
        • 3. 通过root用户进行mysql并创建用户和赋予root权限
      • 2.6 到此为止,MySQL就可以进行远程访问了

安装MySQL的几种方式

当前安装操作均在root权限用户下进行,普通用户请自行在最前面添加sudo前缀

一、 使用docker安装MySQL

1.1 卸载旧版本(如果存在docker,需先卸载旧版本)

# 如果存在Docker,卸载旧版本的docker
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2 安装Docker

详情看官方文档:Docker官方文档

使用存储库安装(推荐使用)

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

  • 设置存储库
# 安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
yum install -y yum-utils
yum-config-manager \
  --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo
  • 安装Docker引擎

安装最新版本的Docker Engine和containerd

yum install -y docker-ce docker-ce-cli containerd.io
# 如果提示接受 GPG 密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配 ,请接受。

1.3 安装mysql5.7.35(普通用户下)

*** 安装MySQL:5.7.35镜像

# 查看docker运行状态
systemctl status docker
# 启动docker服务
systemctl start docker

# 在Docker中想要安装某个程序只需要进行pull操作即可
# 安装mysql:5.7.35
docker pull mysql:5.7.35
# 完成之后使用sudo docker images查看是否下载mysql镜像成功
docker images

# 创建所需要的文件夹
#sudo mkdir -p ./mysql/conf
#sudo touch ./mysql/conf/my.cnf
#sudo mkdir -p ./mysql/data
#sudo mkdir -p ./mysql/logs

*** 进入容器中查看配置文件以及数据文件在哪里?

# 简单启动一个容器
docker run -p 3306:3306 -d mysql:5.7.35
# 使用sudo docke exec -it 容器id /bin/bash
docker exec -it 38a /bin/bash  # 进入容器id为38a开头的容器

# 检测其中的配置文件、日志文件及数据文件分别存放在哪里?
- 配置文件  /etc/mysql/my.cnf
- 日志文件	/var/log/mysql
- 数据文件	/var/lib/mysql

# 退出容器
exit

*** 将镜像运行并挂载到主机中

# 删除错误配置的容器
docker stop 容器id
docker rm -f 容器id 
# 删除镜像
docker rmi 镜像id

# 接下来进行运行和挂载mysql:5.7.35数据库
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs
-e MYSQL_ROOT_PASSWORD=root初始化 root 用户的密码。  # 只有第一次运行需要

# 运行mysql:5.7.35镜像并挂载到主机中
docker run -p 3306:3306 --name subwayMysql \
-v $PWD/mysql/conf:/etc/mysql \
-v $PWD/mysql/logs:/var/log/mysql/ \
-v $PWD/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.35   # 安装镜像并设置

# 使用sudo docker ps查看镜像是否在运行
docker ps  # 查看镜像是否在运行

# 再使用Navicat进行连接测试

1.4 给docker中的mysql添加用户并赋予表权限

# 使用Navicat或者进入容器内使用mysql -u root -p 进行登陆
user mysql;
select host,user from user;

# 创建一个新的用户
create user 'hcz'@'%' identified by 'ZtLZ3qcGjYW70yyJ';
select host,user from user;

# 为新用户授权
# 允许访问所有数据库下的所有表
grant all privileges on *.* to 'hcz'@'%' identified by 'ZtLZ3qcGjYW70yyJ' ;
FLUSH PRIVILEGES;

# 到这一步就可以通过新创的用户进行root用户权限了

# 删除用户
DROP USER username@localhost;

# 修改后需要刷新权限
FLUSH PRIVILEGES;

docker运行报错问题汇总

  • 出现 Error response from daemon问题

image-20211011144933103

在/etc/docker/下观察是否存在daemon.json,不存在则创建一个输入以下内容。

{
“registry-mirrors”: ["https://docker.mirrors.ustc.edu.cn"]
}

二、 通过Yum源快速安装Mysql5.7(稳定版本)并配置

官方详细文档:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

2.1 下载官方的rpm源,并配置到yum中

  • 通过如下命令查看当前Linux系统是el几
# 通过如下命令查看当前Linux系统是el几
uname -a

在这里插入图片描述

下载源:https://dev.mysql.com/downloads/repo/yum/

命令行:sudo rpm -Uvh http://dev.mysql.com/get/platform-and-version-specific-package-name.rpm

platform-and-version-specific-package-name===包名
例如:sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm

在这里插入图片描述

2.2 选择对应的mysql版本(默认为上面配置的rpm版本)

***使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看哪些是启用或禁用的

yum repolist all | grep mysql

enable代表当前安装的版本

在这里插入图片描述

***修改安装的版本

2.2.1 使用yum-config-manager命令进行修改
# 默认是找不到yum-config-manager命令的,需要进行安装
yum -y install yum-utils

# 再执行如下命令即可
yum-config-manager --enable mysql57-community
yum-config-manager --disable mysql80-community
2.2.2 手动编辑/etc/yum.repos.d/mysql-community.repo 文件进行修改

编辑/etc/yum.repos.d/mysql-community.repo 文件

在这里插入图片描述

***查看当前enable的版本

yum repolist enabled | grep mysql

在这里插入图片描述

2.3 安装对应版本的MySQL

yum install -y mysql-community-server

***如果安装失败,可以更导入第三方gpgkey

在这里插入图片描述

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

yum install -y mysql-community-server

重新运行安装服务命令,即可安装成功
在这里插入图片描述

2.4 启动MySQL服务器

# 启动MySQL服务器
systemctl start mysqld

# 开机自启动MySQL服务器
systemctl enable mysqld

# 查看MySQL服务器的状态
systemctl status mysqld

2.5 配置MySQL服务器

1. 查看MySQL的临时root密码

sudo grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

MySQL 的 validate_password 插件是默认安装的。
这将要求密码至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符,并且密码总长度至少为 8 个字符。

2. 重置root(两种方式)

  • 通过mysqladmin进行更改root密码
# 修改密码
mysqladmin -u root -p password 'newpassword'

# 会出现修改密码, 输入刚刚生成的临时密码

# 可能会提示你修改的密码不安全,我们可以通过下面的网站进行生成
# 这将要求密码至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符,并且密码总长度至少为 8 个字符。
# 如果是测试使用的可以用我下面这个密码
mysqladmin -u root -p password "123456Aa!"
  • 通过命令mysql_secure_installation进行重置root以及其他权限(推荐使用)

1、先改密码:

在这里插入图片描述

2、是否修改密码?选择N

在这里插入图片描述

3、是否移除匿名用户?选择y

在这里插入图片描述

4、是否关闭root用户远程连接数据库?选择y

在这里插入图片描述

5、是否删除test库以及对test库的访问权限?选择y

在这里插入图片描述

6、是否重新加载授权表?选择y

在这里插入图片描述

更多详细,看官方文档

3. 通过root用户进行mysql并创建用户和赋予root权限

由于默认的root用户一般不会用来进行远程连接,所以一般会生成一个用户去进行远程连接。

# 通过命令进入mysql
mysql -u root -p
`输入设置的密码`
# 查看用户信息
select host,user,plugin,authentication_string from mysql.user;
# 创建用户(1、只允许本地登陆访问,2、允许远程登陆访问)
1. 只允许本地登陆访问
create user 'test'@'localhost' identified by '987654Aa!';
2. 运行远程登陆访问
create user 'test'@'%' identified by '987654Aa!';
# 最后都需要刷新权限
flush privileges;

# 删除用户
DROP USER 'username'@'host';


# 创建用户并赋予权限(8.0版本需要分开执行)
# mysql5.7、5.6等旧版本创建用户并赋予权限
grant ALL PRIVILEGES ON *.* to root@"%" identified by "xxxx" WITH GRANT OPTION;

# mysql8.0创建用户并赋予权限步骤如下:
# 为新用户添加权限(1、本地,2、外网)
1. 本地
grant all privileges on 数据库名.表名 to '用户名'@'localhost';
flush privileges;
2. 外网(全部授权)
grant ALL PRIVILEGES ON *.* to root@"%";
# 刷新权限
flush privileges;

2.6 到此为止,MySQL就可以进行远程访问了

切记:如果连接不成功,请检查防火墙的3306端口是否开启,没有开始,请开启防火墙的3306端口。
或者直接关闭防火墙,使端口全部开放。
不会配置的,可以查看Redis安装中开放6379端口部分内容。Redis_6.2.12下载及安装(CentOS7)

在这里插入图片描述

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

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

相关文章

Vue----Vue条件渲染

【原文链接】Vue----Vue条件渲染 &#xff08;1&#xff09;在components文件夹下新建一个Ifdemo.vue文件。 &#xff08;2&#xff09;然后在文件中编写如下内容&#xff0c;即写入一个标题 <template><h3>条件渲染</h3> </template> <script&…

Go语言开发者的Apache Arrow使用指南:数据类型

如果你不是做大数据分析的&#xff0c;提到Arrow这个词&#xff0c;你可能会以为我要聊聊那个箭牌卫浴或是箭牌口香糖(注&#xff1a;其实箭牌口香糖使用的单词并非Arrow)。其实我要聊的是Apache的一个顶级项目&#xff1a;Arrow[1]。 为什么要聊这个项目呢&#xff1f;说来话长…

【吴恩达deeplearning.ai】基于ChatGPT API打造应用系统(上)

以下内容均整理来自deeplearning.ai的同名课程 Location 课程访问地址 DLAI - Learning Platform Beta (deeplearning.ai) 一、大语言模型基础知识 本篇内容将围绕api接口的调用、token的介绍、定义角色场景 调用api接口 import os import openai import tiktoken from dote…

使用 MediaPipe 身体跟踪构建不良身体姿势检测和警报系统

文末附实现相关源代码下载链接 正确的身体姿势是一个人整体健康的关键。然而,保持正确的身体姿势可能很困难,因为我们经常忘记这一点。这篇博文将引导您完成为此构建解决方案所需的步骤。最近,我们在使用 MediaPipe POSE 进行身体姿势检测方面玩得很开心。 使用 MediaPipe P…

el-form复杂表单嵌套el-table实现复制字段并校验删除等功能

功能&#xff1a;表单项全部复制&#xff0c;表单项根据el-table选择后复制部分内容&#xff0c;做所有表单项的校验&#xff0c;部分表单项删除功能 点击添加饮品爱好后弹出el-table表单 选择好后点确定如下图&#xff0c;并且实现删除功能&#xff0c;删除仅仅删除饮品和爱好…

Excel 插入对象选PDF文件后,跳出图像数据不充分对话框,怎么解决

环境&#xff1a; excel 2021 Win10 专业版 问题描述&#xff1a; Excel 插入对象选PDF文件后&#xff0c;跳出图像数据不充分对话框 解决方案&#xff1a; 1.打开文件-选项-高级-不压缩文件中的图像&#xff0c;前面打勾 2.重启excel&#xff0c;再此插入解决&#xf…

Kears-4-深度学习用于计算机视觉-使用预训练的卷积网络

0. 说明&#xff1a; 本篇学习记录主要包括&#xff1a;《Python深度学习》的第5章&#xff08;深度学习用于计算机视觉&#xff09;的第3节&#xff08;使用预训练的卷积神经网络&#xff09;内容。 相关知识点&#xff1a; 预训练模型的复用方法&#xff1b;预训练网络 (p…

ResNet网络结构

Deep Residual Learning for Image Recognition 论文&#xff1a;https://arxiv.org/abs/1512.03385 代码&#xff1a;ResNet网络详解及Pytorch代码实现&#xff08;超详细帮助你掌握ResNet原理及实现&#xff09;_basic block结构图_武晨的博客-CSDN博客 【DL系列】ResNet网…

前端Vue自定义签到积分获取弹框抽取红包弹框 自定义弹框内容 弹框顶部logo

前端Vue自定义签到积分获取弹框抽取红包弹框 自定义弹框内容 弹框顶部logo&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13204 效果图如下&#xff1a; # cc-downloadDialog #### 使用方法 使用方法 <!-- show&…

用VSCode开发的Vue项目请求HBuilder项目的JSON数据

在学Vue之前采用HBuilder学习了HTML,CSS.JavaScript&#xff0c;jQuery&#xff0c;AJAX&#xff0c;最方便的就是可以请求项目中的JSON数据&#xff0c;当然也可以请求【聚合数据】的数据。 现在用VSCode开发&#xff0c;去访问HBuilder发布的项目中的json数据&#xff0c;因…

chatgpt赋能python:Python计算器程序代码:一种简单却强大的工具

Python计算器程序代码&#xff1a;一种简单却强大的工具 如果你是一名计算机编程爱好者&#xff0c;那你一定不会陌生于Python编程语言。Python是如今最受欢迎的编程语言之一&#xff0c;它简单易学、功能强大&#xff0c;也有着庞大的社区支持&#xff0c;使得它成为了很多人…

嵌入式ppt

第二章 第五章 第六章 第七章 第八章 第九章 第十章 考点 条件编译 volatile、static、 union、 struct、 const指针 堆与栈的不同点 3.功能模块应用题 (1) GPIO 的应用:流水灯的电路及软件编码、驱动数码管的电路及编码。 (2)外部中断的应用:电路及回调函数编码。 (3) …

云原生安全取决于开源

本文首发微信公众号网络研究院&#xff0c;关注获取更多。 Kubernetes 和 K3S 等技术是云原生计算的成功和开源力量的代名词。他们在竞争中大获全胜绝非偶然。当企业寻求安全的云原生环境时&#xff0c;开源是难题中的关键部分。 工具法则是众所周知的认知偏差。当你只有一把…

openeuler22.03系统salt-minion启动报“Invalid version: ‘cpython‘“错的问题处理

某日&#xff0c;检查发现一台openeuler22.03 SP1系统的服务器上之前正常运行的saltstack客户端minion未运行&#xff0c;查看服务状态&#xff0c;报"Invalid version: cpython"错&#xff0c;无法正常运行&#xff0c;本文记录问题处理过程。 一、检查salt-minion…

【Nginx】第三章 Nginx常用的命令和配置文件

第3章 Nginx常用的命令和配置文件 3.1 nginx常用的命令 &#xff08;1&#xff09;启动命令 在/usr/local/nginx/sbin目录下执行 ./nginx &#xff08;2&#xff09;关闭命令 在/usr/local/nginx/sbin目录下执行 ./nginx -s stop &#xff08;3&#xff09;重新加载命令…

docker报错 driver failed programming external connectivity on e

Error response from daemon: driver failed programming external connectivity on e ndpoint mj 原因&#xff1a;在我们启动了Docker后&#xff0c;我们再对防火墙firewalld进行操作&#xff0c;就会发生上述报错&#xff0c; 详细原因&#xff1a;docker服务启动时定义的…

分别用最小二乘法和梯度下降法实现线性回归

下面代码中包含了两种方法 import numpy as npnp.random.seed(1234)x np.random.rand(500, 3) # x为数据&#xff0c;500个样本&#xff0c;每个样本三个自变量 y x.dot(np.array([4.2, 5.7, 10.8])) # y为标签&#xff0c;每个样本对应一个y值# 最小二乘法 class LR_LS():d…

LENOVO联想笔记本拯救者Legion R7000P APH8 2023款(82Y9)原厂Windows11系统原装出厂状态预装系统

lenovo联想笔记本电脑&#xff0c;拯救者Legion R7000P APH8(2023款)(82Y9)原装出厂Windows11系统安装&#xff0c;预装系统重装镜像&#xff0c;恢复出厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上…

element ui - el-select 手动设置高度

el-select 手动设置高度 场景代码 场景 当我们的页面想要手动设置 element ui 中 el-select 的高度时&#xff0c;如果只是通过设置 el-select 的 height 属性时&#xff0c;会发现调整无效。 继续对 el-select 中的 input 元素 .el-input__inner 设置。会发现高度生效了&…