zoukankan      html  css  js  c++  java
  • mysql-5.7(centos-6.9环境)源码安装

    2017-12-25

    # 配置主机名完整显示
    vim /etc/bashrc
    
      # Turn on checkwinsize
      shopt -s checkwinsize
      [ "$PS1" = "\s-\v\$ " ] && PS1="[u@H W]\$ "
    
    # 配置主机名永久生效
    vim /etc/sysconfig/network
    
    NETWORKING=yes
    HOSTNAME=mysql-5.7-master
    
    # 配置主机名临时生效
    hostname mysql-5.7-master
    
    # 配置hosts解析
    vim /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.156  mysql-5.7-master master
    10.0.0.157  mysql-5.7-slave  slave
    
    # 配置Yum仓库
    cd /etc/yum.repos.d
    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
    wget http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm 
    rpm -ivh epel-release-latest-6.noarch.rpm
    yum clean all && yum makecache
    
    # 配置SSH互信
    ssh-keygen -t rsa
    cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
    ssh-copy-id slave
    
    # 检查残留包
    yum list|grep mysql
    yum -y remove mysql.x86_64
    yum -y remove mysql-libs.x86_64
    
    # 删除默认位置配置文件/etc/my.cnf
    rm -rf /etc/my.cnf
    
    # 创建目录
    mkdir -p /app/mysql/etc
    mkdir -p /data/mysql/my3306
    
    # 创建用户
    groupadd dba && useradd mysql -g dba
    
    # 下载源码包
    wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.18.tar.gz
    
    # 解压源码包
    tar -zxf mysql-boost-5.7.18.tar.gz -C /usr/local/src/ && cd /usr/local/src/mysql-5.7.18
    
    # 安装依赖包
    yum -y install ncurses ncurses-devel gcc libtool gcc-c++ make cmake readline-devel zlib-devel bison perl-Module-Install.noarch 
    
    # 预编译
    time cmake -DCMAKE_INSTALL_PREFIX=/app/mysql 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1  
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 
    -DWITH_FEDERATED_STORAGE_ENGINE=1 
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
    -DDEFAULT_CHARSET=utf8mb4 
    -DDEFAULT_COLLATION=utf8mb4_general_ci 
    -DEXTRA_CHARSETS=all 
    -DENABLED_LOCAL_INFILE=ON 
    -DWITH_BOOST=/usr/local/src/mysql-5.7.18/boost 
    
    # 重新编译(可选)
    make clean
    rm -rf CMakeCache.txt
    
    # 编译、安装
    make && make install
    
    # 复制配置文件
    cp ~/my.cnf /app/mysql/etc/my.cnf
    ln -s /app/mysql/etc/my.cnf /etc/my.cnf
    
    # 修改目录所属组、用户
    chown -R mysql.dba /app/mysql/
    chown -R mysql.dba /data/mysql/
    
    # 初始化数据库
    /app/mysql/bin/mysqld 
    --defaults-file=/app/mysql/etc/my.cnf 
    --initialize 
    --basedir=/app/mysql 
    --datadir=/data/mysql/my3306 
    --tmpdir=/data/mysql/my3306 
    --user=mysql
    
    # 配置环境变量
    vim ~/.bash_profile
    MYSQL_BASE=/app/mysql
    PATH=$PATH:$HOME/bin:$MYSQL_BASE/bin
    source ~/.bash_profile
    
    # 配置ssl登录
    mysql_ssl_rsa_setup  --datadir=/data/mysql/my3306
    
    # 复制启动脚本
    cp /app/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    
    # 启动数据库
    service mysqld start
    
    # 获取初始化密码
    [root@mysql-5.7-master my3306]# grep 'temporary password' /data/mysql/my3306/error.log     
    2017-12-22T15:39:53.526557Z 1 [Note] A temporary password is generated for root@localhost: bDjk&nU:h2Zl
    
    [root@mysql-5.7-slave my3306]# grep 'temporary password' /data/mysql/my3306/error.log 
    2017-12-25T17:32:27.298337Z 1 [Note] A temporary password is generated for root@localhost: lR(;EGObl8q?
    
    # 登录数据库
    mysql -uroot -p'bDjk&nU:h2Zl'
    mysql -uroot -p'lR(;EGObl8q?'
    
    # 修改密码并允许其他机器上客户端登录
    set global validate_password_policy=0;
    
    # 重置root密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'tonghua@789';
    grant all privileges on *.* to 'root'@'%' identified by 'tonghua@789' with grant option;  
    
    # 退出并重新登录数据库
    mysql -uroot -p'tonghua@789'
    
    # 查看数据库用户及权限
    select User,Host,authentication_string,account_locked from mysql.user;
    
    # 设置免密码登陆路径
    mysql_config_editor set 
    --login-path=my3306 
    --user=root 
    --password 
    --port=3306 
    --socket=/data/mysql/my3306/mysql.sock
    
    # 查看免密码登陆路径
    mysql_config_editor print --all
    
    # 删除免密码登陆路径(可选)
    mysql_config_editor remove --login-path=my3306
    
    # 本地免密码登陆数据库
    mysql --login-path=my3306
    
    # 设置开机启动
    chkconfig mysqld on
    chkconfig --list | grep mysql
  • 相关阅读:
    Redis必须注意的慢查询问题
    使用kuernetes提供高可用的logstash服务
    使用kuernetes提供高可用的kibana服务
    Docker指定multiple Insecure registry的方法
    ELK系统中kibana展示数据的时区问题
    ElasticSearch快照备份及恢复
    离线安装redis集群
    Elasticsearch静态集群配置
    LCM的个数 (LCM Cardinality,UVa 10892)
    幂和阶乘 (Again Prime?No time.,UVa 10780)
  • 原文地址:https://www.cnblogs.com/cenliang/p/8110458.html
Copyright © 2011-2022 走看看