Percona是在MySQL基础上改进的,在功能和性能上有着很显著的提升。该版本提升了在高负载情况下的InnoDB的性能,为DBA提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。

Percona Server只包含MySQL的服务器版,并没有提供相应对MySQL的Connector和GUI工具进行改进。

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

与内置的MySQL存储引擎相比,XtraDB提供了一些极大的改进,但它不是一款独立产品,也无法轻松放入现有MySQL安装。因此,如果您想使用这款新引擎,则必须使用提供它的产品。

Percona Server就是这样一款产品,由领先的MySQL咨询公司Percona发布。Percona Server是一款独立的数据库产品,为用户提供了换出其MySQL安装并换入Percona Server产品的能力。通过这样做,就可以利用XtraDB存储引擎。Percona声称可以完全与MySQL兼容,因此从理论上讲,你无需更改软件中 的任何代码。这确实是一个很大的优势,适合在您寻找快速性能改进时控制质量。因此,采用Percona Server的一个很好的理由是,利用XtraDB引擎来尽可能地减少代码更改。

此外,他们是XtraDB存储引擎的原作者。Percona将此代码用作开源代码,因此你可以在其他产品中找到它,但引擎的最初创建者与编写此产品的是同一个人,所以你可以随心所欲地使用此信息。

下面是Percona Server的声明,该声明来自Percona官网:

  • 可扩展性:处理更多事务;在强大的服务器上进行扩展
  • 性能:使用了 XtraDB 的 Percona Server 速度非常快
  • 可靠性:避免损坏,提供崩溃安全 (crash-safe) 复制
  • 管理:在线备份,在线表格导入/导出
  • 诊断:高级分析和检测
  • 灵活性:可变的页面大小,改进的缓冲池管理

Percona团队的最终声明是“Percona Server是由Oracle发布的最接近官方MySQL Enterprise发行版的版本”,因此与其他更改了大量基本核心MySQL代码的分支有所区别。Percona Server的一个缺点是他们自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。

Percona 5.5 已经作为数据库可选项添加到lnmp最新源码一键安装包

Percona server安装和MySQL安装一模一样,安装如下:
安装依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel

下载相应源码包

wget http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
wget http://www.percona.com/redir/downloads/Percona-Server-5.5/Percona-Server-5.5.33-31.1/source/Percona-Server-5.5.33-rel31.1.tar.gz

cmake安装

cd lnmp/src
tar xzf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2./configure
make && make install
cd ..

Percona 5.5预编译

tar zxf Percona-Server-5.5.33-rel31.1.tar.gz
cd Percona-Server-5.5.33-rel31.1
useradd -M -s /sbin/nologin mysql
mkdir -p /data/percona
chown mysql.mysql -R /data/percona
cmake .-DCMAKE_INSTALL_PREFIX=/usr/local/percona \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/percona \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all

编译参数解释:

CMAKE_INSTALL_PREFIX #安装路径
MYSQL_UNIX_ADDR #unix socket路径
MYSQL_DATADIR #数据库存放路径
SYSCONFDIR #配置文件路径
MYSQL_TCP_PORT #数据库端口
WITH_INNOBASE_STORAGE_ENGINE #安装innodb引擎
WITH_PARTITION_STORAGE_ENGINE #安装分区引擎
WITH_BLACKHOLE_STORAGE_ENGINE #安装blackhole引擎
WITH_MYISAM_STORAGE_ENGINE #安装myisam引擎
WITH_READLINE #快捷键功能
ENABLED_LOCAL_INFILE #允许从本地导入数据
DEFAULT_CHARSET #默认编码
DEFAULT_COLLATION #默认字符集
WITH_EXTRA_CHARSETS #是否使用其他编码,all表示所有

编译安装

make && make install

启动脚本,设置开机自启动

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

/etc/my.cnf,仅供参考

[mysqld]
basedir =/usr/local/percona
datadir =/data/percona
pid-file =/data/percona/mysql.pid
character-set-server = utf8
collation-server = utf8_general_ci
user = mysql
port =3306
default_storage_engine =InnoDB
innodb_file_per_table =1
server_id =1
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days =7
bind-address =0.0.0.0# name-resolve
skip-name-resolve
skip-host-cache #lower_case_table_names = 1
ft_min_word_len =1
query_cache_size =64M
query_cache_type =1 skip-external-locking
key_buffer_size =16M
max_allowed_packet =1M
table_open_cache =64
sort_buffer_size =512K
net_buffer_length =8K
read_buffer_size =256K
read_rnd_buffer_size =512K
myisam_sort_buffer_size =8M# LOG
log_error =/data/percona/mysql-error.log
long_query_time =1
slow_query_log
slow_query_log_file =/data/percona/mysql-slow.log # Oher#max_connections = 1000
open_files_limit =65535[client]
port =3306

初始化数据库,设置环境变量

/usr/local/percona/scripts/mysql_install_db --user=mysql --basedir=/usr/local/percona --datadir=/data/percona

chown mysql.mysql -R /data/percona
export PATH=$PATH:/usr/local/percona/bin
echo "export PATH=\$PATH:/usr/local/percona/bin">>/etc/profile
./etc/profile

启动Percona数据库

service mysqld start

设置数据库root密码,删除空密码、测试数据库
ps:linuxeye_db_password为root密码

/usr/local/percona/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by "linuxeye_db_password" with grant option;"
/usr/local/percona/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by "linuxeye_db_password" with grant option;"
/usr/local/percona/bin/mysql -uroot -plinuxeye_db_password -e "delete from mysql.user where Password='';"
/usr/local/percona/bin/mysql -uroot -plinuxeye_db_password -e "delete from mysql.db where User='';"
/usr/local/percona/bin/mysql -uroot -plinuxeye_db_password -e "drop database test;"
/usr/local/percona/bin/mysql -uroot -plinuxeye_db_password -e "reset master;"

原文:http://blog.linuxeye.com/359.html

MySQL分支Percona, cmake编译安装的更多相关文章

  1. Mysql 5.6 Cmake 编译安装

    MySQL编译安装 环境: OS: CentOS 6.6x64 mini mysql: mysql-5.6.251. mysql 下载: http://dev.mysql.com/downloads/ ...

  2. cmake编译安装mysql 5.6.12

    cmake安装mysql 5.6.12 从mysql 5.5 开始就要用cmake编译安装 下载mysql 下载地址:http://pan.baidu.com/s/1o68xxqE 一.安装mysql ...

  3. MySQL分支Percona

    MySQL分支Percona 转载自:http://www.cnblogs.com/cevin/archive/2012/05/12/2496859.html 官方网站:http://www.perc ...

  4. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  5. CentOS下使用cmake编译安装mysql

    一.下载安装所必需的依赖包 1.因为高版本mysql都用cmake安装,所以下载cmake wget http://www.cmake.org/files/v3.0/cmake-3.0.1.tar.g ...

  6. cmake编译安装mysql

    运维开发技术交流群欢迎大家加入一起学习(QQ:722381733) 前言:这里我使用的安装方式是(cmake编译),我选择的版本是:cmake-2.8.8.tar.gz.mysql-5.5.32.ta ...

  7. 基于cmake编译安装MySQL-5.5

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

  8. CentOS下MySQL 5.7.9编译安装

    MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化 ...

  9. 【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

    [需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数 ...

随机推荐

  1. 一行很好的JS代码

    [].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.rand ...

  2. nginx的location配置

    http://blog.sina.com.cn/s/blog_97688f8e0100zws5.html http://blog.csdn.net/yanook/article/details/100 ...

  3. AjaxUpLoad.js使用实现文件上传

    AjaxUpLoad.js的使用实现无刷新文件上传,如图. 图1 文件上传前 图2 文件上传后 1.创建页面并编写HTML [html] view plaincopy   上传文档: <div  ...

  4. Builder创建者模式

    http://www.codeproject.com/Articles/42415/Builder-Design-Pattern In Elizabeth's day care center, the ...

  5. .frm文件

    http://www.cnblogs.com/jiangxu67/p/4755097.html MySQL]frm文件解析 MySQL 协议字节序 关于传输整数小大端的实现 http://hamilt ...

  6. UVa 10088 (Pick定理) Trees on My Island

    这种1A的感觉真好 #include <cstdio> #include <vector> #include <cmath> using namespace std ...

  7. Jqgrid入门-Jqgrid列数据拖动(七)

    上一章提到在Jqgrid中如何设置二级表头,这一章节主要探讨Jqgrid表格里面的数据如果实现拖动功能,比如你想把第一行的数据拖到当前页的最后一行,或者其他位置.     Jqgrid表格插件自己没有 ...

  8. Web Api 接口文档制作

    参考地址: http://blogs.msdn.com/b/yaohuang1/archive/2012/05/21/asp-net-web-api-generating-a-web-api-help ...

  9. django - 修改 request.POST的值

    # querydict改为mutable data = data.copy() data.update({'key_list': DATA_UPLOAD_PARAMETER}) 默认的request. ...

  10. 省常中模拟 Test1 Day1

    临洮巨人 排序 题意:在字符串中找出 A.B.C 三个字母出现次数相同的区间个数. 初步的解法是前缀和,用 a(i), b(i), c(i) 表示在位置 i 之前(包括 i)各有 字母 A.B.C 多 ...