原始碼包方式安裝Percona server

jx_yu發表於2016-05-04

Installing Percona Server from a Source Tarball

1 下載原始碼tar

2 安裝Cmake

下載cmake

]# 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

#此時,修改basedirdatadir下的檔案的所有者和所屬組為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 () 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



參考:

http://blog.itpub.net/27000195/viewspace-2093534/   rpm包方式安裝
http://blog.itpub.net/27000195/viewspace-2093561/   二進位制tar包方式安裝
http://blog.itpub.net/27000195/viewspace-2093563/   原始碼方式安裝

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27000195/viewspace-2093563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章