Mysql_5.7下载及安装(CentOS7)

文章目录

  • 安装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-2022yum 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.hqwc.cn/news/2955.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结构化GPT用例,在CSDN私密社区中死磕@ada 探索SpringBoot

在CSDN私密社区中死磕ada 探索SpringBoot Q: Spring的核心概念是哪些?Q: Spring MVC的核心概念是哪些?Q: SpringBoot的核心概念有哪些?Q: 介绍下SpringBoot AutoConfiguration的机制。Q: SpringBootConfiguration 和 Configuration 的区别是&…

云原生——Kubenetes基础

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 目录 一.什么是Kubernetes? 二.为什么你需要 Kubern…

6应用层-6.3【实验】【计算机网络】

6应用层-6.3【实验】【计算机网络】 前言推荐实验6应用层知识DHCP协议分析DHCP报文格式DHCP抓包分析 6.1 Web服务与FTP服务配置6.2 DNS域名系统配置6.3 DHCP动态协议参数配置实验目的实验内容及实验环境实验原理实验过程1.搭建网络环境2.配置路由器3.配置DSCP服务器4.完成右侧网…

frp内网穿透

frp内网穿透 一.frp的作用和原理图 1.首先frp分客户端和服务端,frp客户端和服务端在同一个局域网。 2.frp服务端拥有公网ip与互联网连通。 frp的作用: 通过一台公司拥有外网ip的服务器做为frp服务端,通过请求转发的形式,转发到公…

STM32外设系列—L298N

文章目录 一、L298N简介二、L298N电路图三、L298N使用方法四、L298N驱动电机实例4.1 麦克纳姆轮简介4.2 定时器PWM配置4.3 智能车行驶控制 五、拓展应用 一、L298N简介 L298N是SGS公司生产的一款通用的电机驱动模块。其内部包含4路逻辑驱动电路,有两个H桥的高电压大…

【spring】spring是什么?详解它的特点与模块

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、spring介绍 二、spring的特点(七点) 1、简化开发 2、AOP的支持 3、声明式事务的支持 4、方便测试 5、…

C++静态和动态链接库导出和使用

1、简介 代码开发过程中会遇到很多已有的函数库,这些函数库是现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种…

机器学习笔记 - Facebook AI Similarity Search(Faiss)简介

一、概述 Facebook AI Similarity Search (Faiss)是高效相似性搜索最受欢迎的轮子之一。给定一组向量,我们可以使用 Faiss 对它们进行索引——然后使用另一个向量(查询向量),我们在索引中搜索最相似的向量。 它包含搜索任何大小的向量集的算法,除非超出RAM的大小。它还包…

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

EFS文件夹加密属性灰色不能勾选怎么办?

EFS加密是Windows自带的文件夹加密方式,对于用户而言,它的加密是无感的。但是有些时候我们会发现EFS的加密选项为灰色,且无法勾选,那么这时该怎么办呢? 使用EFS加密的条件 首先,要使用EFS加密功能并不是没…

华为智能高校出口安全解决方案(1)

华为智能高校出口安全解决方案(1) 视频链接方案背景需求分析高校园区网概述高校园区网全景高校出口场景介绍高校出口整体需求分析业务安全需求攻击防御需求运维审计需求 方案规划华为智能高校出口安全解决方案架构华为智能高校出口安全解决方案功能划分业…

总结vue3 的一些知识点:​Vue3 起步

目录 引言 Vue3 混入 实例 选项合并 实例 实例 全局混入 实例 Vue3 起步 Vue 3.0 实例 data 选项 实例 方法 总结 引言 Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨…