首页 > 数据库 >从零搭建一个网站-云服务器Linux版——2:安装服务器MySQL+报错

从零搭建一个网站-云服务器Linux版——2:安装服务器MySQL+报错

时间:2024-09-08 10:54:56浏览次数:12  
标签:sudo root GPG 报错 mysql MySQL 服务器 安装

使用需要的东西:

        软件:Xshell。

        硬件:一台云服务器,一个域名。

        系统环境:Windows 11 专业版 23H2。

        Linux版本:CentOS 9

前景提要:在上一章已进行了服务器购买,系统搭设,Xshell访问服务器,域名购买,域名解析,Nginx软件搭建运行,做好了域名直接访问。可访问查看从零搭建一个网站-云服务器Linux版——教程【带域名】————1:配置服务器环境,安装Nginx-CSDN博客文章浏览阅读204次,点赞9次,收藏9次。构建服务器便携方法和从零开始构建服务器https://blog.csdn.net/weixin_43856221/article/details/141960424

        提示:CentOs7使用yum,CentOs8可用dnf包管理。

目录

使用需要的东西:

        提示:CentOs7使用yum,CentOs8可用dnf包管理。

一:进行Mysql的安装配置

1:查看MySQL是否安装

​编辑

2:Cnetos8进行Yum 安装MySQL包 (不可用跳转报错解决)

3:其他安装MySQL方法

4:启动 MySQL 服务

5:获取临时 root 密码

6:运行安全配置脚本

7:使用新密码登录 MySQL

二:过程中的报错

(一):安装完MySQL启动服务时出现未找到MySQL服务

1. 检查 MySQL 服务的实际名称

2. 查找 MySQL 服务文件

3. 确认 MySQL 是否正确安装

       4:出现无法安装MySQL报错的话

(二):以下是如何在 CentOS 8 以上系统上安装 MySQL 的步骤:

1:添加 MySQL 官方仓库

2:启用 MySQL 仓库

3:安装 MySQL

4:启动 MySQL 服务

5:获取临时 root 密码

6:运行安全配置脚本

7:登录 MySQL

(三):出现GPG安装Mysql安装包错误,无法检验公钥处理方法:

1. 清理 DNF 缓存

2. 重新导入 MySQL GPG 密钥

3. 检查 MySQL 仓库配置

4. 安装 MySQL 包

5. 检查网络连接

6. 检查错误日志


一:进行Mysql的安装配置

1:查看MySQL是否安装

        确认未安装MySQL后可进行下一步

2:Cnetos8进行Yum 安装MySQL包 (不可用跳转报错解决)

        确认安装完MySQL

3:其他安装MySQL方法

        CentOS版本在8以下的可能需要配置一下MySQL的源

4:启动 MySQL 服务

        启动 MySQL 服务并设置为开机自启:

sudo systemctl start mysqld

sudo systemctl enable mysqld

5:获取临时 root 密码

        安装完成后,MySQL 会生成一个临时的 root 密码。你可以从日志文件中找到它:

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

6:运行安全配置脚本

        使用临时密码登录 MySQL,并运行MySQL首次安装设置脚本

        按照提示进行设置,包括设置新的 root 密码、删除匿名用户、禁用 root 远程登录等。

mysql_secure_installation

        脚本来进行安全设置。

sudo mysql_secure_installation

       然后再输入你需要设置的密码

        默认情况下,MySQL 安装有一个匿名用户,允许任何人登录 MySQL,而无需为他们创建用户帐户。这仅用于测试,并使安装过程更顺利一些。您应该在进入生产环境之前删除它们。删除匿名用户?(按 y|Y 表示是,按任何其他键表示否):Y

        通常,只应允许 root 从“localhost”连接。这可确保有人无法从网络猜测root 密码。禁止远程 root 登录?(按 y|Y 表示是,按任何其他键表示否):n

        默认情况下,MySQL 附带一个名为“test”的数据库,任何人都可以访问。这也仅用于测试,
应在进入生产环境之前将其删除。删除测试数据库并访问它?(按 y|Y 表示是,按任何其他键表示否):N

        重新加载权限表将确保到目前为止所做的所有更改将立即生效。现在重新加载权限表?(按 y|Y 表示是,按任何其他键表示否):y

7:使用新密码登录 MySQL

        使用新的 root 密码登录 MySQL:

mysql -u root -p

        MySQL的安装和初始化基本完成。

二:过程中的报错

(一):安装完MySQL启动服务时出现未找到MySQL服务

        报错信息:Failed to start mysql.service: Unit mysql.service not found.
        可以看到,MySQL的版本是8.0.37

        却在启动服务时找不到该软件

        下列是解决问题的方法

1. 检查 MySQL 服务的实际名称

        不同的 Linux 发行版和 MySQL 安装包可能使用不同的服务名称。尝试列出所有服务单元,找出 MySQL 相关服务的实际名称:

systemctl list-units --type=service | grep -i mysql

systemctl list-units --type=service | grep -i mariadb

        

        通过查询服务再管道筛选

        可以发现确实没有MySQL的包

2. 查找 MySQL 服务文件

        如果上述命令没有找到 MySQL 服务,尝试直接查找 MySQL 服务文件:

ls /usr/lib/systemd/system/ | grep -i mysql

ls /lib/systemd/system/ | grep -i mysql

或

find / -name 'mysql.service'

find / -name 'mysqld.service'

        这将帮助你找到 MySQL 服务文件的位置。如果找到了对应的服务文件,你可以使用 systemctl start 命令启动服务。

        

        可以看到,还是未找到,需要考虑别的因素

3. 确认 MySQL 是否正确安装

        如果上述步骤未能找到服务,可能是 MySQL 安装有问题。你可以尝试重新安装 MySQL,以确保所有服务文件和配置正确:通常情况下,mysqlmysqld 服务的丢失意味着安装有问题或者服务文件位置不正确。

        在 CentOS/RHEL 系统上:

sudo yum reinstall mysql-server

4:出现无法安装MySQL报错的话
Package mysql-server available, but not installed.
No match for argument: mysql-server
Error: No packages marked for reinstall.

        可能有如下原因

  • 包管理器配置问题:尝试运行以下命令更新包列表:

    • 对于基于 Debian 的系统(如 Ubuntu),使用 sudo apt update
    • 对于基于 Red Hat 的系统(如 CentOS 或 Fedora),使用 sudo yum check-updatesudo dnf check-update
  • 仓库问题:你的系统可能没有启用包含 mysql-server 包的仓库。

  • 包名称问题:有些系统可能使用不同的包名称。例如,在某些系统上,MySQL 服务器的包可能叫 mysql-server,而在其他系统上可能叫 mysql-community-servermariadb-server(MariaDB 是 MySQL 的一个分支,通常在许多现代 Linux 发行版中作为默认的 MySQL 替代品)。

  • 系统版本不支持:你的系统版本可能不支持 mysql-server 包,或者这个包在你的系统版本中不再提供。

        经检查,我的系统是CentOs 9 的版本,CentOS 8以上 默认不提供 MySQL 的支持,而是推荐使用 MariaDB 作为默认的数据库管理系统。这是因为 MariaDB 是 MySQL 的一个分支,通常被认为是 MySQL 的替代品,并且在 CentOS 和 RHEL 的许多版本中被默认包含。

        我选择仍然在 CentOS 9上继续安装 MySQL。

        可通过官网下载安装包安装,或是yum包管理器安装。

        要安装 MySQL,需要先配置 MySQL 的官方仓库,然后通过包管理器安装。

(二):以下是如何在 CentOS 8 以上系统上安装 MySQL 的步骤:

1:添加 MySQL 官方仓库

        首先,你需要下载并安装 MySQL 官方的 YUM 仓库配置包。这将使你能够从 MySQL 的官方仓库中安装和更新 MySQL。PS:dnf和yum命令都可以通用

sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

        这个命令会下载并安装 MySQL 官方的仓库配置包。

2:启用 MySQL 仓库

        默认情况下,安装 MySQL 仓库包后,MySQL 8.0 版本的仓库是启用的。

3:安装 MySQL

        通过以下命令安装 MySQL 服务器:

sudo dnf install mysql-community-server
4:启动 MySQL 服务

        启动 MySQL 服务并设置为开机自启:

sudo systemctl start mysqld

sudo systemctl enable mysqld
5:获取临时 root 密码

安装完成后,MySQL 会生成一个临时的 root 密码。你可以从日志文件中找到它:

sudo grep 'temporary password' /var/log/mysqld.log
6:运行安全配置脚本

使用临时密码登录 MySQL,并运行 mysql_secure_installation 脚本来进行安全设置:

sudo mysql_secure_installation

按照提示进行设置,包括设置新的 root 密码、删除匿名用户、禁用 root 远程登录等。

7:登录 MySQL

使用新的 root 密码登录 MySQL:

mysql -u root -p

(三):出现GPG安装Mysql安装包错误,无法检验公钥处理方法:

        当出现GPG安装Mysql安装包错误

GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
mysql-community-server-8.0.39-1.el9.x86_64.rpm 的公钥未安装。失败的软件包是:mysql-community-server-8.0.39-1.el9.x86_64

        报错信息有

Failing package is: mysql-community-libs-8.0.39-1.el9.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
Public key for mysql-community-server-8.0.39-1.el9.x86_64.rpm is not installed. Failing package is: mysql-community-server-8.0.39-1.el9.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

        这是遇到 GPG 密钥配置问题,通常是由于系统无法验证包的签名,因为缺少或损坏了必要的 GPG 密钥。下面一些步骤,帮助你解决 GPG 密钥问题并成功安装 MySQL:

1. 清理 DNF 缓存

        首先,清理 DNF 缓存以确保没有旧的或损坏的缓存数据影响安装:

sudo dnf clean all
2. 重新导入 MySQL GPG 密钥

        确保 MySQL GPG 密钥已正确导入到系统中。你可以重新下载并导入 MySQL 的 GPG 密钥:

sudo curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
3. 检查 MySQL 仓库配置

        确认你的 MySQL 仓库配置正确。查看 MySQL 的仓库配置文件,确保其指向正确的 URL。你可以在 /etc/yum.repos.d/ 目录下找到相关的配置文件(通常是 mysql-community.repo)。查看文件内容,确保 baseurlmirrorlist 指向正确的 MySQL 仓库。

4. 安装 MySQL 包

        尝试重新安装 MySQL 包:

sudo dnf install mysql-community-server

如果遇到 GPG 检查失败的问题,可以尝试临时禁用 GPG 检查(这通常不推荐,仅在特殊情况下使用):我是用此方法跳过才安装的,慎用!

sudo dnf --nogpgcheck install mysql-community-server
5. 检查网络连接

        确保你的系统能够访问 MySQL 的官方仓库。网络问题、代理设置或防火墙配置有时可能阻止访问外部仓库。你可以尝试在浏览器中访问 MySQL 官方的仓库 URL,确认网络连接正常。

6. 检查错误日志

        如果问题仍然存在,可以查看 DNF 错误日志以获取更多信息。这可以帮助你诊断具体的问题:

sudo tail -f /var/log/dnf.log

        而后解决问题可看到MySQL

标签:sudo,root,GPG,报错,mysql,MySQL,服务器,安装
From: https://blog.csdn.net/weixin_43856221/article/details/141997996

相关文章

  • 配置PHP的Session存储到Mysql / Redis / memcache 以及使用opcache以及apc缓存清除工
    一、配置PHP的Session存储到Mysql,Redis以及memcache等        PHP的会话默认是以文件的形式存在的,可以通过简单的配置到将Session存储到NoSQL中,即提高了访问速度,又能很好地实现会话共享!1.默认配置:session.save_handler=filessession.save_path=/tmp/2.配......
  • 自动化运维工具之WGCLOUD使用操作指南,为服务器安全保驾护航
    WGCLOUD官网下载安装包:www.wgstart.com 1、部署WGCLOUD运行的前置条件说明WGCLOUD包括:server为服务端(或主控端),agent为客户端(探针端、被控端)WGCLOUD的server和agent,可以部署在已有业务运行的主机,不要求主机是纯净的操作系统。当然了,纯净的系统也可以部署WGCLOUDWGCLOUD是绿色......
  • PHP代码是如何在服务器上执行的?
    PHP代码在服务器上执行的过程可以总结如下:用户请求:当用户在浏览器地址栏输入要访问的PHP页面文件名并回车,这会触发一个Web请求,并将请求传送到支持PHP的Web服务器(如Apache、IIS或Nginx)。服务器接收请求:Web服务器接收到这个请求后,根据其后缀名识别出这是一个PHP文件,并将其传......
  • 六、MySQL高级—架构介绍(1)
    ......
  • 十、MySQL高级—查询截取分析(3)
    ......
  • MySQL数据一致性
    在MySQL数据库中,事务隔离级别读已提交、可重复读,在事务、并发控制方法、数据库锁有什么区别与联系?在MySQL数据库中,事务隔离级别读已提交(ReadCommitted)和可重复读(RepeatableRead)是两种不同的事务隔离级别,它们在事务处理、并发控制方法和数据库锁方面有各自的特点和联系......
  • ubuntu 和windows用samba服务器实现数据传输
    1,linux安装samba服务器sudoapt-getinstallsambasamba-common2,linux配置权限,修改目录权限,linux下共享的文件权限设置。sudochmod777/home/lark-R3.添加samba用户 sudosmbpasswd-a lark4,配置共享目录打开/smb.conf在文件末尾添加如下信息: vim/et......
  • samba不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接
     原文 https://www.cnblogs.com/senior-engineer/p/4528378.html参考:http://blog.chinaunix.net/u/19637/showart_491257.html怎么解决呢?事实上这个不是samba的限制。是Windows的限制。始终要用public=yes的话,上面的方法都不能有效解决,因为:在打开存在public=yes的samba服务器......
  • CentOS 8FTP服务器
    FTP(文件传输协议)是一种客户端-服务器网络协议,允许用户在远程计算机之间传输文件。这里有很多可用于Linux的开源FTP服务软件,最流行最常用的FTP服务软件有PureFTPd,ProFTPD,和vsftpd。在本教程中,我们将在CentOS8[4]上安装vsftpd(非常安全的Ftp守护程序)。这是一个稳定,安全......
  • 游戏行业服务器被攻击了怎么办?
       随着互联网的发展,网民数量激增,电子游戏的普及,庞大的玩家数量必然推动游戏市场发展。游戏受到攻击是游戏开发者永远的痛点,谈“D“色变说的就是DDOS攻击,DDOS攻击是流量攻击的一个总称,还包括SYNFlood、ACKFlood、UDPFlood、TCPFlood、ICMPFlood以及CC攻击。受......