centos7中源码安装mysql过程及遇到的问题

1.准备

      从官网下载了最新linux源码包5.7.19版本 ( https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz)

      解压后查看INSTALL,找到官方源码安装帮助文档地址https://dev.mysql.com/doc/refman/5.7/en/source-installation.html

      阅读安装条件后

      

    可知要安装 cmake, make(v3.75+),c++编译器,boost库(v1.59.0),perl

    使用 rpm -qi  包名  查看以上工具是否安装及安装的版本信息,

    发现未安装boost,于是到boost官网下载了1.59.0版本,按文档中的安装步骤安装了boost

   

  将boost安装在了 /usr/local/boost目录下


2.编译安装源码包

      从之前的官方文档中找到了编译安装步骤(https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html),其大致步骤如下

   

     主要是在源码中新建 build目录并在其中编辑链接生成可执行安装文件,在编译过程,依次遇到了如下问题:


     第一个是提示找不到boost,于是按文档指定了 boost目录, cmake ..  -DWITH_BOOST=/usr/local/boost

            

           

            

     但奇怪的是,仍然报错,于是删除的原来安装了boost,在通过  cmake .. _DDOWNLOAD_BOOST=1    -DWITH_BOOST=/usr/local/boost  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  下载了boost,通过查看boost文件夹,似乎是不用原先boost文档提供的步骤安装,  直接解压下载的boost到 /usr/local/boost下即可


     第二处错误提示如下:

           

     MESSAGE提示安装Curses库,于是 yum search curses找到了如下rpm包

            

    尝试安装了此rpm包,继续安装步骤,遇到如下问题

             

     但似乎提示成功,但为保险起见又安装了bison,最后cmake成功

            

    

     然后进行了make 过了大概50分钟,终于编译好了,输入make install安装成功


3.配置并启动mysql

      进入到安装的mysql目录下,按如果操作配置了mysql

    

    使用    bin/mysqld_safe --user=mysql & 命令启动了mysql

    由于 bin\mysqld --initialize 生成了一个随机密码,无法进入到mysql于是ps查看mysql进程id并kill掉,使用

  mysqld_safe --skip-grant-tables &   跳过密码验证

     mysql -u root 登录    update mysql.user set authentication_string=password('root') where User='root' 更改了初始密码为root(mysql5.7中密码字段名不再是Password)

    但并未发现my.cnf配置文件,并且同样正常启动了,另外在support-files中找到了 mysql.server脚本可以用于启动重启mysql