10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

MySQL 5.7参考手册/.../ 使用Oracle的RPM包在Linux上安装MySQL

2.5.5使用Oracle的RPM包在Linux系统上安装MySQL

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

请注意

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

如果您的系统上有这样一个MySQL的第三方发行版,并且现在想要使用从MySQL开发者专区下载的RPM包迁移到Oracle的发行版,请参阅博彩到10bet娱乐城兼容其他厂商的RPM包在下面。但是,迁移的首选方法是使用MySQL Yum资源库MySQL SLES库

MySQL的RPM包如下表所示:

表2.9 MySQL社区版RPM包

包名 总结
mysql-community-server 数据库服务器及相关工具
mysql-community-client MySQL客户机应用程序和工具
mysql-community-common 服务器和客户端库的通用文件
mysql-community-devel MySQL数据库客户端应用程序的开发头文件和库
mysql-community-libs MySQL数据库客户端应用程序的共享库
mysql-community-libs-compat 用于以前MySQL安装的共享兼容性库
mysql-community-embedded MySQL嵌入式图书馆
mysql-community-embedded-devel 开发头文件和库的MySQL作为一个嵌入式库
mysql-community-test MySQL服务器的测试套件

表2.10 MySQL企业版的RPM包

包名 总结
mysql-commercial-server 数据库服务器及相关工具
mysql-commercial-client MySQL客户机应用程序和工具
mysql-commercial-common 服务器和客户端库的通用文件
mysql-commercial-devel MySQL数据库客户端应用程序的开发头文件和库
mysql-commercial-libs MySQL数据库客户端应用程序的共享库
mysql-commercial-libs-compat 用于以前MySQL安装的共享兼容性库
mysql-commercial-embedded MySQL嵌入式图书馆
mysql-commercial-embedded-devel 开发头文件和库的MySQL作为一个嵌入式库
mysql-commercial-test MySQL服务器的测试套件

rpm的全名有以下语法:

packagename-版本-分布-rpm程序

分布而且值指示为其构建包的Linux发行版和处理器类型。分布标识符列表见下表:

表2.11 MySQL Linux RPM包分发标识符

分配值 预期用途
埃尔{version}在哪里{version}主要的Enterprise Linux版本,如el8 基于EL6、EL7、el8的平台(如Oracle Linux、Red Hat Enterprise Linux、CentOS对应版本)
sles12 SUSE Linux Enterprise Server

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

RPM -qpl mysql-community-server-版本-分布-rpm程序

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

一些包之间存在依赖关系。如果您计划安装许多软件包,您可能希望下载RPM包焦油它包含上面列出的所有RPM包,所以您不需要单独下载它们。

在大多数情况下,您需要安装mysql-community-servermysql-community-clientmysql-community-libsmysql-community-common,mysql-community-libs-compat软件包,以获得一个功能性的,标准的MySQL安装。要执行这样一个标准的、基本的安装,请转到包含所有这些包的文件夹(最好不要有其他名称类似的RPM包),并针对平台发出以下命令除了Red Hat Enterprise Linux/Oracle Linux/CentOS:

Shell > sudo yum install mysql-community-{server,client,common,libs}-*

取代百胜zypperSLES。

对于Red Hat Enterprise Linux/Oracle Linux/CentOS系统:

Shell > sudo yum install mysql-community-{server,client,common,libs}-* mysql-5.*

而更可取的做法是使用高级包管理工具,如百胜要安装软件包,用户喜欢直接安装rpm命令可以代替yum安装命令rpm -Uvh命令;然而,使用rpm -Uvh相反,会使安装过程更容易失败,因为安装过程可能会遇到潜在的依赖关系问题。

如果只安装客户端程序,可以跳过mysql-community-server在要安装的软件包列表中;针对平台发出以下命令除了Red Hat Enterprise Linux/Oracle Linux/CentOS:

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

取代百胜zypperSLES。

对于Red Hat Enterprise Linux/Oracle Linux/CentOS系统:

Shell > sudo yum install mysql-community-{client,common,libs}-* mysql-5.*

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

表2.12 MySQL Developer Zone for Linux RPM包安装布局

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

对于RHEL、Oracle Linux、CentOS或Fedora平台:/var/log/mysqld.log

SLES的:/var/log/mysql/mysqld.log

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

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

SLES的:/etc/init.d/mysql

Systemd服务

对于RHEL、Oracle Linux、CentOS或Fedora平台:mysqld

SLES的:mysql

Pid文件 /var/run/mysql/mysqld.pid
套接字 /var/lib/mysql/mysql.sock
密匙环目录 /var/lib/mysql-keyring
Unix手册页 /usr/share/man
包括(头)文件 /usr/include/mysql
/usr/lib/mysql
其他支持文件(例如,错误消息和字符集文件) /usr/share/mysql

安装过程还会创建一个名为mysql还有一个名为mysql在系统上。

请注意

使用旧包安装以前版本的MySQL可能会创建一个名为/usr/my.cnf.强烈建议您检查文件的内容,并将所需的设置迁移到文件中/etc/my.cnf文件,然后删除/usr/my.cnf

MySQL在安装结束时不会自动启动。对于Red Hat Enterprise Linux、Oracle Linux、CentOS和Fedora系统,使用如下命令启动MySQL:

Shell > sudo服务mysqld启动

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

Shell > sudo服务mysql启动

如果操作系统是“systemd enabled”,则为标准配置服务命令,如停止开始状态而且重新启动应该用来管理MySQL服务器服务。的mysqld服务在默认情况下是启用的,它在系统重启时启动。注意,在systemd平台上,某些事情可能会有不同的工作方式:例如,更改数据目录的位置可能会导致问题。看到第2.5.10节,“用systemd管理MySQL服务器”额外的信息。

使用RPM包和DEB包进行升级安装时,如果MySQL服务器正在运行,则会停止MySQL服务器,进行升级,并重新启动MySQL服务器。有一个例外:如果版本在升级过程中也发生了变化(比如社区升级到商业版本,或者反之亦然),那么MySQL服务器不会重新启动。

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

  • 初始化服务器。

  • 在data目录下生成SSL证书文件和密钥文件。

  • validate_password已安装并启用。

  • 一个超级用户帐户“根”@“localhost”被创建。设置超级用户密码并保存在错误日志文件中。对于RHEL、Oracle Linux、CentOS和Fedora系统,可以使用以下命令显示:

    Shell > sudo grep '临时密码' /var/log/mysqld.log

    对于SLES系统,使用如下命令:

    Shell > sudo grep '临时密码' /var/log/mysql/mysqld.log

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

Shell > mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
请注意

validate_password默认安装。缺省的密码策略validate_password要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,总长度不小于8个字符。

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

对于某些Linux发行版,可能需要增加可用的文件描述符数量的限制mysqld.看到B.3.2.16节,“文件未找到及类似错误”

兼容其他厂商的RPM包。如果你已经从你的Linux发行版的本地软件资源库中安装了MySQL的软件包,那么最好使用你的平台的软件包管理系统(百胜dnf,或zypper),如上文所述。该命令用新包替换旧包,以确保旧应用程序与新安装的兼容性;例如,老年人mysql-libs包被替换为mysql-community-libs-compat软件包,它为使用旧MySQL安装的应用程序提供了一个替换兼容的客户端库。如果有更老的版本mysql-community-libs-compat在系统中,它也会被替换。

如果您安装了非来自Linux发行版本地软件资源库的第三方MySQL包(例如,从Oracle以外的供应商直接下载的包),那么在安装从Oracle直接下载的新包之前,应该卸载所有这些包。这是因为这些供应商的RPM包和Oracle的RPM包之间可能会产生冲突:例如,供应商关于哪些文件属于服务器,哪些属于客户端库的约定可能与Oracle包使博彩到10bet娱乐城用的约定不同。尝试安装Oracle RPM可能会导致消息说,要安装的RPM中的文件与安装包中的文件冲突。

从多个MySQL版本安装客户端库。可以安装多个客户端库版本,例如,如果您想保持与链接到以前库的旧应用程序的兼容性。要安装较旧的客户端库,请使用——oldpackage选项rpm.例如,安装mysql -社区- libs - 5.5在EL6系统上有libmysqlclient.20在MySQL 5.7中,使用这样的命令:

Shell > RPM——oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm

调试方案。MySQL服务器的一种特殊变体调试方案已包含在服务器的RPM包中。它执行调试和内存分配检查,并在服务器运行时生成跟踪文件。要使用调试版本,请使用/usr/sbin/mysqld-debug,而不是将其作为服务启动/usr/sbin/mysqld.看到第5.8.3节,“DBUG包”用于您可以使用的调试选项。

请注意

用于调试构建的默认插件目录更改为/usr/lib64/mysql/plugin/usr/lib64/mysql/plugin/debug在5.7.21。以前,改变是必要的plugin_dir/usr/lib64/mysql/plugin/debug为调试构建。

从源srpm重建rpm。可以下载用于MySQL的源代码SRPM包。它们可以按原样使用,以标准重新构建MySQL rpmrpmbuild工具链。

pre-GA版本的密码。对于MySQL 5.7.4和5.7.5,初始随机密码写入.mysql_secret的目录中的文件首页环境变量。在尝试访问文件时,请记住,根据操作系统的不同,使用如下命令sudo可能造成的价值首页的主目录系统用户。.mysql_secret模式600只对创建它的系统用户可访问。在MySQL 5.7.4之前,帐户(包括)在MySQL中创建的RPM安装授权表最初没有密码;启动服务器后,应该使用中的说明为它们分配密码第2.10节,“安装后的设置和测试”."