zoukankan      html  css  js  c++  java
  • 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.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

  • 相关阅读:
    如何测试一个纸杯?
    你对测试最大的兴趣在哪里?为什么
    您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
    BUG管理工具的跟踪过程(用BugZilla为例子
    说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优缺点和主要适应于哪种类型测试
    你认为做好测试计划工作的关键是什么
    单元测试、集成测试、系统测试的侧重点是什么?
    黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!
    Python 运算符
    Python 基础数据类型
  • 原文地址:https://www.cnblogs.com/lj2007331/p/3326067.html
Copyright © 2011-2022 走看看