「Percona Server」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
無編輯摘要
(未顯示同一使用者於中間所作的 41 次修訂)
行 2: 行 2:


== 安裝 ==
== 安裝 ==
[[MySQL]]系的資料庫在使用[[jemalloc]]時效能都會提昇不少,在不少分支都有支援jemalloc。其中Percona Server在偵測到jemalloc時會自動啟用<ref>{{Cite web |url=https://www.percona.com/blog/2017/01/03/enabling-and-disabling-jemalloc-on-percona-server/ |title=Enabling and Disabling Jemalloc on Percona Server |accessdate=2018-04-23 |date=2017-01-03}}</ref>。


 安裝<code>libjemalloc1</code>:
[[MySQL]]系的資料庫在使用[[jemalloc]]時效能都會提昇不少,所以在不少衍生版本都有支援jemalloc。其中Percona Server在偵測到系統內有jemalloc時會自動啟用<ref>{{Cite web |url=https://www.percona.com/blog/2017/01/03/enabling-and-disabling-jemalloc-on-percona-server/ |title=Enabling and Disabling Jemalloc on Percona Server |accessdate=2018-04-23 |date=2017-01-03}}</ref>,減少了設定所需的手續。
<syntaxhighlight lang="shell-session">
 
$ sudo apt install libjemalloc1
  在[[Ubuntu]]上先 安裝<code>gnupg2</code>,等下會用到:
 
<syntaxhighlight lang="bash">
sudo apt install -y gnupg2
</syntaxhighlight>
 
首先安裝[[Percona]]的APT設定,以及對應所需的Key:
 
<syntaxhighlight lang="bash">
cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
</syntaxhighlight>
 
裝完後可以更新系統並且安裝Percona Server 5.7與<code>libjemalloc1</code>:
 
<syntaxhighlight lang="bash">
sudo apt update; sudo apt install -y libjemalloc1 percona-server-server-5.7
</syntaxhighlight>
 
或是Percona Server 8.0:
 
<syntaxhighlight lang="bash">
sudo percona-release setup ps80; sudo apt install -y libjemalloc1 percona-server-server
</syntaxhighlight>
</syntaxhighlight>
== 設定 ==
在第一次設定前先停掉Percona Server:
<syntaxhighlight lang="bash">
sudo service mysql stop
</syntaxhighlight>
接著到<code>/etc/mysql/percona-server.conf.d/</code>下將本來的設定檔改名,然後可以參考[https://github.com/gslin/mysql-template/blob/master/mysql-5.7.cnf mysql-5.7.cnf]這邊的設定檔:
<syntaxhighlight lang="bash">
cd /etc/mysql/percona-server.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-5.7.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp
</syntaxhighlight>
Percona Server 8.0版本的則是,可以參考[https://github.com/gslin/mysql-template/blob/master/mysql-8.0.cnf mysql-8.0.cnf]這邊的設定檔:
<syntaxhighlight lang="bash">
cd /etc/mysql/mysql.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-8.0.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp
</syntaxhighlight>
其中最主要的值是<code>innodb_buffer_pool_size</code>,表示InnoDB在記憶體內佔用的空間(這邊設定值不包括overhead,所以實際使用的量通常會超過所設定的值)。當整台機器都是專門給Percona Server使用時,會設定整台伺服器記憶體的60%到75%。如果不是專門使用時可以看資料量與特性決定:
<syntaxhighlight lang="ini">
innodb_buffer_pool_size = 64M
</syntaxhighlight>
設完後就可以啟動:
<syntaxhighlight lang="bash">
sudo service mysql start
</syntaxhighlight>
== 快速安裝 ==
把上面提到的指令一次跑完:
<syntaxhighlight lang="bash">
sudo apt install -y gnupg2; cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb; sudo apt update; sudo apt install -y libjemalloc1 percona-server-server-5.7; sudo service mysql stop; cd /etc/mysql/percona-server.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-5.7.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start
</syntaxhighlight>
Percona Server 8.0版本的則是:
<syntaxhighlight lang="bash">
sudo apt install -y gnupg2; cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb; sudo percona-release setup ps80; sudo apt install -y libjemalloc1 percona-server-server; sudo service mysql stop; cd /etc/mysql/mysql.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-8.0.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start
</syntaxhighlight>
== 相關連結 ==
* [[MySQL]]
* [[Percona]]


== 參考資料 ==
== 參考資料 ==

於 2020年11月29日 (日) 18:01 的修訂

Percona Server是一套資料庫軟體,源自MySQL

安裝

MySQL系的資料庫在使用jemalloc時效能都會提昇不少,所以在不少衍生版本都有支援jemalloc。其中Percona Server在偵測到系統內有jemalloc時會自動啟用[1],減少了設定所需的手續。

Ubuntu上先安裝gnupg2,等下會用到:

sudo apt install -y gnupg2

首先安裝Percona的APT設定,以及對應所需的Key:

cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

裝完後可以更新系統並且安裝Percona Server 5.7與libjemalloc1

sudo apt update; sudo apt install -y libjemalloc1 percona-server-server-5.7

或是Percona Server 8.0:

sudo percona-release setup ps80; sudo apt install -y libjemalloc1 percona-server-server

設定

在第一次設定前先停掉Percona Server:

sudo service mysql stop

接著到/etc/mysql/percona-server.conf.d/下將本來的設定檔改名,然後可以參考mysql-5.7.cnf這邊的設定檔:

cd /etc/mysql/percona-server.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-5.7.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp

Percona Server 8.0版本的則是,可以參考mysql-8.0.cnf這邊的設定檔:

cd /etc/mysql/mysql.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-8.0.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp

其中最主要的值是innodb_buffer_pool_size,表示InnoDB在記憶體內佔用的空間(這邊設定值不包括overhead,所以實際使用的量通常會超過所設定的值)。當整台機器都是專門給Percona Server使用時,會設定整台伺服器記憶體的60%到75%。如果不是專門使用時可以看資料量與特性決定:

innodb_buffer_pool_size = 64M

設完後就可以啟動:

sudo service mysql start

快速安裝

把上面提到的指令一次跑完:

sudo apt install -y gnupg2; cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb; sudo apt update; sudo apt install -y libjemalloc1 percona-server-server-5.7; sudo service mysql stop; cd /etc/mysql/percona-server.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-5.7.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start

Percona Server 8.0版本的則是:

sudo apt install -y gnupg2; cd /tmp; wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb; sudo percona-release setup ps80; sudo apt install -y libjemalloc1 percona-server-server; sudo service mysql stop; cd /etc/mysql/mysql.conf.d/; sudo mv mysqld.cnf mysqld.cnf.bak; sudo wget -O mysqld.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mysql-8.0.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start

相關連結

參考資料

外部連結