如何在CentOS 7上安装Percona Server
在本文中,我们将学习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一样使用服务,并且服务与之完全兼容。