MySQL Yum存储库提供RPM包,适用于Oracle Linux、Red Hat Enterprise Linux、CentOS和Fedora。用于安装MySQL服务器、客户端、MySQL工作台、MySQL实用程序、MySQL路由器、MySQL外壳、连接器/ODBC、连接器/Python等。
准备
作为一种流行的开源软件。MySQL以其原始或重新打包的形式被广泛安装在来自不同来源的许多系统上,包括不同的软件下载站点、软件存储库等。下在的安装方法是你操作系统上尚未使用第三方分布式RPM包安装MySQL。
新安装MySQL的步骤
以下步骤指导如何在MySQL Yum存储库中安装最新GA版本或选择安装其他版本的的MySQL:
1、添加MySQL-Yum存储库
首先,将MySQL-Yum存储库添加到系统的存储库列表中。安装MySQL提供的RPM来执行。遵循以下步骤:
1.1 进入MySQL Yum存储库页面(https://dev.mysql.com/downloads/repo/yum/)。
1.2 根据你的操作系统,选择并下载匹配的发布包。
1.3 使用以下命令安装下载的发行包。将platform-and-version-specific-package-name替换为下载的RPM软件包名称:
shell> sudo yum install platform-and-version-specific-package-name.rpm
对于基于EL6的系统,命令的形式为:
shell> sudo yum install mysql80-community-release-el6-{version-number}.noarch.rpm
对于基于EL7的系统:
shell> sudo yum install mysql80-community-release-el7-{version-number}.noarch.rpm
基于EL8的系统:
shell> sudo yum install mysql80-community-release-el8-{version-number}.noarch.rpm
Fedora 34:
shell> sudo dnf install mysql80-community-release-fc34-{version-number}.noarch.rpm
Fedora 33:
shell> sudo dnf install mysql80-community-release-fc33-{version-number}.noarch.rpm
installation命令将MySQL-Yum存储库添加到系统的存储库列表中,并下载GnuPG密钥以检查软件包的完整性。
通过以下命令检查MySQL Yum存储库是否已成功安装(对于启用dnf的系统,请将命令中的Yum替换为dnf):
shell> yum repolist enabled | grep "mysql.*-community.*"
注意:
在您的系统上启用MySQL Yum存储库后,通过Yum update命令进行的任何系统范围更新(或对于启用dnf的系统进行dnf升级)都会升级您系统上的MySQL包,并替换任何本机第三方包(如果Yum在MySQL Yum存储库中找到替换包)。
2、选择发布系列
使用MySQL Yum存储库时,默认情况下会选择最新的GA系列(当前为MySQL 8.0)进行安装。如果不用修改,直接跳到安装步骤。
在MySQL-Yum存储库中,MySQL社区版的不同版本系列托管在不同的子存储库中。默认情况下,最新GA系列(当前为MySQL 8.0)的子存储库处于启用状态,而所有其他系列(例如MySQL 8.0系列)的子存储库处于禁用状态。使用此命令查看MySQL Yum存储库中的所有子存储库,并查看其中哪些子存储库已启用或禁用(对于启用dnf的系统,请将命令中的Yum替换为dnf):
shell> yum repolist all | grep mysql
如下图所示:
要安装最新GA系列的最新版本,无需配置。要安装除最新GA系列之外的特定系列的最新版本,请在运行安装命令之前禁用最新GA系列的子存储库,并启用特定系列的子存储库。如果您的平台支持yum-config-manager,则可以通过发出以下命令来执行此操作:禁用5.7系列的子存储库,启用8.0系列的子存储库:
shell> sudo yum-config-manager --disable mysql57-community
shell> sudo yum-config-manager --enable mysql80-community
"yum-config-manager: 未找到命令"的解决办法:
解决: 这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。
执行上面的命令时,报如下错误:
This system is not registered with an entitlement server. You can use subscription-manager to register.
于是,采用了修改/etc/yum.repos.d/mysql-community.repo的办法。
对于支持dnf的系统:
shell> sudo dnf config-manager --disable mysql57-community
shell> sudo dnf config-manager --enable mysql80-community
除了使用yum-config-manager或dnf-config-manager命令外,还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo文件来选择发布系列。文件里列出也所有存储库中找到的所有版本。生个版本典型配置项如下:
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
找到要配置项。指定enabled=0以禁用子存储库,或指定enabled=1以启用子存储库。例如,要安装MySQL 8.0,请确保已为MySQL 5.7的上述子存储库条目启用=0,并为8.0系列的条目启用=1:
# Enable to use MySQL 8.0
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
注意,你只能配置一个enable为启用,其他为禁用。如果启用了多个发行系列的子存储库时,Yum将使用最新的系列。
运行命令并验证是否启用和禁用了正确的子存储库(对于启用dnf的系统,请将命令中的yum替换为dnf):
shell> yum repolist enabled | grep mysql
3、禁用默认MySQL模块
(仅限EL8系统)基于EL8的系统(如RHEL8和Oracle Linux 8)包括默认启用的MySQL模块。除非禁用此模块,否则它会屏蔽MySQL存储库提供的包。要禁用包含的模块并使MySQL存储库包可见,请使用以下命令(对于启用dnf的系统,请将命令中的yum替换为dnf):
shell> sudo yum module disable mysql
4、安装MySQL
shell> sudo yum install mysql-community-server
5、启动MySQL服务
使用以下命令启动MySQL服务器:
shell> systemctl start mysqld
删除之前安装时自己建的/etc/my.cnf文件,重新执行安装。启动成功。
6、使用以下命令检查MySQL服务器的状态:
shell> systemctl status mysqld
如果操作系统已启用systemd,则应使用标准systemctl(或参数颠倒的服务)命令(如stop、start、status和restart)来管理MySQL服务器服务。默认情况下,mysqld服务处于启用状态,并在系统重新启动时启动。有关更多信息,请参阅第2.5.9节“使用systemd管理MySQL服务器”。
在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:
- 服务器已初始化。
- SSL证书和密钥文件在数据目录中生成。
- 已安装并启用验证密码。
- 已创建超级用户帐户“root”@“localhost”。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:
shell> sudo grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改根密码:
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意:
默认情况下已安装验证密码。validate_password实现的默认密码策略要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。
有关安装后程序的更多信息,请参阅第2.10节“安装后设置和测试”。
注意:
基于EL7的平台的兼容性信息:这些平台的本机软件存储库中的以下RPM包与安装MySQL服务器的MySQL Yum存储库中的包不兼容。一旦使用MySQL Yum存储库安装了MySQL,就无法安装这些软件包(反之亦然)。
akonadi-mysql