在CenteOs7上安装mysql8.0(Super详细版)

在CenteOs7上安装mysql8.0

  • 为什么用Mysql8.0?
  • 如何下载
    • 下载地址
    • 需要提前准备
    • 下载步骤
  • 服务器上安装
    • 如何上传到服务器?
      • 通过wget下载到服务器并解压
    • 开始安装
      • 非必须安装
      • 如果全部安装执行顺序
    • 安装完后,启动mysql
      • 使用“systemctl”检测mysqld服务状态:
      • 启动mysql服务:
      • 再次查看mysqld服务的状态:
      • 设置系统启动时自动启动mysql服务:
    • 修改mysql密码
      • 查看mysql root的原始密码:
      • 修改密码
      • 验证修改后的密码进行登录
    • 允许用户远程登录
      • 这里我们需要将root用户允许远程登录
      • 修改允许远程登录,并刷新配置
    • 线上服务器请开启3306端口允许。
    • 参考文章

为什么用Mysql8.0?

  目前很多服务器上部署的都是5.7版本,但是Mysql目前都出到9.0了,有的人说新的不稳定等等…但是8.0以上版本性能有了质的飞跃,我觉得可以尝试。性能才是真理。当然老系统运行稳定就不建议升级了。

如何下载

下载地址

  mysql官网下载地址

需要提前准备

#openssl
yum install openssl-devel -y
#net-tools
sudo yum install perl net-tools

下载步骤

在这里插入图片描述
在这里插入图片描述

服务器上安装

如何上传到服务器?

1、可以在本地下载好后通过文件传输。这里就不细讲了。
2、直接通过wget下载到服务器

通过wget下载到服务器并解压

 #创建文件夹mkdir /usr/local/mysql#进入创建的文件夹cd /usr/local/mysql#通过wget下载文件wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

这里我们下载的时候捆绑包。我们先解压。

tar -xvf mysql-8.0.38-1.el7.x86_64.rpm-bundle.tar

解压后得到如下安装包
解压后安装包

开始安装

  这里的安装顺序我们按照官方文档给的来,依次安装防止出错。当然有些是非必须的。

非必须安装

rpm -ivh mysql-community-libs-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.26-1.el8.x86_64.rpm
rpm -ivh mysql-community-test-8.0.26-1.el8.x86_64.rpm

如果全部安装执行顺序

rpm -ivh mysql-community-common-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-plugins-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-embedded-compat-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-libs-compat-8.0.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-icu-data-files-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-debuginfo-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-devel-8.0.38-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-server-8.0.38-1.el7.x86_64.rpm  --nodeps --force

安装完后,启动mysql

使用“systemctl”检测mysqld服务状态:

  这个时候状态一般是inactive(不活动的)

systemctl status mysqld

启动mysql服务:

systemctl start mysqld

再次查看mysqld服务的状态:

systemctl status mysqld

设置系统启动时自动启动mysql服务:

systemctl enable --now mysqld

修改mysql密码

查看mysql root的原始密码:

cat /var/log/mysqld.log

在这里插入图片描述

修改密码

  这里我们先用原始密码登录进去,执行命令后要求数据密码,我们将初始密码输入进去。登录成功后修改密码。

mysql -uroot -p

  大家先按照这个去修改,因为如果首次登录不修改密码,是不能进行任何操作的。而且8.0的密码策略有点变态啊,一般的密码无法满足要求,这里的话我们就直接copy下面的代码,先将密码修改了,接着我们再去修改密码设置策略。

ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';

接着我们去修改密码的强度为低就可以了

set global validate_password.policy=LOW;

然后我们通过ALTER USER 命令将密码修改成自己想要的就好了。

验证修改后的密码进行登录

成功

允许用户远程登录

这里我们需要将root用户允许远程登录

#查看root账号的ip访问权限(执行结果:localhost和127.0.0.1,是无法从外部连接的)
SELECT host FROM mysql.user WHERE User = 'root';

修改允许远程登录,并刷新配置

不建议这么做,我们一般是创建一个新的用户,并在业务环境中只单独对这个用户赋予某个数据库的权限。

#推荐使用
ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';
#修改
UPDATE user SET Host = '%' WHERE User = 'root';
#刷新
FLUSH PRIVILEGES;

线上服务器请开启3306端口允许。

  在服务器上一定要使用复杂密码!避免数据库被攻击。数据安全是大事!

# 这里是添加一个新用户允许远程登录。
CREATE USER 'my_name'@'%' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON *.* TO 'my_name'@'%';
FLUSH PRIVILEGES;
#查询服务器是否开启3306端口
sudo firewall-cmd --query-port=3306/tcp
#开启3306端口sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
#立即刷新
sudo firewall-cmd --reload
#再次查看状态
sudo firewall-cmd --query-port=3306/tcp

  由于我的系统是虚拟上安装的,导致部分依赖,需要自己安装。
  同时希望大家可以反馈一下安装过程遇到的问题,我这边可以回答并更新这篇文章。

systemctl restart mysqld

参考文章

centos7 安装mysql8

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

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

相关文章

python中unittest框架和pytest框架区别

unittest框架和pytest框架对比 类型unittest框架pytest框架安装标准库,无需额外安装第三方单元测试库,需要安装用例编写测试类必须要继承 unittest.TestCase测试类命名以"Test"开头,无需继承,用例可以是函数&#xff0…

充分利用智慧校园人事系统,提升党政职务管理

智慧校园人事系统中的党政职务管理功能,是专为高校及教育机构设计的,旨在高效、精确地处理与党政职务相关的各类事务,包括职务任命、任期管理、职责分配、考核评估等,以信息化手段促进党务及行政工作的透明化、规范化。 该模块首先…

根据服务器流量使用情况推算出网站流量的方法

根据服务器流量使用情况推算网站流量是一个涉及数据监测、分析和计算的过程。以下是一些基本步骤和方法: 1. 收集数据 首先,你需要获取服务器的流量数据,这些数据通常包括: - 总流量:一定时间周期内服务器发送和接收的…

Jest是什么软件?

Jest是一个由Facebook开发的开源JavaScript测试框架,它专为JavaScript项目的测试而设计,特别适用于React和Node.js环境。Jest以其简单的配置、高效的性能和易用性而闻名,成为现代JavaScript项目中不可或缺的测试工具。以下是关于Jest的详细解…

《Windows API每日一练》8.1 button控件二

8.1.4 按钮 在BTNLOOK中显示的前两个按钮是“按键”按钮(push button)。此类按钮是一种带有 文本的矩形,这些文本是在CreateWindow调用的窗口文本参数中提供的。而CreateWindow 或MoveWindow调用中指定的宽度和高度则确定了矩形的大小。文本…

Spring-09

在 Spring 中如何注入一个 java 集合 在Spring中注入一个Java集合可以使用Autowired注解来实现。你可以在一个类的字段、构造函数或者setter方法上使用Autowired注解来注入一个集合。 下面是一个示例代码,展示了如何在Spring中注入一个Java集合。 创建一个接口和实…

kotlin 中 string array 怎么表示

在 Kotlin 中&#xff0c;字符串数组可以使用 Array<String> 类型表示。你可以通过多种方式来创建和初始化字符串数组。以下是几种常见的方法&#xff1a; 使用 arrayOf 函数&#xff1a; val stringArray arrayOf("Hello", "World", "Kotli…

面对全球新能源汽车合作发展创维汽车如何实现共赢

由全球新能源汽车合作组织(筹)主办、中国电动汽车百人会承办的首届全球新能源汽车合作发展论坛(GNEV2024)于6月27日&#xff0c;6月28日在新加坡金沙会议展览中心召开。创维汽车国际营销公司总经理齐奎源受邀参会并作出分享。 本届大会以推动全球新能源汽车产业协同发展与合作…

C语言课设--读取文件并统计数据

读取文件并统计数据 // 统计记事本英文字符数 //功能 &#xff1a; 读 文件 a.txt 统计出各种 数字 大写字母 小写字母 0~9 A~Z a ~z各有多少个 程序主体框架如下&#xff1a; #include<stdio.h> int a[128]{0};//其中数组元素a[i]保存 ASCII 码为i的字符的数量 v…

C++指针内存分配与释放

文章目录 指针分配与释放 &#xff1a;C new/delete VS C malloc/freeC new/deleteC malloc/free 指针销毁智能指针 指针分配与释放 &#xff1a;C new/delete VS C malloc/free new&#xff1a;分配内存、调用类的构造函数。delete&#xff1a;调用类的析构函数和释放内存&am…

【CSS in Depth 2 精译】2.4 视口的相对单位

当前内容所在位置 第一章 层叠、优先级与继承第二章 相对单位 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位 ✔️2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 2.4 视口的相对单位 前面介绍过的 em 和 rem 是相对于 font-size 定义的&#xff0…

rust + mingw安装教程

0. 说明 windows上安装rust时&#xff0c;需要在电脑上安装C/C构建工具。推荐的的两种工具链可以选择&#xff1a; visual studio build toolsmingw 官方推荐使用visual studio&#xff0c;若你的电脑上已经安装了visual studio&#xff0c;则无需再安装&#xff0c;直接安装…

nodejs md文件转html

const marked require(marked);// 要转换的 Markdown 文本 const markdownText # Hello, Markdown!This is a paragraph.- List item 1 - List item 2 ;// 使用 marked 将 Markdown 转换为 HTML const html marked(markdownText);console.log(html);我直接读取md文件转换结…

单目相机减速带检测以及测距

单目相机减速带检测以及测距项目是一个计算机视觉领域的应用&#xff0c;旨在使用一个摄像头&#xff08;单目相机&#xff09;来识别道路上的减速带&#xff0c;并进一步估计车辆与减速带之间的距离。这样的系统对于智能驾驶辅助系统&#xff08;ADAS&#xff09;特别有用&…

基于tensorflow2的目标检测完整实现过程

序言 虽然tf1仍然在维护&#xff0c;但tf2毕竟是主流&#xff0c;如果不是项目有明确要求&#xff0c;建议直接选择tf2。本文以tf2为例展开&#xff0c;总结从环境准备到使用自己的数据和tensorflow预训练模型进行快速训练和调用。对tensorflow和目标检测算法有深入了解的&…

C++ 的常见算法 之二

C 的常见算法 之二 划分序列partitionstable_partition 排序sortnth_element 二分查找binary_search 划分序列 partition 重新排列 [first,last) 范围内的元素&#xff0c;使得 pred 返回 true 的所有元素先于所有返回 false 的元素。迭代器返回指向第二组的第一个元素的点。…

Python开发——Python 线程入门

An Intro to Threading in Python – Real Python 1. 什么是线程&#xff1f; 线程是一个独立的执行流程。这意味着您的程序将有两件事情同时发生。但对于大多数 Python 3 实现来说&#xff0c;不同的线程实际上并不是同时执行的&#xff1a;它们只是看起来是这样。 人…

Vue3中的jsx的babel配置

如果我们希望在项目中使用jsx&#xff0c;那么我们需要添加对jsx的支持&#xff1a; jsx我们通常会通过Babel来进行转换&#xff08;React编写的jsx就是通过babel转换的&#xff09;&#xff1b;对于Vue来说&#xff0c;我们只需要在Babel中配置对应的插件即可&#xff1b; *…

Vue+Xterm.js+WebSocket+JSch实现Web Shell终端

一、需求 在系统中使用Web Shell连接集群的登录节点 二、实现 前端使用Vue&#xff0c;WebSocket实现前后端通信&#xff0c;后端使用JSch ssh通讯包。 1. 前端核心代码 <template><div class"shell-container"><div id"shell"/>&l…