使用Oracle的RPM包在Linux上安装MYSQL

news2025/1/8 15:47:19

在基于RPM的Linux发行版上安装MySQL的推荐方法是使用Oracle提供的RPM包。对于MySQL社区版,有两种获取来源:

1、从MySQL软件源:

MySQLYum源、MySQLSLES源都能获取

2、从MySQL开发人员专区的下载MySQL社区服务器页面。

MySQL的RPM发行包也可能由其他供应商提供。请注意,它们在特性、功能和约定(包括通信设置)方面可能与Oracle构建的不同,并且本手册中的安装说明不一定适用于它们。应参考供应商的说明。

MySQL RPM 包

表2.8MySQL社区版RPM包

包名称摘要
mysql-community-clientMySQL客户端应用程序和工具
mysql-community-client-pluginsMySQL客户端应用程序的共享插件
mysql-community-common服务器和客户端库的通用文件
mysql-community-develMySQL数据库客户端应用程序的开发表头文件和库
mysql-community-embedded-compatMySQL服务器作为嵌入式库,兼容使用该库版本18的应用程序
mysql-community-icu-data-filesMySQL打包MySQL正则表达式所需的ICU数据文件
mysql-community-libsMySQL数据库客户端应用程序的共享库
mysql-community-libs-compat以前MySQL安装的共享兼容性库;仅当平台支持以前的MySQL版本时才存在
mysql-community-server数据库服务器和相关工具
mysql-community-server-debug调试服务器和插件二进制文件
mysql-community-testMySQL服务器的测试套件
mysql-community源代码 RPM 的文件名通常类似于 mysql-community-8.4.3-1.el7.src.rpm,具体取决于你选择的操作系统版本。
Additional *debuginfo* RPMs一些debuginfo 包: mysql-community-client-debuginfo, mysql-community-libs-debuginfo mysql-community-server-debug-debuginfo mysql-community-server-debuginfo, and mysql-community-test-debuginfo.

表2.9MySQL企业版RPM包

包名称摘要
mysql-commercial-backupMySQL企业备份
mysql-commercial-clientMySQL客户端应用程序和工具
mysql-commercial-client-pluginsMySQL客户端应用程序的共享插件
mysql-commercial-common服务器和客户端库的通用文件
mysql-commercial-develMySQL数据库客户端应用程序的开发表头文件和库
mysql-commercial-embedded-compatMySQL服务器作为嵌入式库,兼容使用该库版本18的应用程序
mysql-commercial-icu-data-filesMySQL打包MySQL正则表达式所需的ICU数据文件
mysql-commercial-libsMySQL数据库客户端应用程序的共享库
mysql-commercial-libs-compat以前MySQL安装的共享兼容性库;仅当平台支持以前的MySQL版本时才存在。库的版本与您使用的分布默认安装的库版本相匹配。
mysql-commercial-server数据库服务器和相关工具
mysql-commercial-testMySQL服务器的测试套件
Additional *debuginfo* RPMs一些 debuginfo 包: mysql-commercial-client-debuginfo, mysql-commercial-libs-debuginfo mysql-commercial-server-debug-debuginfo mysql-commercial-server-debuginfo, and mysql-commercial-test-debuginfo.

RPM的全名具有以下格式:

packagename-version-distribution-arch.rpm

 distributionarch值表示Linux发行版和构建包的处理器类型。

表2.10MySQL Linux RPM包发行版本定义

发行版预期使用
el{version}其中{version}是主要的企业Linux版本,例如基于el8EL6(8.0)、EL7、EL8和EL9的平台(例如,OracleLinux、Red Hat EnterpriseLinux和CentOS的相应版本)
fc{version}其中{version}是主要的Fedora版本,例如fc37Fedora 39、40和41
sl5SUSELinuxEnterprise Server 15

要查看RPM包(例如mysql-community-server)中的所有文件,请使用以下命令: 

$> rpm -qpl mysql-community-server-version-distribution-arch.rpm

本节其余部分的讨论仅适用于使用直接从Oracle下载而不是通过MySQL存储库下载的rpm包的安装过程。

某些包之间存在依赖关系。如果您计划安装许多包,您可能希望下载RPM包tar文件,其中包含上面列出的所有rpm包,因此您无需单独下载它们。

在大多数情况下,您需要安装mysql-community-servermysql-community-clientmysql-community-client-pluginsmysql-community-libsmysql-community-icu-data-filesmysql-community-commonmysql-community-libs-compat包,以获得功能完整的标准MySQL安装。要执行这种标准的基本安装,请转到包含所有这些包的文件夹(最好不要有其他具有相似名称的rpm包),并发出以下命令:

$> sudo yum install mysql-community-{server,client,client-plugins,icu-data-files,common,libs}-*

对于SLES,将yum替换为zypper,对于Fedora,将dnf替换为。

虽然最好使用像yum这样的高级包管理工具来安装包,但喜欢直接rpm命令的用户可以用rpm-Uvh命令替换yum install命令;然而,由于安装过程可能会遇到潜在的依赖问题,使用rpm-Uvh会使安装过程更容易失败。

要仅安装客户端程序,可以跳过要安装的包列表中的mysql-community-server;发出以下命令:

$> sudo yum install mysql-community-{client,client-plugins,common,libs}-*

对于SLES,将yum替换为zypper,对于Fedora,将dnf替换为。

一个使用rpm包标准的MySQL安装会在系统目录下创建文件和资源,如下表所示。

表2.11MySQL 安装布局(适用于 Linux RPM 包)

文件或资源位置
客户端程序和脚本/usr/bin
mysqld服务/usr/sbin
配置文件/etc/my.cnf
数据目录/var/lib/mysql
错误日志文件

对于RHEL, Oracle Linux, CentOS or Fedora 平台: /var/log/mysqld.log

对于SLES平台: /var/log/mysql/mysqld.log

secure_file_priv的值/var/lib/mysql-files
System V的初始化脚本

对于RHEL, Oracle Linux, CentOS or Fedora 平台: /etc/init.d/mysqld

对于SLES平台: /etc/init.d/mysql

Systemd 服务名称

对于RHEL, Oracle Linux, CentOS or Fedora 平台: mysqld

对于SLES平台: mysql

Pid文件/var/run/mysql/mysqld.pid
Socket文件/var/lib/mysql/mysql.sock
秘钥目录/var/lib/mysql-keyring
Unix 帮助手册/usr/share/man
包含的(头) 文件/usr/include/mysql
lib库/usr/lib/mysql
其他支持文件(例如,错误消息和字符集文件)/usr/share/mysql

安装还会在系统上创建一个名为mysql的用户和一个名为mysql的组。

如果使用useradd命令的-r-s /bin/false选项创建的mysql用户,该用户对服务器主机没有登录权限。要在操作系统上切换到mysql用户,请使用--shell=/bin/bash命令的su选项:

$> su - mysql --shell=/bin/bash
  • 使用旧软件包安装以前版本的MySQL可能会创建一个名为/usr/my.cnf的配置文件。强烈建议您检查文件的内容并将里面所需的设置迁移到文件/etc/my.cnf文件,然后删除/usr/my.cnf

MySQL不会在安装过程结束时自动启动。对于Red Hat EnterpriseLinux、OracleLinux、CentOS和Fedora系统,请使用以下命令启动MySQL:

$> systemctl start mysqld

 对于SLES系统,命令相同,但服务名称不同:

$> systemctl start mysql

如果操作系统启用了systemd,则应使用标准systemctl(或者参数反转的service)命令(例如stop、start、status和restart)来管理MySQL服务器服务。mysqld服务默认启用,并在系统重新启动时启动。

在使用rpm和deb包的升级安装过程中,如果MySQL服务器正在运行,升级程序会首先停止MySQL服务器,然后执行升级,升级完成后重新启动MySQL服务器。例外情况:如果在升级过程中 MySQL 的版本类型发生了变化(例如,从社区版升级到企业版,或反之),则 MySQL 服务器不会自动重启。在这种情况下,你需要在升级后手动重启 MySQL 服务器,以确保所有更改生效。

在服务器初次启动时,如果服务器的数据目录为空,会发生以下情况:

1、初始化服务器

2、在数据目录中生成SSL证书和密钥文件

3、安装validate_password并启用

4、超级用户帐户'root'@'localhost'被创建。生成超级用户的临时密码并存储在错误日志文件中。要显示密码,请对RHEL、OracleLinux、CentOS和Fedora系统使用以下命令:

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

对SLES系统使用以下命令:

$> sudo grep 'temporary password' /var/log/mysql/mysqld.log

 下一步是使用生成的临时密码登录,并为超级用户帐户设置自定义密码:

$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
validate_password默认安装。validate_password实现的默认密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。

如果在安装过程中出现问题,您可能会在错误日志文件/var/log/mysqld.log中找到调试信息。

对于某些Linux发行版,可能需要增加mysqld可用文件描述符的数量限制。

安装多个 MySQL 版本的客户端库
可以安装多个版本的客户端库,例如在你需要保持与基于旧库编译的旧应用程序的兼容性时。要安装旧版本的客户端库,可以使用 rpm 的 --oldpackage 选项。例如,要在已经安装了来自 MySQL 8.0 的 libmysqlclient.21 的 EL6 系统上安装 mysql-community-libs-5.5,可以使用如下命令:

$> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm

调试包。带有调试功能的MySQL Server的特殊变体已编译到服务器中的rpm包。它执行调试和内存分配检查,并在服务器运行时生成跟踪文件。要使用该调试版本,你可以使用 /usr/sbin/mysqld-debug 来启动 MySQL,而不是通过服务管理工具(如 systemctl 或 service)或使用标准的 /usr/sbin/mysqld 命令。mysqld-debug 是一个调试版本的 MySQL 服务器二进制文件,通常用于开发和调试目的,它提供了更多的调试信息和功能。

默认插件目录是/usr/lib64/mysql/plugin/debug,可配置plugin_dir。

从源SRPM重建RPM。MySQL的源代码SRPM包可供下载。它们可以按原样使用标准rpmbuild工具链重建MySQLRPM。

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

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

相关文章

了解RabbitMQ中的Exchange:深入解析与实践应用

在分布式系统设计中,消息队列(Message Queue)扮演着至关重要的角色,而RabbitMQ作为开源消息代理软件的佼佼者,以其高性能、高可用性和丰富的功能特性,成为了众多开发者的首选。在RabbitMQ的核心组件中&…

前端通过后端返回的数据流下载文件

后端返回文件流,下载的文件无法读取,损坏,原因是因为接口处理没有加 blob类型 downloadFile(row.fileId).then(res > { // res 即后端返回的数据流 const blob new Blob([res.data]) if (blob && blob.size 0) { this.$notify.error(内容为空,无法下载…

基于 GEE Sentinel-1 数据集提取水体

目录 1 水体提取原理 2 完整代码 3 运行结果 1 水体提取原理 水体提取是地理信息和遥感技术的关键应用之一,对于多个领域都具有重要的应用价值。它有助于更好地管理水资源,保护环境,减少灾害风险,促进可持续发展,以…

BloombergGPT: A Large Language Model for Finance——面向金融领域的大语言模型

这篇文章介绍了BloombergGPT,一个专门为金融领域设计的大语言模型(LLM)。以下是文章的主要内容总结: 背景与动机: 大语言模型(如GPT-3)在多个任务上表现出色,但尚未有针对金融领域的…

ansible-api分析(VariableManager变量)

一. 简述: ansible是一个非常强大的工具,可以支持多种类型(字符,数字,列表,字典等)的变量。除了有大量的内置变量及fact变量,也可以通过多种方式进行变量自定义 。不同方式定义的变量,优先级也不太一样,之…

2025年PMP考试最新报名通知

经PMI和中国国际人才交流基金会研究决定,中国大陆地区2025年第一期PMI认证考试定于3月15日举办。在基金会网站报名参加本次PMI认证考试的考生须认真阅读下文,知悉考试安排及注意事项,并遵守考试有关规定。 一、时间安排 (一&#…

Mysql--基础篇--数据类型(整数,浮点数,日期,枚举,二进制,空间类型等)

MySQL提供了多种数据类型,用于定义表中列的数据格式。选择合适的数据类型不仅可以提高查询性能,还能确保数据的完整性和准确性。 一、数值类型 数值类型用于存储整数、浮点数和定点数。根据精度和范围的不同,数值类型可以分为以下几类&…

1-Transformer算法解读

目录 一.RNN与Transfrmer 二.word2vec 三.自注意力机制 四.辅助向量Q/K/V 五.计算过程 六.整体架构​编辑 七.Bert 一.RNN与Transfrmer RNN(循环神经网络)和Transformer都是深度学习中用于处理序列数据的模型,但它们在结构和性能上有显著的区别。以下是它们的一些…

Java Web开发进阶——Spring Boot与Spring Data JPA

Spring Data JPA 是 Spring 提供的一种面向数据访问的持久化框架,它简化了 JPA 的实现,为开发者提供了一种快速操作数据库的方式。在结合 Spring Boot 使用时,开发者能够快速完成数据库访问层的开发。 1. 介绍Spring Data JPA 1.1 什么是Spr…

【计算机操作系统:一、绪论】

第1章 绪论 1.1 操作系统在计算机系统中的地位 1.1.1 存储程序式计算机的结构和特点 存储程序式计算机(Stored Program Computer)是现代计算机的基础,其概念源于冯诺依曼(John von Neumann)提出的模型。这种计算机架…

如何查看服务器上的MySQL/Redis等系统服务状态和列表

如果呢你知道系统服务名称,要看状态很简单: systemctl status server-name 比如 systemctl status nginxsystemctl status redis # 等 这是一个nginx的示例: 那问题是 当你不知道服务名称时该怎么办。举个例子,比如mysql在启动…

安科瑞Acrel-1000DP分布式光伏监控系统在浙江安吉成3234.465kWp分布式光伏发电项目中的应用

摘 要:分布式光伏发电站是指将光伏发电组件安装在用户的建筑物屋顶、空地或其他适合的场地上,利用太阳能进行发电的一种可再生能源利用方式,与传统的大型集中式光伏电站相比,分布式光伏发电具有更灵活的布局、更低的建设成本和更高…

探索 Vue.js 的动态样式与交互:一个有趣的样式调整应用

修改日期备注2025.1.3初版 一、前言 今天和大家分享在 Vue.js 学习过程中开发的超酷的小应用。这个应用可以让我们通过一些简单的交互元素,如复选框、下拉菜单和输入框,来动态地改变页面上元素的样式哦 让我们一起深入了解一下这个项目的实现过程&…

大数据-268 实时数仓 - ODS层 将 Kafka 中的维度表写入 DIM

点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! MyBatis 更新完毕目前开始更新 Spring,一起深入浅出! 目前已经更新到了: H…

把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用

将vue项目发布成npm库文件,第三方通过npm依赖安装使用;使用最近公司接了一个项目,这个项目需要集成到第三方页面,在第三方页面点击项目名称,页面变成我们的项目页面;要求以npm库文件提供给他们;…

Kafka为什么要放弃Zookeeper

1.Kafka简介 Apache Kafka最早是由Linkedin公司开发,后来捐献给了Apack基金会。 Kafka被官方定义为分布式流式处理平台,因为具备高吞吐、可持久化、可水平扩展等特性而被广泛使用。目前Kafka具体如下功能: 消息队列,Kafka具有系统解耦、流…

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…

java 转义 反斜杠 Unexpected internal error near index 1

代码: String str"a\\c"; //出现异常,Unexpected internal error near index 1 //System.out.println(str.replaceAll("\\", "c"));//以下三种都正确 System.out.println(str.replace(\\, c)); System.out.println(str.r…

el-table 实现纵向多级表头

为了实现上图效果,最开始打算用el-row、el-col去实现,但发现把表头和数据分成两大列时,数据太多时会导致所在格高度变高。但由于每一格数据肯定不一样,为保持高度样式一致,就需要我们手动去获取最高格的高度之后再设置…

2025最新版Visual Studio Code安装使用指南

2025最新版Visual Studio Code安装使用指南 Installation and Usage Guide for the Latest Visual Studio Code in 2024 By JacksonML 2025-1-7 1. Visual Studio Code背景 早在二十年前,通用的集成开发环境(Integrated Deveopment Environment, 简称…