惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
WordPress大学
WordPress大学
博客园 - Franky
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
月光博客
月光博客
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
小众软件
小众软件
Cloudbric
Cloudbric
量子位
N
News and Events Feed by Topic
Vercel News
Vercel News
Security Archives - TechRepublic
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Check Point Blog
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
T
Tenable Blog
S
Secure Thoughts
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
Stack Overflow Blog
Stack Overflow Blog
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News | PayPal Newsroom
PCI Perspectives
PCI Perspectives
T
Troy Hunt's Blog
GbyAI
GbyAI
Attack and Defense Labs
Attack and Defense Labs
C
Cybersecurity and Infrastructure Security Agency CISA
Y
Y Combinator Blog
美团技术团队
爱范儿
爱范儿
Martin Fowler
Martin Fowler
Last Week in AI
Last Week in AI
P
Privacy International News Feed
T
The Blog of Author Tim Ferriss
F
Full Disclosure

Casear的技术栈

Ubuntu 26.04 装 NVIDIA 580 内网异机备份 conf 驱动 Razer_GRUB_Theme Fcitx5 输入法配置:切换中文输入法 服务器 zsh 环境配置记录:Zim + p10k + eza + zoxide # ThinkPad T490s Linux 指纹模块启用指南(KDE vanblog使用picgo图床的完整部署教程 vanblog备份恢复评论数据 如何配置一个虚拟显示器,以便远程没有显示器的系统 解决 OpenConnect VPN 由于 JScript 引擎丢失导致的 Error 1 修复 Fuck 2025 ATT&CK红队评估实战靶场二 一言 解决kde环境下切换登陆屏幕(SDDM)后显示异常 rss Linux实用软件分享 Kubuntu 上安装 显卡驱动 和 EnvyControl kubuntu 搜狗输入法安装问题解决 终端工具的选择 chatlog 青龙面板+wxBotWebhook实现自动推送天气 mac 安装 第三方应用问题 zsh 安装与配置,使用 oh-my-zsh 美化终端 pve虚拟机硬盘直通 tldr-pages 安装 pve安装Arch-linux Arch-linux安装桌面环境 提问的艺术极简板 Waline 服务端独立部署解决方案 记-先锋书店 api开发-更优雅的[规范响应数据] sqli 1-7关 Nginx Proxy Manager安装及避坑指南 Xiaomi-Mall-Home kali设置为中文 vscode连接docker查看代码 DVWA--SQL Injection(Blind)(盲注Python脚本) 使用Hexo生成大量页面时卡死问题解决 在Ubuntu上搭建Fivem服务器 互联网档案计划(Internet Archive) NEZHA监控面板美化 哪吒监控配置 burpsuite ca证书安装 powerShell script 你一句春不晚,我就到了真江南 DVWA靶场--XSS(Reflected)教程 DVWA靶场--JavaScript Attacks (前端攻击) 强网杯2023 谍影重重2.0 wp shell脚本备份 MySQL数据库 青龙面板定时规则 异地容灾备份系统两地三中心 转载 关于躺平 python打包可执行文件 python定义函数 MySQL8.0以上PHP连接问题
CentOS7安装MySQL8.0
casearx@foxm · 2024-05-19 · via Casear的技术栈

请注意,本文编写于 919 天前,最后修改于 755 天前,其中某些信息可能已经过时。

下载rpm安装在线安装包

直接在linux上下载在线安装包

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

image.png 也可以在自己电脑上先下载mysql.rpm文件再上传到linux服务器上
下载地址https://dev.mysql.com/downloads/

image.png 挑选合适的系统版本 image.png

mysql rpm包依赖源

上面wget下载完成后,执行下面的命令确定依赖源。

sudo yum -y localinstall mysql80-community-release-el7-3.noarch.rpm

  1. sudo以管理员权限运行命令。
  2. yum这是CentOS中的包管理器,用于安装、更新和删除软件包。
  3. localinstall这是yum命令的一个选项,表示从本地安装软件包。
  4. mysql80-community-release-el7-3.noarch.rpm这是MySQL 8 RPM文件的名称。

image.png

安装rpm包

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

  1. rpm:RPM(Red Hat Package Manager)Red Hat及类似系统(如CentOSFedora等)上的软件包管理器。它用于安装、卸载、更新、查询和验证软件包。

  2. -ivh:这是rpm命令的选项,每个字母代表一个操作:

    • i 代表安装(install)。
    • v 代表详细输出(verbose)。这意味着在安装过程中,会显示详细的信息,有助于了解安装的进度和可能出现的问题。
    • h 代表显示安装进度(hash mark progress)。在软件包安装时,它会显示一个进度条,以#字符的形式表示进度。
  3. mysql80-community-release-el7-3.noarch.rpm:这是要安装的软件包的名称。从名称可以看出,这是MySQL 8的社区版,并且是为CentOS/RHEL 7制作的。其中,“noarch”表示这个包不是为特定的硬件架构制作的,而是可以在任何架构上安装。

image.png

安装MySql


  1. yum:这是CentOS和其他基于Red HatLinux发行版中的默认包管理器。它用于从指定的软件仓库中自动安装、升级、配置甚至删除软件包,解决了软件包之间的依赖关系问题。
  2. install:这是yum命令的一个选项,表示要安装一个或多个软件包。
  3. mysql-server:这是要安装的软件包的名称,代表MySQL的服务器软件。

image.png 运行的时候有要输入的地址全部填y即可

提示

遇到Failing package is:mysql-community-icu-data-files-8.0.29-1.el7.x86_64 GPG Keys are configured as(公钥未安装) 问题时在yum install 版本后面加上 --nogpgcheck,即可绕过GPG验证成功安装

yum install mysql-community-server --nogpgcheck

--nogpgcheck:这是一个参数,指示yum在安装过程中不进行GPGGNU Privacy Guard)检查。GPG是一种加密软件,用于保护数据的完整性和机密性。在默认情况下,yum在安装软件包时会进行GPG检查,以确保软件包的完整性和来源的可靠性。但是,有时候由于某些原因,例如源key错误,GPG检查可能会失败,导致安装失败。添加--nogpgcheck参数可以跳过GPG检查,使安装继续进行。

服务安装、启动

启动mysql命令:


开机启动命令:



systemctl enable mysqld:这个命令将MySQL的服务在系统启动时设置为自动启动。这意味着每次系统启动时,MySQL服务也会自动启动。

systemctl daemon-reload:这个命令会重新加载systemd守护进程的配置文件,以使最新的配置生效。当你修改了systemd服务的配置文件后,通常需要运行这个命令来使更改生效。

验证

查看mysql服务运行状态


image.png

提示

在执行service mysqld status时,系统会通过调用相关的系统命令来检查MySQL服务的状态。如果MySQL服务正在运行,命令将返回关于服务的信息,例如服务的进程IDPID)和已运行的时间等。这些信息可以提供关于MySQL服务当前状态的详细信息。
如果MySQL服务没有运行,命令将返回服务未运行的消息。这表示MySQL服务器没有在当前系统上运行。

查看3306端口是否启动,如果启动了则表示mysql处于运行状态。


image.png

提示

netstat -anp 是一个命令,用于显示网络连接的详细信息。-a 参数显示所有连接和监听端口,-n 参数显示地址和端口号而不是尝试解析它们,-p 参数显示哪个进程正在使用连接。

grep 3306 是用来在netstat的输出中查找端口号3306的记录。

登录MySQL

查看在日志中的MySQL初始密码

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

image.png

提示

grep "A temporary password" /var/log/mysqld.log 是在 /var/log/mysqld.log 日志文件中搜索包含 "A temporary password" 的行

使用初始密码登录mysql


会提示输入密码,密码在输入时不会显示,建议直接复制粘贴

image.png

image.png

修改初始密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@123';

注意8位数以上和种类至少大+写+小写+符号+数字

更改密码复杂程度

因为mysql的密码设置的太复杂不太好记,这里把密码设置的简单一点

先看看当前的密码验证策略

输入:SHOW VARIABLES LIKE 'validate_password.%';

image.png

策略说明:

  • validate_password.length 是密码的最小长度,默认是8,我们把它改成6
  • 输入:set global validate_password.length=6;
  • validate_password.policy 验证密码的复杂程度,我们把它改成0
  • 输入:set global validate_password.policy=0;
  • validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
  • 输入:set global validate_password.check_user_name=off;

远程连接mysql

  • 连接服务器: mysql -u root -p
  • 看当前所有数据库:show databases;
  • 进入mysql数据库:use mysql;
  • 查看mysql数据库中所有的表:show tables;
  • 查看user表中的数据:select host, user, authentication_string, plugin from user;

image.png

  • user表中选取hostuserauthentication_stringplugin这四个字段的所有记录。

  • 各个字段的意义如下:

  • host: 该字段记录了用户可以从哪个主机连接到数据库。例如,localhost表示只能从本地计算机连接,而%表示从任何主机都可以连接。

  • user: 这是数据库的用户名。结合host字段,可以确定一个特定的数据库连接权限。

  • authentication_string: 这是用户的加密后的密码或其他身份验证信息。在MySQL 5.7及之后的版本中,密码字段从password变为了authentication_string

  • plugin: 这指示了用于身份验证的插件。例如,常见的值有mysql_native_passwordcaching_sha2_password。插件决定了密码如何被验证和加密。

  • 修改user表中的Hostupdate user set host = '%' where user = 'root' and host='localhost';

image.png

这条语句使用的是MySQLUPDATE语句,它的意思是:在用户表(user)中,将所有用户名为'root'并且主机名为'localhost'的用户的host字段的值更新为'%'。

这里,'%'表示任何主机都可以连接。

  • 最后刷新一下:flush privileges;
  • 这样就可以使用Navicat来连接服务器上的数据库了

查看防火墙状态

在防火墙中开启3306端口

systemctl status firewalld.service

现在是开启状态 image.png

如果是关闭状态则运行下面的命令

systemctl start firewalld

开放端口

  • firewall-cmd --zone=public --list-ports 查看所有打开的端口
  • firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口
  • firewall-cmd --reload # 配置立即生效

重启防火墙

systemctl restart firewalld.service

Linux系统中,firewalld是一个用于管理IP包过滤规则的服务,它可以用来保护你的系统免受网络攻击。通过重启firewalld服务,你可以确保任何对防火墙规则的更改都会生效。

当你执行systemctl restart firewalld.service命令时,系统会先停止firewalld服务,然后再重新启动它。这样可以确保所有的防火墙规则都被重新加载并生效。

image.png

相关信息

常用MySQL服务命令:

  • mysql -u username -p #登录MySQL
  • quit #退出MySQL
  • systemctl start mysqld.service #启动MySQL
  • systemctl stop mysqld.service #结束
  • systemctl restart mysqld.service #重启
  • systemctl enable mysqld.service #开机自启
  • select version(); #查看MySQL版本