MySQL分支Percona, cmake编译安装
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.gzwget 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/srctar xzf cmake-2.8.11.2.tar.gzcd cmake-2.8.11.2./configuremake &&make installcd .. Percona 5.5预编译
tar zxf Percona-Server-5.5.33-rel31.1.tar.gzcd Percona-Server-5.5.33-rel31.1useradd -M -s /sbin/nologin mysqlmkdir -p /data/perconachown mysql.mysql -R /data/perconacmake . -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/mysqldchmod +x /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on/etc/my.cnf,仅供参考
basedir = /usr/local/perconadatadir = /data/perconapid-file = /data/percona/mysql.pidcharacter-set-server = utf8collation-server = utf8_general_ciuser = mysqlport = 3306default_storage_engine = InnoDBinnodb_file_per_table = 1server_id = 1log_bin = mysql-binbinlog_format = mixedexpire_logs_days = 7bind-address = 0.0.0.0# name-resolveskip-name-resolveskip-host-cache#lower_case_table_names = 1ft_min_word_len = 1query_cache_size = 64Mquery_cache_type = 1skip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8M# LOGlog_error = /data/percona/mysql-error.loglong_query_time = 1slow_query_logslow_query_log_file = /data/percona/mysql-slow.log# Oher#max_connections = 1000open_files_limit = 65535port = 3306初始化数据库,设置环境变量
/usr/local/percona/scripts/mysql_install_db --user=mysql --basedir=/usr/local/percona --datadir=/data/perconachown mysql.mysql -R /data/perconaexport PATH=$PATH:/usr/local/percona/binecho "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;" Sat Sep 14 16:25:13 CST 2013
摘自:http://blog.linuxeye.com/359.html
页:
[1]