美文网首页
centos7源码安装mysql8.0

centos7源码安装mysql8.0

作者: HollowKnight | 来源:发表于2019-03-15 17:07 被阅读0次

    一.准备

    如果缺了什么依赖直接安装就好.....

    1. 下载源码
      去官网下载source code
      wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.15.tar.gz

    2.创建群组和用户名

    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
    
    useradd 命令作用
    -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
    -d<登入目录>:指定用户登入时的启始目录;
    -D:变更预设值;
    -e<有效期限>:指定帐号的有效期限;
    -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
    -g<群组>:指定用户所属的群组;
    -G<群组>:指定用户所属的附加群组;
    -m:自动建立用户的登入目录;
    -M:不要自动建立用户的登入目录;
    -n:取消建立以用户名称为名的群组;
    -r:建立系统帐号;
    -s<shell>:指定用户登入后所使用的shell;
    -u<uid>:指定用户[id](http://man.linuxde.net/id "id命令")。
    
    
    1. 创建安装和数据目录
          mkdir -p /usr/local/mysql
          mkdir -p /data/mysqldata
          顺便授权
           chown -R mysql:mysql /usr/local/mysql
          chown -R mysql:mysql /data/mysqldata
          chmod 755 /usr/local/mysql -R
          chmod 755 /data/mysqldata -R
    

    二、安装

    1. 解压
      tar -xvf

    2.编译安装

    https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html 编译参数含义可以看看官方文档

    这里的参数看个人而定
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DSYSCONFDIR=/etc/mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost -DDEFAULT_CHARSET=utf8 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1
    
    我安装的时候有提示boost没装,所以加多一个参数
    -DDOWNLOAD_BOOST=1
    

    实际对应含义

    -DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
    -DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
    -DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
    -DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
    -DMYSQL_TCP_PORT=3306 指定TCP端口为3306
    -DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
    

    这里不允许当前目录直接安装。。。

    This is because you ran "cmake ." in the top of the source tree. The reason for preventing you running cmake in the source directory is to prevent the source tree getting build artefacts spewed all over it.

    stackoverflow上找到的解释
    https://stackoverflow.com/questions/4669215/cmake-compilation-error?rq=1

    所以就这样搞

    rm CMakeCache.txt
    mkdir build
    cd build
    cmake ..(要多加个点,make的是上层目录)
    make
    
    1. 安装
    cmake后是提示
     Build files have been written to: <目录名>
    
    所以进去那个目录
    make
    make install
    

    然后我make各种失败,在装bison,还有devtoolset,gcc啥的

    这里我make一直有err,后面是参考网上的,还没实际跑过,等后续更新了再写……



    1. 配置my.cnf文件
          [mysqld]
          server-id=1
          port=3306
          basedir=/usr/local/mysql
          datadir=/data/mysqldata
        ##请根据实际情况添加参数
    
    1. 初始化&启动
    bin/mysqld --initialize --user=mysql --datadir=/data/mysql/
    bin/mysql_ssl_rsa_setup
    
    启动
    bin/mysqld_safe --user=mysql &
    
    1. 其他
    修改密码
    bin/mysql  -uroot -p
    mysql> alter user 'root'@'localhost' identified by "hollow";
    
    可以创建远程账户
    msyql> create user root@'%' identified by 'hollow';
    mysql> grant all privileges on *.* to root@'%';
    mysql> flush privileges      //用来刷新系统权限表
    
    软链
     ln -s /usr/local/mysql/bin/* /usr/local/bin/
    
    启动设置
    cp support-files/mysql.server /etc/init.d/mysql.server
    

    相关文章

      网友评论

          本文标题:centos7源码安装mysql8.0

          本文链接:https://www.haomeiwen.com/subject/qyrsuqtx.html