如何在CentOS 7上安裝Percona服務器

在這篇文章中咱們將瞭解關於 Percona 服務器,一個開源的MySQL,MariaDB的替代品。InnoDB的數據庫引擎使得Percona 服務器很是有吸引力,若是你須要的高性能,高可靠性和高性價比的解決方案,它將是一個很好的選擇。mysql

在下文中將介紹在CentOS 7上 Percona 服務器的安裝,以及備份當前數據,配置的步驟和如何恢復備份。linux

 

1.什麼是Percona,爲何使用它算法

Percona是一個MySQL,MariaDB數據庫的開源替代品,它是MySQL的一個分支,至關多的改進和獨特的功能使得它比MYSQL更可靠,性能更強,速度更快,它與MYSQL徹底兼容,你甚至能夠在Oracle的MySQL與Percona之間使用複製。sql

在Percona中獨具特點的功能shell

分區適應哈希搜索數據庫

快速校驗算法centos

緩衝池預加載緩存

支持FlashCache安全

MySQL企業版和Percona中的特有功能服務器

從不一樣的服務器導入表

PAM認證

審計日誌

線程池

如今,你確定很興奮地看到這些好的東西整合在一塊兒,咱們將告訴你如何安裝和對Percona Server作基本配置。

 

2. 備份你的數據庫

接下來,在命令行下使用SQL命令建立一個mydatabases.sql文件,來重建或恢復salesdb和employeedb數據庫,根據你的設置替換數據庫名稱,若是沒有安裝MySQL則跳過此步:

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

複製當前的配置文件,若是你沒有安裝MYSQL也可跳過:

cp my.cnf my.cnf.bkp

 

3.刪除以前的SQL服務器

中止MYSQL/MariaDB,若是它們還在運行:

systemctl stop mysql.service

卸載MariaDB和MYSQL:

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

移動重命名放在/var/lib/mysql當中的MariaDB文件。這比僅僅只是移除更爲安全快速,這就像2級即時備份。:)

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包:

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文件

若是你須要一個適合你需求的新的配置文件或者你並無備份配置文件,你可使用如下方法,經過簡單的幾步生成新的配置文件。

下面是Percona-server軟件包自帶的my.cnf文件

# Percona Server template configuration

[mysqld]

#

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM 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的[mysql_safe]的log-error中設置。

tail /var/log/mysql/mysqld.log

你也能夠在/var/lib/mysql/文件夾下查找格式爲[主機名].err的文件,就像下面這個例子:

tail /var/lib/mysql/centos7.err

若是仍是沒找出緣由,你能夠試試strace:

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

上面的命令挺長的,輸出的結果也相對簡單,但絕大多數時候你都能找到沒法啓動的緣由。

 

6.保護你的數據

好了,你的關係數據庫管理系統已經準備好接收SQL查詢,可是把你寶貴的數據放在沒有最起碼安全保護的服務器上並不可取,爲了更爲安全最好使用mysqlsecureinstall來安裝,這個工具能夠幫助你刪除未使用的默認功能,並設置root的密碼,限制使用此用戶進行訪問。只須要在shell中執行該命令,並參照屏幕上的說明操做。

mysql_secure_install

 

7.還原備份

若是您參照以前的設置,如今你能夠恢復數據庫,只需再用mysqldump一次。

mysqldump -u root -p < mydatabases.sql

恭喜你,你剛剛已經在你的CentOS上成功安裝了Percona,你的服務器已經能夠正式投入使用;你能夠像使用MySQL同樣使用它,你的服務器與它徹底兼容。

 

總結

爲了得到更強的性能你須要對配置文件作大量的修改,但這裏也有一些簡單的選項來提升機器的性能。當使用InnoDB引擎時,將innodbfileper_table設置爲on,它將在一個文件中爲每一個表建立索引表,這意味着每一個表都有它本身的索引文件,它使系統更強大和更容易維修。

能夠修改innodbbufferpool_size選項,InnoDB應該有足夠的緩存池來應對你的數據集,大小應該爲當前可用內存的70%到80%。

 

將innodb-flush-method設置爲O_DIRECT,關閉寫入高速緩存,若是你使用了RAID,這能夠提高性能,由於在底層已經完成了緩存操做。

若是你的數據並非十分關鍵而且並不須要對數據庫事務正確執行的四個基本要素徹底兼容,能夠將innodbflushlogattrx_commit設置爲2,這也能提高系統的性能。

免費領取兄弟連IT教育原創linux運維工程師視頻/細說linux教程,詳情諮詢官網客服:http://www.lampbrother.net/linux/

或者勾搭Q2430675018

歡迎加入linux交流羣 478068715

相關文章
相關標籤/搜索