使用需要的东西:
软件: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包管理。
2:Cnetos8进行Yum 安装MySQL包 (不可用跳转报错解决)
(二):以下是如何在 CentOS 8 以上系统上安装 MySQL 的步骤:
(三):出现GPG安装Mysql安装包错误,无法检验公钥处理方法:
一:进行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,以确保所有服务文件和配置正确:通常情况下,mysql
或 mysqld
服务的丢失意味着安装有问题或者服务文件位置不正确。
在 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-update
或sudo dnf check-update
。
- 对于基于 Debian 的系统(如 Ubuntu),使用
-
仓库问题:你的系统可能没有启用包含
mysql-server
包的仓库。 -
包名称问题:有些系统可能使用不同的包名称。例如,在某些系统上,MySQL 服务器的包可能叫
mysql-server
,而在其他系统上可能叫mysql-community-server
或mariadb-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
)。查看文件内容,确保 baseurl
或 mirrorlist
指向正确的 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