zoukankan      html  css  js  c++  java
  • percona-mysql5.7_安装-2(源码编译)

    mysql衍生版本 Percona-mysql。
    安装方式以yum网络安装,源码编译安装,二进制文件直接配置使用。
    系统:centos7
    mysql版本:5.7


    源码编译安装

    • 系统优化
      参考系统配置优化

    • 准备环境依赖

    useradd -s /sbin/nologin -M mysql
    mkdir -p /opt/mysql/etc /data/mysql/data
    chown -R mysql:mysql /data/mysql
     
    ###可yum安装的环境依赖包
    yum -y install readline-devel gcc gcc-c++ boost make cmake bison bison-devel ncurses-devel libaio-devel perl git libtirpc libtirpc-devel
     
    ###boost(5.7版本仅支持1.59版本boost)
    wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz -p /tmp
    cd /tmp && tar xvzf boost_1_59_0.tar.gz -C /usr/local/
    cd /usr/local/boost_1_59_0
    sh ./bootstrap.sh
    ./b2 stage threading=multi link=shared
    ./b2 install threading=multi link=shared --prefix=/usr/local
    
    • 下载源代码软件
    wget https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.27-30/source/tarball/percona-server-5.7.27-30.tar.gz -P /tmp
    
    • 安装程序
    ### 解压程序包
    cd /tmp && tar zxvf percona-server-5.7.27-30.tar.gz
     
    ### 编译编代码并安装(程序文件 /opt/mysql , 数据文件 /data/mysql/data/)
    cd percona-server-5.7.27-30
     
    cmake . 
    -DCMAKE_INSTALL_PREFIX=/opt/mysql 
    -DMYSQL_DATADIR=/data/mysql/data 
    -DSYSCONFDIR=/opt/mysql/etc 
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DWITH_BOOST=/usr/local/boost_1_59_0 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_EDITLINE=0 
    -DENABLED_LOCAL_INFILE=1 
    -DENABLE_DOWNLOADS=1
     
    mkdir source_downloads
    wget https://codeload.github.com/google/googletest/zip/release-1.8.0
    mv release-1.8.0 source_downloads/release-1.8.0.zip
     
    make -j 4
    make install
    
    • 添加配置文件
    rm -rf /etc/my.cnf*
     
    cat << EOF > /opt/mysql/etc/my.cnf
    [client]
    port = 3306
    socket = /data/mysql/mysql.sock
     
    [mysqld_safe]
    pid-file = /data/mysql/mysql.pid
    socket = /data/mysql/mysql.sock
    nice = 0
     
    [mysqld]
    server-id = 1
    user = mysql
    pid-file = /data/mysql/mysql.pid
    socket = /data/mysql/mysql.sock
    port = 3306
    basedir = /opt/mysql
    datadir = /data/mysql/data
    log-error = /data/mysql/mysql.log
    lower_case_table_names = 1
    skip-name-resolve
    log-bin=mysql-bin
    expire_logs_days = 3
    binlog_format=mixed
    explicit_defaults_for_timestamp = true
    innodb_data_file_path = ibdata1:10M:autoextend:max:2048M
    innodb_file_per_table = 1
     
    [mysql]
    auto-rehash
    EOF
    
    • 初始化数据库
    /opt/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql/data
    
    • 增加命令文件
    ln -s /opt/mysql/bin/mysql /usr/sbin/
    
    • 启动程序
    cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    sed -i 's|conf=/etc/my.cnf|conf=/opt/mysql/etc/my.cnf|g' /etc/init.d/mysqld
     
    /opt/mysql/bin/mysqld_safe --defaults-file=/opt/mysql/etc/my.cnf &
    
    • 无密码登录数据库及增加管理账户(仅配置管理账户密码前使用)
    /opt/mysql/bin/mysql -S /data/mysql/mysql.sock
     
    ###消除密码复杂策略
    > set global validate_password_policy=0;
    > set global validate_password_length=0;
     
    > ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' ;
    > flush privileges;
    
    • 创建全局管理用户
    mysql -uroot -p
     
    > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION ;
    > flush privileges;
    
  • 相关阅读:
    Mysql常用sql&索引失效场景
    Linux命令demo
    js中浮点数的精度问题
    Linux运行程序出现Cannot execute binary file
    我的第一篇博客文(抽象类练习)
    关于MyEclipse中build path和compiler的jre不匹配
    jQuery操作单选框、多选框是否选中问题
    oracle索引操作
    JS组件多选下拉框Bootstrap之select2 使用心得
    MyEclipse10——java项目clean重新编译
  • 原文地址:https://www.cnblogs.com/taoyuxuan/p/11676131.html
Copyright © 2011-2022 走看看