源码包方式安装Percona Server

catemo 2016-05-07

源码包方式安装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

Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。

Percona Server 的详细介绍:请点这里
Percona Server 的下载地址:请点这里

相关推荐