zoukankan      html  css  js  c++  java
  • Linux 6.8 源码安装MySQL8.0

     搭建环境说明:

    系统版本:Red Hat Enterprise Linux Server release 6.8 (Santiago)

    内核版本:Linux 2.6.32-642.el6.x86_64

    内网环境,无法使用网络yum源

    基础环境配置:

     关闭防火墙:service iptables stop

    设置防火墙开机不启动:chkconfig iptables off

    临时修改selinux状态:setenforce 0

    永久修改(需重启后生效):sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config

    查看selinux状态:getenforce

    现在对应对应系统版本iso文件

    上传对应的镜像文件到服务器上   

    创建挂载点:mkdir /iso

    将镜像挂载到对应的挂载点:mount -o loop /home/Soft/rhel-server-6.8-x86_64-dvd.iso /iso

    配置本地yum源:

    vim /etc/yum.repos.d/local.repo

    [localrepo]

    name = localrepo

    baseurl = file:///iso

    enabled = 1

    gpgcheck = 0

    清理和列出可用的yum源

    yum clean all

    yum repolist

    使用本地yum源安装基础环境的包:

    yum install ncurses-devel -y
    yum install libaio -y
    yum install glibc-devel.i686 glibc-devel -y
    yum install gcc gcc-c++ -y

    yum -y install cmake

    =============================================================================================

    源码升级安装gcc到4.8以上(以4.8.2为例)

    下载对应的源码包,上传到服务器指定的目录

    解压,并切换到解压后的gcc目录

    tar xf gcc-4.8.2.tar.gz
    cd gcc-4.8.2

    到此处之后,官方的办法是会让你执行一个脚本,脚本会默认去下载升级安装gcc所需要的包,但是在内网环境下只能手动下载了

    将下载好的包上传到gcc-4.8.2目录,并在此目录下执行写好的脚本a.sh

    cat a.sh

    MPFR=mpfr-3.1.4
    GMP=gmp-4.3.2
    MPC=mpc-1.0.3

    tar xjf $MPFR.tar.bz2 || exit 1
    ln -sf $MPFR mpfr || exit 1

    tar xjf $GMP.tar.bz2 || exit 1
    ln -sf $GMP gmp || exit 1

    tar xzf $MPC.tar.gz || exit 1
    ln -sf $MPC mpc || exit 1

    rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1

    脚本执行成功之后就开始预编译了:

    ./configure --prefix=/usr/local/gcc-4.8.2/   --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

    然后是编译和安装

    make && make install  (注意编译的时间会比较长,一般情况下是30到60分钟,具体情况视服务器的性能而定,切记在编译是不要对服务器做其他操作)

    编译安装好之后需要将系统自带的gcc移动到其他目录备份(备份的目的是以防安装GCC失败之后可以回滚),然后将新安装的GCC软连接到对应的库 

    操作步骤已经写到如下脚本(movegcc.sh),只需执行(bash movegcc.sh)即可  

    脚本内容如下:

    mv /usr/bin/gcc /usr/bin/gcc447
    mv /usr/bin/g++ /usr/bin/g++447
    mv /usr/bin/c++ /usr/bin/c++447
    mv /usr/bin/cc /usr/bin/cc447

    ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
    ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
    ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
    ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc

    mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
    ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

    脚本执行成功之后就可以查看当前使用的gcc版本了  查看的命令:gcc -v

    =================================================================================================

    gcc升级结束之后,现在需要安装mysql8.0依赖的另一个软件boost,由于是内网环境,所以还是只能自己下载,源码安装了

    下载和mysql版本对应的boost包,然后编译安装

    解压,切换目录

    tar xf boost_1_60_0.tar.bz2

    cd boost_1_60_0

    执行脚本

    ./bootstrap.sh   (创建引擎)

    ./b2 stage threading=multi link=shared

    ./b2 install threading=multi link=shared
    ==================================================================================================

    成功安装安装gcc和boost之后,接下来就是源码安装mysql了

    下载好源码包之后上传到服务器指定目录,解压然后切换目录

    tar xf mysql-boost-8.0.0-dmr.tar.gz
    cd mysql-8.0.0-dmr

    使用cmake 创建编译环境

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=etcmysql
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DMYSQL_TCP_PORT=3306
    -DENABLED_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DWITH_BOOST=/tmp/boost_1_60_0/

    参数说明:

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     该路径表示你想要将mysql安装在哪个目录,具体情况视服务器的情况处理

    -DMYSQL_DATADIR=/usr/local/mysql/data/     该路径表示你想要将mysql的数据村放在哪个目录,具体情况视服务器的情况处理

    -DWITH_BOOST=/tmp/boost_1_60_0/    该路径表示你安装的boost是存放在哪个目录。在mysql进行编译的时候会去读取这个目录下的文件

    编译环境创建好之后,接下来就是编译和安装了

    make && make install (编译和安装耗时较长请耐心等候)

    成功安装MySQL之后,接下来就是MySQL基础环境配置了

     新增mysql用户和组,并配置mysql用户对数据库目录的权限

    groupadd mysql   创建用户组
    useradd -g mysql mysql        创建用户,并指定用户组
    chown mysql.mysql /usr/local/mysql -R       修改安装MySQL的目录的用户和用户组都为mysql

    初始化mysql

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

    在进行初始化数据库时,指定initialize参数会默认初始化你存放MySQL数据的数据目录,在初始化时会临时生成一个root登陆本机的密码,注意初始化时数据目录必须为空

    否则会报错

  • 相关阅读:
    使用Pandas DataFrames在Python中绘制条形图
    在Pandas DataFrames中选择行和列使用iloc,loc和ix
    如何使用[] 、. loc,iloc,.at和.iat
    Pandas 分类数据
    按索引和值对Pandas DataFrame进行排序
    可能需要的建议
    时间线
    第四章-赶路
    第三章-担忧
    lipo命令拆分、合并iOS静态库
  • 原文地址:https://www.cnblogs.com/butterflies/p/9352896.html
Copyright © 2011-2022 走看看