源碼包方式安裝Percona Server
源碼包方式安裝Percona Server
1 下載源碼tar包
https://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.29-76.2/source/tarball/percona-server-5.6.29-76.2.tar.gz
2 安裝Cmake
下載cmake:https://cmake.org/download/
# tar -zxvf cmake-2.8.9.tar.gz
# cd cmake-2.8.9
#查看協助
# cat Readme.txt
$ ./bootstrap; make; make install
# ./bootstrap
# make
# make install
3 建立相關目錄
#basedir
~# mkdir -p /app/mysql
#datadir
~# mkdir -p /data/percona/mysql/data
~# chown mysql:mysql /app/mysql/ -R
~# chown mysql:mysql /data/percona/mysql/ -R
4 解壓
# tar -zxvf percona-server-5.6.29-76.2.tar.gz
# cd percona-server-5.6.29-76.2
5 編譯安裝
1 使用cmake配置bulid
#cmake . -LH
#cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \ #設定程式安裝路徑
-DMYSQL_DATADIR=/data/percona/mysql/data \ #設定資料存放路徑
-DSYSCONFDIR=/app/mysql \ #設定檔路徑,由於當前有別的mysql執行個體運行,沒有指定/etc
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #啟用MYISAM儲存引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/data/percona/mysql/mysqld.sock \ #設定通訊端存放位置
-DMYSQL_TCP_PORT=6603 \ #設定開放連接埠
-DENABLED_LOCAL_INFILE=1 \ #設定讀取本地檔案
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 \ #預設字串
-DDEFAULT_COLLATION=utf8_general_ci #預設檢驗規則
附,如果cmake錯誤,需要重新cmake,需要清除之前的cmake資訊:
# make clean
# rm –f CMakeCache.txt
2 使用make編譯
#-j後面是邏輯CPU的個數,可以根據實際情況來指定
#make -j `grep processor /proc/cpuinfo | wc -l`
3 使用make install安裝
#make install
6 建立設定檔
# cat /app/mysql/my.cnf
[mysqld]
basedir=/app/mysql
datadir=/data/percona/mysql/data
socket=/data/percona/mysql/mysql.sock
log-error=/data/percona/mysql/mysqld.log
innodb_buffer_pool_size = 128M
port=6603
7 初始化db
# ./scripts/mysql_install_db --defaults-file=/app/mysql/my.cnf
8 啟動percona mysql
#注意,如果使用的root賬戶初始化db,產生的檔案都是root擁有,而mysqld是以mysql使用者啟動並執行,對預設產生的檔案沒許可權,可能無法正常start,如報錯:
26803 [Note] Plugin 'FEDERATED' is disabled.
/app/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
2016-05-04 14:40:21 26803 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2016-05-04 14:40:21 26803 [ERROR] InnoDB: The system tablespace must be writable!
2016-05-04 14:40:21 26803 [ERROR] Plugin 'InnoDB' init function returned error.
2016-05-04 14:40:21 26803 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-05-04 14:40:21 26803 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-05-04 14:40:21 26803 [ERROR] Aborting
#此時,修改basedir和datadir下的檔案的所有者和所屬組為mysql
# chown mysql:mysql /data/percona/mysql/ -R
# chown mysql:mysql /app/mysql/ -R
#再啟動mysql
# /data/percona/mysql/bin/mysqld_safe --defaults-file=/tmp/my.cnf &
160504 10:37:02 mysqld_safe Adding '/data/percona/mysql/lib/mysql/libjemalloc.so.1' to LD_PRELOAD for mysqld
160504 10:37:02 mysqld_safe Logging to '/data/percona/mysql/mysqld.log'.
160504 10:37:02 mysqld_safe Starting mysqld daemon with databases from /data/percona/mysql/data
9 查看進程
# netstat -antpl|grep mysqld
tcp 0 0 :::6603 :::* LISTEN 27166/mysqld #percona mysql
tcp 0 0 :::3306 :::* LISTEN 23233/mysqld #預設啟動並執行mysql
10 查看log
# tail -f /data/percona/mysql/mysqld.log
2016-05-04 14:42:02 27166 [Note] InnoDB: Waiting for purge to start
2016-05-04 14:42:02 27166 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.29-76.2 started; log sequence number 1626426
2016-05-04 14:42:02 27166 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4eeaade7-11c3-11e6-86b0-782bcb6aa29a.
2016-05-04 14:42:02 27166 [Note] Server hostname (bind-address): '*'; port: 6603
2016-05-04 14:42:02 27166 [Note] IPv6 is available.
2016-05-04 14:42:02 27166 [Note] - '::' resolves to '::';
2016-05-04 14:42:02 27166 [Note] Server socket created on IP: '::'.
2016-05-04 14:42:02 27166 [Note] Event Scheduler: Loaded 0 events
2016-05-04 14:42:02 27166 [Note] /app/mysql/bin/mysqld: ready for connections.
Version: '5.6.29-76.2' socket: '/data/percona/mysql/mysql.sock' port: 6603 Source distribution
11 卸載percona server
a.Stop percona mysql server
b.rm –rf basedir && rm –rf datadir
如何在 CentOS 7 上安裝 Percona Server
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 對 MySQL 進行改造。
CentOS中編譯安裝Percona Server 5.5.42出現問題解決一例
Percona Server 5.6跟5.5的差異統計
CentOS中編譯安裝Percona Server 5.5.42出現問題解決一例
Percona Server 的詳細介紹:請點這裡
Percona Server 的:請點這裡
本文永久更新連結地址: