如何在CentOS 7上安装Percona Server

时间:2020-03-05 15:29:08  来源:igfitidea点击:

在本文中,我们将学习percona服务器,它是MySQL和MariaDB的开源替代品。
如果我们需要性能,可靠性和经济高效的解决方案,那么InnoDB数据库引擎使其非常有吸引力,并且是不错的替代选择

在以下各节中,我将介绍在CentOS 7上安装percona服务器的过程,还将介绍对当前数据进行备份,配置以及如何还原备份所需的步骤。

1.什么是Percona?为什么使用Percona

Percona是MySQL和MariaDB数据库的开源替代品,它是MySQL的一个分支,具有许多改进和独特的功能,使其比MySQL更可靠,功能强大且速度更快,但与之完全兼容,甚至可以在Oracle的MySQL和Percona。

Percona独有的功能

  • 分区自适应哈希搜索
  • 快速校验和算法
  • 缓冲池预加载
  • 对FlashCache的支持

MySQL Enterprise和Percona的特定功能

  • 从不同的服务器导入表
  • PAM验证
  • 审核日志
  • 线程池

现在我们很高兴看到所有这些好东西,我们将向我们展示如何安装和进行Percona Server的基本配置。

2.备份数据库

以下命令使用SQL命令创建一个mydatabases.sql文件,以重新创建/恢复salesdb和employeedb数据库,替换数据库名称以反映设置,如果这是全新设置,则跳过

mysqldump -u root -p --databases employeedb salesdb > mydatabases.sql

复制当前配置文件,我们也可以在全新设置中跳过此文件

cp my.cnf my.cnf.bkp

3.删除以前的SQL Server

如果MySQL/MariaDB正在运行,请停止它。

systemctl stop mysql.service

卸载MariaDB和MySQL

yum remove MariaDB-server MariaDB-client MariaDB-shared mysql mysql-server

在/var/lib/mysql中移动/重命名MariaDB文件,这比删除文件更安全,更快捷,就像二级即时备份一样。
:)

mv /var/lib/mysql /var/lib/mysql_mariadb

4.安装Percona二进制文件

我们可以从多种选择中选择如何安装Percona,在CentOS系统中,使用yum或者RPM通常是一个更好的主意,因此本文涵盖了这些方法,而从源代码进行编译和安装则不包括在内。
本文。

从Yum存储库安装:

首先,我们需要为此设置Percona的Yum存储库:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

然后使用以下命令安装Percona:

yum install Percona-Server-client-56 Percona-Server-server-56

上面的命令将安装Percona服务器和客户端,共享库,可能的Perl和perl模块(例如DBI :: MySQL)(如果尚未安装)以及其他所需的依赖项。

从RPM软件包安装:

我们可以在wget的帮助下下载所有rpm软件包:

wget -r -l 1 -nd -A rpm -R "*devel*,*debuginfo*" \ http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.42-37.1/binary/redhat/7/x86_64/

使用rpm实用程序,我们可以一次安装所有软件包:

rpm -ivh Percona-Server-server-55-5.5.42-rel37.1.el7.x86_64.rpm \ Percona-Server-client-55-5.5.42-rel37.1.el7.x86_64.rpm \ Percona-Server-shared-55-5.5.42-rel37.1.el7.x86_64.rpm

请注意上述命令的句子末尾的反斜杠“ \”,如果要安装单个软件包,请记住,要满足依赖性,必须先在客户端之前安装共享软件包,然后在服务器之前安装客户端。

5.配置Percona服务器

恢复以前的配置

当我们从MariaDB迁移时,我们可以仅还原在先前步骤中制作的my.cnf文件的备份。

cp /etc/my.cnf.bkp /etc/my.cnf

创建一个新的my.cnf

如果我们需要一个适合我们需要的新配置文件,或者我们没有制作my.cnf的副本,则可以使用此向导,它会通过简单的步骤为我们生成。

这是Percona-Server软件包随附的示例my.cnf文件

# Percona Server template configuration
[mysqld]
## Remove leading # and set to the amount of 内存 for the most important data
# cache in MySQL. Start at 70% of total 内存 for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
## Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
## Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

在使my.cnf文件适合需求之后,是时候启动该服务了:

systemctl restart mysql.service

如果一切正常,则服务器现在已启动并可以接收SQL命令,我们可以尝试使用以下命令进行检查:

mysql -u root -p -e 'SHOW VARIABLES LIKE "version_comment"'

如果无法启动该服务,则可以在/var/log/mysql/mysqld.log中查找原因。
此文件由my.cnf的[mysqld_safe]会话中的log-error选项设置。

tail /var/log/mysql/mysqld.log

我们还可以查看/var/lib/mysql /中的文件,其名称为[hostname] .err形式,例如以下示例:

tail /var/lib/mysql/centos7.err

如果这也无法显示问题所在,则也可以尝试strace:

yum install strace && systemctl stop mysql.service && strace -f -f mysqld_safe

上面的命令非常冗长,输出的级别很低,但是可以告诉我们大多数情况下无法启动服务的原因。

6.保护环境

好的,我们现在已经准备好RDBMS来接收SQL查询,但是将宝贵数据放在没有最低安全性的服务器上并不是一个好主意,最好使用mysql_secure_instalation使其更安全,此实用程序有助于删除未使用的默认功能,并且设置根主密码,并限制使用该用户的访问权限。

只需通过shell程序调用它,然后按照屏幕上的说明进行操作即可。

mysql_secure_install

7.恢复备份

如果我们来自以前的设置,现在可以还原数据库,只需再次使用mysqldump。

mysqldump -u root -p < mydatabases.sql

恭喜,我们刚刚在CentOS Linux上安装了Percona,服务器现在已经可以使用了。
现在,我们可以像使用MySQL一样使用服务,并且服务与之完全兼容。