• mysql5.7.10 源码编译安装记录 (centos6.4)【转】


    一、准备工作

    1.1 卸载系统自带mysql

    查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载

    rpm -qa | grep mysql    //查看系统自带mysql
    yum -y remove mysql-*   //卸载mysql
    rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql

    1.2 卸载系统自带boost,并安装boost_1_59_0

    mysql 5.7 依赖于boost_1_59_0或更高版本, 查看系统是否自带boost, 如果有就卸载了

    rpm -qa | grep boost    //查看系统自带boost
    yum -y remove boost-*   //卸载boost
    rpm -e --nodeps boost-filesystem-1.41.0-11.el6_1.2.x86_64 //卸载boost

    安装 boost_1_59_0 , cmake 编译时加上 -DWITH_BOOST=/usr/local/boost

    tar -zxvf boost_1_59_0.tar.gz
    mv boost_1_59_0 /usr/local/boost

    1.3 安装依赖包

    yum install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl

    1.4 安装cmake

    tar -zxvf cmake-3.4.1.tar.gz
    ./configure
    make && make install

    1.5 下载 mysql 源码包 mysql-5.7.10.tar.gz

    通过wget下载

    wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz

    windows中下载需要的源码包,通过文件传输工具rzsz上传

    yum install lrzsz //安装rzsz
    rz //上传

    1.6 创建用户组mysql和用户mysql

    检查系统是否已经有mysql用户,如果没有则创建

    cat /etc/group | grep mysql     //查看是否存在mysql用户组
    cat /etc/passwd | grep mysql    //查看是否存在mysql用户
    groupadd mysql                  //创建用户组
    useradd -r -g mysql mysql       //创建用户

    1.7 创建mysql目录和数据库目录,并赋予用户mysql权限

    创建mysql目录和数据库目录

    mkdir /usr/local/mysql          //创建mysql目录
    mkdir /usr/local/mysql/data     //创建数据库目录
    mkdir /usr/local/mysql/log      //创建日志文件目录
    chown -R mysql:mysql /usr/local/mysql   //赋予权限

    二、编译、安装、配置mysql

    2.1 编译、安装mysql

    编译时带上一些参数如安装根目录、数据库目录、编码、端口号、默认存储引擎等 
    编译的时候记得带上 -DWITH_BOOST=/usr/local/boost

    tar -zxvf mysql-5.7.10.tar.gz
    cd mysql-5.7.10
    cmake . 
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DMYSQL_DATADIR=/usr/local/mysql/data 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DMYSQL_TCP_PORT=3306 
    -DMYSQL_USER=mysql 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_MEMORY_STORAGE_ENGINE=1 
    -DENABLE_DOWNLOADS=1 
    -DDOWNLOAD_BOOST=1 
    -DWITH_BOOST=/usr/local/boost
    
    make && make install

    配置选项参考地址, [http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html][1]

    2.2 编译出错, 重新编译前要删除编译失败的文件

    重新编译时,需要清除旧的对象文件和缓存信息

    make clean
    rm -f CMakeCache.txt

    2.3 配置my.cnf

    my.cnf文件可以根据自己的需求选择合适的配置, 网上有很多, 可以参考, 这里不在详细说明。记得把 my.cnf 放到 /etc 目录下

    mv my.cnf /etc/my.cnf

    2.4 初始化系统数据表

    自 mysql5.7 开始,初始化系统表不再使用 mysql_install_db 工具, 而是使用mysqld --initialize-insecure --user=mysql , 其中 --initialize 表示默认生成一个安全的密码,--initialize-insecure 表示不生成密码, 密码为空

    cd /usr/local/mysql
    bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    2.5 添加环境变量, 注册成系统服务

    添加环境变量, 在 PATH 中添加参数 :/usr/local/mysql/bin:/usr/local/mysql/lib

    vim /root/.bash_profile
    PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
    source /root/.bash_profile

    注册成系统服务

    cp support-files/mysql.server /etc/init.d/mysqld
    chkconfig mysqld on
    service mysqld start/stop/restart/status

    首次登陆设置密码

    • 直接使用 mysqladmin 设置密码
    mysqladmin -uroot -p password 123456    //登录时候
    • 或者在使用空密码登录mysql后,在mysql客户端执行下面修改密码命令
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');   //登录之后

    查看进程

    netstat -lntp | grep 3306
    pkill mysqld

    转自

    mysql5.7.10 源码编译安装记录 (centos6.4) - hpy1165331898的专栏 - 博客频道 - CSDN.NET
    http://blog.csdn.net/hpy1165331898/article/details/50557022

     
  • 相关阅读:
    面试题:区分List中remove(int index)和remove(Object obj)
    Collection的子接口之一:List 接口
    面试题:ArrayList、LinkedList、Vector三者的异同?
    jdk 5.0 新增的foreach循环(用于遍历集合、数组)
    Iterator迭代器接口(遍历Collection的两种方式之一)
    哈希值
    Collection接口方法
    集合框架的概述
    注解(Annotation)
    System类、Math类、BigInteger与BigDecimal的使用
  • 原文地址:https://www.cnblogs.com/paul8339/p/6908721.html
Copyright © 2020-2023  润新知