centos7 yum 安装mysql8.0.36

一、前置条件:CentOS Mini 安装需要先安装ifconfig 和 wget工具,参考步骤:

1.首先,让我们找出哪个包提供了ifconfig命令。要完成这项任务,输入以下命令:

yum provides ifconfig


输出:

[root@localhost ~]# yum provides ifconfig
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
Repo        : @base
Matched from:
Filename    : /usr/sbin/ifconfig



[root@localhost ~]# 



2.就像你在上面的输出中所看到的,net-tools包提供了ifconfig命令。因此,让我们安装net-tools包来使用ifconfig命令。

yum install net-tools


3.现在,你就可以像以往一样使用ifconfig命令了。
 

二、安装前的准备

1.清理和卸载系统重所有mysql 和 mariadb程序及其文件、文件夹,避免冲突不能正常安装:

如果此前有安装过的,用过的,备份数据库,然后全部卸载清理干净。

1. 备份数据库

mysqldump -uroot -p'密码'  [DB名称] > [备份脚本名称].sql


2. 停止服务

service mysqld stop


3. 卸载mysql

yum remove mysql mysql-server

4. 查找和清理

rpm -qa | grep mysql
rpm -qa | grep mariadb

使用如下命令卸载和删除: rpm -e 和 rm -rf 后面紧跟的是你查找出来的软件包和文件夹、文件名。

rpm -e '替换成需要卸载的包的名称,不需要加引号' --nodeps
rm -rf '绝对路径/文件名'

最后再用find命令查找一下还有没有mysql相关的东西,务必全部清除干净,免去各种奇奇怪怪的问题:

find / -name mysql

 清理干净就可以准备安装步骤了,先更新切换到阿里云的源加速器,更新一遍yum


5. 下载yum源
检查当前操作系统的版本, 找到对应的yum源并下载

[root@VM-1 bin]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

进入下载页面

MySQL :: Download MySQL Yum Repository

使用 Red Hat 7

wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm


5. 安装yum源

rpm -Uvh mysql80-community-release-el7-11.noarch.rpm


插曲:

之前安装了mysql 5.7 产生了冲突

查看 rpm -qa | grep mysql

删除 mysql 5.7 相关

rpm -e mysql57-community-release
rpm -e mysql-community-
再次安装成功

三、正式安装的正确操作

0、更换yum源

1、打开 mirrors.aliyun.com,选择centos的系统,点击帮助

2、执行命令:

yum install wget -y

3、改变某些文件的名称

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

4、执行更换yum源的命令

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

5、更新本地缓存

yum clean all
yum makecache

1、再次查看系统中是否自带安装mysql

yum list installed | grep mysql

2、删除系统自带的mysql及其依赖(防止冲突)

yum -y remove mysql-libs.x86_64

3、安装wget命令

yum install wget -y 

4、给CentOS添加rpm源,并且选择较新的MySQL源

wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

5、安装下载好的rpm文件

 yum install mysql80-community-release-el7-3.noarch.rpm -y

6、使用yum安装mysql

yum install mysql-community-server -y

6.1、安装中遇到错误解决方式 错误: mysql-community-libs-8.0.32-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-libs-8.0.32-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 解决办法: 执行如下命令后再次安装:

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

7、启动mysql服务 #启动mysql服务,查看启动状态及是否开机启动

systemctl start mysqld.service
systemctl status mysqld.service
systemctl list-unit-files | grep enabled

8、获取mysql的临时密码

grep "password" /var/log/mysqld.log

9、使用临时密码登录

mysql -uroot -p

#输入密码

10、修改密码 #密码要符合mysql安全规则,否则修改不成功

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

11、修改远程访问权限

create user 'aiops'@'%' identified by '123456';
grant all privileges on *.* to 'aiops'@'%' with grant option;
flush privileges;

12、设置字符集为utf-8 #在[mysqld]部分添加: character-set-server=utf8 #在文件末尾新增[client]段,并在[client]段添加:

default-character-set=utf8

四、开发测试启用弱密码的方法

启动mysql

[root@localhost rootftp]# systemctl start mysqld
[root@localhost rootftp]# systemctl status mysqld
 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor pres>
   Active: active (running) since Thu 2022-03-03 04:46:34 EST; 20s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 41027 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=>
 Main PID: 41061 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 23385)
   Memory: 471.0M
   CGroup: /system.slice/mysqld.service
           └─41061 /usr/sbin/mysqld
 
Mar 03 04:46:27 localhost.localdomain systemd[1]: Starting MySQL Server...
Mar 03 04:46:34 localhost.localdomain systemd[1]: Started MySQL Server.


修改密码
查看密码

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


2022-03-03T07:10:39.887374Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: U<=VsitGY83w

mysql


修改密码
##  这里是个错误的提示样子,仅做提醒大佬们,因为所输入的密码不符合mysql默认密码安全规则

[root@localhost rootftp]# mysql
 
mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'
mysql> show global
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.


 
##  提示:先按照默认密码规则设置并记住设置的密码,
### 密码组合最好是: 大写字母+数字+小写字母+特殊符号,
## 记下来,最好抄下来,忘记了会哭
 

mysql> ALTER USER 'root'@'localhost' identified by '12345678Aa?';  # 注意密码规则
Query OK, 0 rows affected (0.00 sec)
 
mysql> flush privileges;    # 刷新权限规则
Query OK, 0 rows affected (0.00 sec)
 
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
 
mysql> set global validate_password.length=4;       # 减少密码长度要求 
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password.policy=0;        # 取消密码验证策略
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)


 
### “新密码”即更新密码规则后自己设置的密码,
### 做了如上规则更改以后可以设置简单密码,诸如:123456
### 简单密码仅限于本地开发调试方便,
### 正式部署或生产环境时候必须按照密码规则设置复杂度足够和
### 符合密码规则和各种安全标准规范合规的密码,以增强系统的安全性
### 常见的安全标准规范如 GB强制的等级保护、分级保护之二、三、四级,以及企业或组织要求的规则等;
 

mysql> ALTER USER 'root'@'localhost' identified by '新密码';    # 建议设置合规安全的密码,开发测试可以设置简单密码
Query OK, 0 rows affected (0.00 sec)
 
 
mysql> exit
Bye
[root@192 home]# mysql -u root -p
 
Enter password:         # 输入新设置的密码登入
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.34 MySQL Community Server - GPL
 
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


 
# 数据库操作和使用请参考官方文档或者其他技术博文,此处不再赘述
 
mysql> exit
Bye
[root@192 home]# 
问题 短密码不能设置,需要修改密码策略
set global validate_password.length=4; 密码长度改成4
set global validate_password.policy=0; 密码校验强度改成LOW后,只校验密码长度
查看当前安全变量值并修改

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
 
mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
设置开机启动
[root@192 home]# systemctl enable mysqld


————————————————

更多安装细节和问题处理方案请参考我的另一篇博文,涵盖面更广泛:

centos8 \CentOS 9 Stream \Oracle Linux8\Oracle Linux 9 rpm 安装mysql8.0.28 mysql8.0.34

https://blog.csdn.net/lqzixi/article/details/123260293 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 + Django 前后端分离项目实现密码认证登录

1、功能需求 通常中小型前后端项目&#xff0c;对安全要求不高&#xff0c;也可以采用密码认证方案。如果只用django来实现非常简单。采用 Vue3 前后端分离架构&#xff0c;实现起来稍繁琐一点&#xff0c;好处是可以利用各种前端技术栈&#xff0c;如element-plus UI库来渲染…

Android Jetpack Compose基础之组件的帧渲染

Android Jetpack Compose基础之组件的帧渲染 组合布局LayoutModifier示例 LayoutCompsable示例 绘制CanvasDrawModifierDrawModifier-drawWithContent示例 DrawModifier-drawBehind源码示例 DrawModifier-drawWithCache源码示例 拓展Modifier.graphicsLayer Android View 系统&…

6-191 拓扑排序

一项工程由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其他子任务后才能执行。例如,下图表示了一项工程若干子任务之间的先后关系。 编写函数输出所有子任务的拓扑序列。 函数接口定义: Status Push_SeqStack(SeqStack &s, ElemType x)//入栈,x入到…

Polar 2024春季个人挑战赛 Jay17 WP

Polar 2024春季个人挑战赛 Rank&#xff1a;7 【WEB】机器人 开题 起手敏感文件robots.txt 【WEB】PHP反序列化初试 最简单的php反序列化 POC&#xff1a; <?php class Easy{public $name;public function __wakeup(){echo $this->name;} } class Evil{public $evi…

2、Jenkins持续集成-gitlab安装和源码上传

文章目录 1、Gitlab代码托管服务器安装2、源代码上传托管 环境&资源准备 统一采用VMware中安装CentOS7&#xff0c;安装教程&#xff0c;统一设置静态IP资源包都存在于我的资源里面 资源版本&位置 名称机器IP软件代码托管服务器192.168.2.100Gitlab-12.4.2持续集成服…

idm下载器 idm网络加速器 Internet Download Manager(IDM)免激活不弹窗版

idm下载器官方版英文名为Internet Download Manager。是一款界面简单、体积小巧下载速度飞快的下载工具&#xff0c;支持断点续传、多个任务同时下载&#xff0c;同时还支持限速下载&#xff0c;在自义文件类型里还可以自由设置下载的文件类型。 一、IDM软件安装 Internet Dow…

Linux安装Nginx及配置TCP负载均衡

目录 1、安装编译工具及库文件2、下载解压Nginx压缩包3、Ngnix配置Tcp负载均衡4、配置Ngnix的文件5、Nginx启动 1、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel pcre-devel2、下载解压Nginx压缩包 wget https://nginx.o…

Docker 安装 Tomcat

目录 1. 总体步骤 2.安装tomcat 2.1 搜索 2.2 拉取 2.3 查看是否拉取到镜像 2.4 运行镜像 2.5 访问tomcat首页 1. 总体步骤 搜索镜像拉取镜像查看镜像启动镜像停止容器移除容器 2.安装tomcat 2.1 搜索 2.2 拉取 docker pull tomcat 2.3 查看是否拉取到镜像 docker …

连接医患的桥梁:深入了解互联网医院APP的开发与优化

当下&#xff0c;互联网技术的不断发展&#xff0c;越来越多的医院和医疗机构开始关注并投入到互联网医院APP的开发与优化中。接下来&#xff0c;小编将与大家共同探讨互联网医院APP的开发与优化。 一、互联网医院APP的开发原则 &#xff08;1&#xff09;用户体验至上 界面设…

卷积篇 | YOLOv8改进之主干网络中引入可变形卷积DConv

前言:Hello大家好,我是小哥谈。可变形卷积模块是一种改进的卷积操作,它可以更好地适应物体的形状和尺寸,提高模型的鲁棒性。可变形卷积模块的实现方式是在标准卷积操作中增加一个偏移量offset,使卷积核能够在训练过程中扩展到更大的范围,从而实现对尺度、长宽比和旋转等各…

git基础-查看提交历史

查看提交历史 在创建了多个提交之后&#xff0c;或者如果克隆了一个具有现有提交历史的存储库&#xff0c;可能会想要回顾一下发生了什么。最基本和强大的工具就是 git log 命令。 运行下git log查看下输出状态 默认情况下&#xff0c;不带任何参数运行 git log 命令会以逆时…

拌合楼管理系统(八) c#海康威视摄像头车牌识别

前言: c#调用海康威视SDK实现车牌识别 原本以为海康威视sdk的Demo里面没有车牌识别的实例,后来发现自己肤浅了,官方是有提供的,只是车牌识别是通过安防布警的方式实现的.程序主动监听,触发告警后获取到车牌信息. 一、接口调用的流程&#xff1a; 首先初始化sdk -> 开…

袁志佳:前端全栈工程师精英班

教程介绍 本套课程涵盖大前端的全部领域&#xff0c;并对传统的Web前端全栈深入教学。如利用前端知识开发 AI、VR、AR、iOS、Android、PC、Server、智能硬件。 同时我们将核心打造 JavaScript语言新发展、Vue源码分析、前端持续集成方案汇总、MV*框架深度分析 、前端图形学、N…

亚稳态及其解决办法

异步电路 亚稳态 亚稳态亚稳态的产生原因什么是同步异步信号怎么消除亚稳态 亚稳态 在数字电路中&#xff0c;每一位数据不是1&#xff08;高电平&#xff09;就是0&#xff08;低电平&#xff09;。当然对于具体的电路来说&#xff0c;并非1&#xff08;高电平&#xff09;就是…

elementary OS7 Ubuntu 22.04中硬盘挂载报错

elementary OS7 Ubuntu 22.04中硬盘挂载报错 背景目标思路解决方法 背景 上周末安装elementaryos7的过程中将windows10的引导文件搞丢了&#xff0c;这两天准备修复一下&#xff0c;保险期间将固态硬盘上的文件备份到移动硬盘上&#xff0c;备份过程中出现报错的问题&#xff…

2024常用Web支付开发讲解教程

课程介绍 本教程为web支付开发&#xff0c;讲解了最常用的两钟支付&#xff1a;支付宝支付和微信支付&#xff0c;服务器配置和API对接&#xff0c;学完本课程可以学会微信支付、和支付宝支付开发。 学习资料 链接&#xff1a;https://pan.baidu.com/s/19WarLP2dO4dFvNbIHLU…

C++类的6个默认成员函数(构造)

C类和对象基础-CSDN博客https://blog.csdn.net/lh11223326/article/details/136834917?spm1001.2014.3001.5501 目录 1.构造函数 概念 特性 2.析构函数 概念 特性 3.拷贝构造函数 概念 特征 4.赋值运算符重载&#xff08;构造实现&#xff09; 运算符重载 赋值运算…

【常见BUG系列】Java 编程中的 NoSuchFieldError 异常:原因与解决方法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

云原生(五)、Docker-Swarm集群

基础环境说明 1、环境准备 1、启动4台服务器&#xff08;在同一个网段内&#xff09;。 2、重命名4台服务器&#xff0c;方便区分。 hostnamectl set-hostname swarm1 reboot安装docker。参考文章&#xff1a;云原生&#xff08;二&#xff09;、Docker基础 2、DockerSwarm…

Autosar Crypto Interface学习笔记

文章目录 前言Functional specificationError classificationError detection API specificationType DefinitionsFunction definitionsGeneral APICryIf_InitCryIf_GetVersionInfo Job Processing InterfaceCryIf_ProcessJobDispatch Key IDs匹配KeyId Job Cancellation Inter…