Percona Server:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
(未显示同一用户的14个中间版本)
第5行: 第5行:
[[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>,減少了設定所需的手續。
[[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>,減少了設定所需的手續。


 在[[Ubuntu]]上 可以 安裝<code>libjemalloc1</code>:
 在[[Ubuntu]]上 安裝<code>gnupg2</code> ,等下會用到


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt install -y gnupg2 libjemalloc1
sudo apt install -y gnupg2
</syntaxhighlight>
</syntaxhighlight>


第17行: 第17行:
</syntaxhighlight>
</syntaxhighlight>


 裝完後可以更新系統並且安裝Percona Server 5.7:
 裝完後可以更新系統並且安裝Percona Server 5.7 與<code>libjemalloc1</code>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt update; sudo apt install -y percona-server-server-5.7
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>


第31行: 第37行:
</syntaxhighlight>
</syntaxhighlight>


 然後 因為我們打算使用不同的InnoDB 數,所以先刪除掉InnoDB 的檔 案(這是新安裝的系統,裡面沒有資料,而且是停掉Percona Server的狀態)
  接著到<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">
<syntaxhighlight lang="bash">
sudo chmod 755 /var/lib/mysql; cd /var/lib/mysql; sudo rm ib*; sudo chmod 750 /var/lib/mysql
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>
</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]這邊的設定檔:
Percona Server 8.0版 本的 則是 ,可以參考[https://github.com/gslin/mysql-template/blob/master/mysql-8.0.cnf mysql-8.0.cnf]這邊的設定檔:


<syntaxhighlight lang="bash">
<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
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>
</syntaxhighlight>


第60行: 第66行:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt install -y gnupg2 libjemalloc1; 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 percona-server-server-5.7; sudo service mysql stop; sudo chmod 755 /var/lib/mysql; cd /var/lib/mysql; sudo rm ib*; sudo chmod 750 /var/lib/mysql; 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
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>
</syntaxhighlight>



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

相关连结

参考资料

外部链接