zoukankan      html  css  js  c++  java
  • 编译部署 Mysql 5.7

    1.环境准备

    • RHEL7.4(最小化安装)  64bit   2G 内存 (1G 内存编译将近一个小时)
    • 磁盘空间 15G 以上。
    •  配置为本地yum 源
    •  从MySQL5.7版本开始,安装MySQL需要依赖 Boost 的C++扩展,而且只能是 1.59.0 版本;  

    2.cmake简介

    从mysql5.5起,mysql源码安装开始使用cmake.CMake一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。

       configure方式和 cmake 方式对比区别:
    configure command cmake command
    ------------------------------------------------------------------------------------
    ./configure                              cmake .
    ./configure --help                    cmake . -LH or ccmake .
    ##重新编译时,需要清除旧的对象文件和缓存信息----------------------
    make clean                             rm -f CMakeCache.txt
    ##安装选项 --------------------------------------------------------------------
    --prefix=/usr/local/mysql        -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    ##最终安装--------------------------------------------------------------------

    make                                               make
    make install                                     make install

     使用configure编译完将生成 config.log 和 config.status 文件。

    使用cmake编译完在CMakeFiles目录下生成 CMakeError.log 和 CMakeOutput.log 文件。

    3.准备工作

    •   准备 c++ booost 库,不需要编译 。

      Boost 下载地址: http://www.boost.org/users/history ;选择1.59.0版本下载,在编译是填写相应参数,指定Boost源码位置即可;

          tar xf boost_1_59_0.tar.gz

          mv boost_1_59_0 /usr/local/boost

    • 下载mysql并解压[root@001 ~]# tar xf mysql-5.7.19.tar.gz -C /usr/local/src
      [root@001 ~]# cd !$
      [root@001 src]# cd mysql-5.7.19/

    • .安装相关编译工具

    [root@001 mysql-5.7.19]# yum -y install gcc-c++ ncurses-devel cmake

     

     4.编译安装(注意以下所有操作均要进入mysql-5.7.19中进行

    •    [root@001 mysql-5.7.19]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

               ## cmake 的检测过程中,如果出现错误,需要重新 cmake, 删除缓存文件
               ##  rm CMakeCache.txt , 然后重新 运行 cmake 。

        cmake 参数解析 :--------------------------------------
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57   指定安装路径
    -DMYSQL_DATADIR=/data/mysql      指定数据存放路径
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci        设置字符校验集
    -DMYSQL_TCP_PORT=3306
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock        设置套接字生成路径
    -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
    -DDOWNLOAD_BOOST=1
    -DWITH_BOOST=/usr/local/boost              指定Boost扩展源码路径

    •  make

    ##此过程很漫长,请耐心等待,#如果出错重新运行配置,需要删除 CMakeCache.txt文件,

    使用命令: rm -f CMakeCache.txt

    • make install

    ## 千万注意磁盘空间的使用率。

     

    5.配置文件

    •  提供配置文件, my.cnf 默认配置详情如下,可以自己建立

    [client]
    port=3306
    socket=/mysql/mysql.sock          ##注意修改所有者:mysql
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-grant-tables                             ##跳过授权表  可以直接进入数据库修改密码
    user=mysql
    port=3306
    basedir=/usr/local/mysql57              ##注意修改所有者:mysql
    datadir=/mysql
    tmpdir=/tmp
    socket=/mysql/mysql.sock
    log-error=/mysql/mysqld.log
    pid-file=/mysql/mysqld.pid

     

    6.修改启动客户端方式

    •    PATH=$PATH:/usr/local/mysql57/bin 写入到 /etc/profile 中,永久生效 source /etc/profile 重新读取生效

      ## 将编译好的 mysql bin 里面的命令,加入到 $PATH 变量中,可使用[root@server-150 ~]# mysql进入客户端

    • 不修改可以使用绝对路径     [root@server-150 ~]# /usr/local/mysql57/bin/mysql

     

    7.初始化数据库

    • 初始化数据库

    [root@http9 mysql]# /usr/local/mysql57/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

    # 初始化数据库, 确保 /mysql 目录是mysql 可写的。

    命令参数解释:
    --defaults-file : 指定MySQL配置文件路径 ##这里面有我们刚才配置好的参数
    --initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要立刻修改密码
    --user: 指定运行用户

    •  启动mysql 服务

    [root@http9 mysql]# /usr/local/mysql57/support-files/mysql.server  start 

    8.修改root密码

    [root@server-150 ~]# mysql                             ##进入数据库

    修改密码的三种方法:

    方法一 :
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123123';           ##成功后修改新密码。
    mysql> flush privileges;


    方法二:
    SET PASSWORD = PASSWORD('你的新密码');        ## 新版本的root 密码不再接受 弱密码,需要一定的复杂度。

    否则会提示错误:
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    方法三:
    update mysql.user set authentication_string=password("123123@qq.com");
    flush privileges;

     总结:修改密码后即可正常使用mysql,与rpm版相比编译版更加简洁,删除数据时只需要将数据目录/mysql和基本目录、usr/local/mysql57删除即可。

  • 相关阅读:
    比特币脚本及交易分析
    分析比特币网络:一种去中心化、点对点的网络架构
    比特币如何挖矿(挖矿原理)-工作量证明
    比特币所有权及隐私问题-非对称加密应用
    区块链记账原理
    用Python从零开始创建区块链
    基础语法-算术运算符
    基础语法-数据类型转换
    基础语法-数据类型介绍及使用
    基础语法-变量介绍
  • 原文地址:https://www.cnblogs.com/1312862978Hg/p/9750201.html
Copyright © 2011-2022 走看看