zoukankan      html  css  js  c++  java
  • Centos7.6编译安装数据库mysql5.7.22(华为鲲鹏云服务器案例)

    Centos7.6编译安装数据库5.7.27(华为鲲鹏云服务器)

    1、数据库下载相关安装包

       https://downloads.mysql.com/archives/community/

     Mysql5.7.22版本有很多的变化,安装时需要安装BOOST库,同安装包一起下载即可。

    2、创建安装时需要的目录

    mkdir -p  /www/server/mysql/{data,logs,tmp,run}

    3、安装所需依赖

    yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

    查看是否存在mariadb数据库,存在就卸载

     4、升级gcc c++不然在华为鲲鹏云会报错(不是华为鲲鹏服务器不用做第4步操作)

    rpm -qa | grep gcc  ##查询gcc版本

    rpm --nodeps -e gcc-c++-4.8.5-39.el7.aarch64 gcc-4.8.5-39.el7.aarch64  ##卸载

    yum install centos-release-scl

    yum install devtoolset-7     ##devtoolset-7对应gcc7.x.x版本

    scl enable devtoolset-7 bash   ##激活gcc

    gcc --version                  ##查看版本

    4、下载高版本cmake

    wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz

    tar xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/ ##解压

    ./bootstrap    ##执行安装

    gmake         ##编译    

    gmake install  

    /usr/local/bin/cmake --version   ##查看版本

    yum remove cmake -y             ##卸载旧的版本

    5、 创建用户及授权目录

    groupadd mysql

    useradd -g mysql -s /sbin/nologin -M mysql

    创建目录用于存放boots

    mkdir -p /www/server/mysql-boost

    授权目录

    chown mysql:mysql -R /www/server/

    chmod 777 -R /www/server/

    7、解压Mysql及mysql-boots

    tar -zxvf mysql-5.7.27.tar.gz

    tar -zxvf mysql-boost-5.7.27.tar.gz

    解压后mysql-boots后会自动的存在mysql-5.7.22目录

     

    boots下载:https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

    解压tar-zxvf boost_1_59_0.tar.gz

     移动到指定的目录,在第8步的-DWITH_BOOST= 需要指定该目录

     8、编译安装(根据自己目录决定)

    cmake .

    -DCMAKE_INSTALL_PREFIX=/www/server/mysql/

    -DMYSQL_DATADIR=/www/server/mysql/data

    -DDOWNLOAD_BOOST=1

    -DWITH_BOOST=/www/server/mysql-boost/boost

    -DSYSCONFDIR=/etc

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_PARTITION_STORAGE_ENGINE=1

    -DWITH_FEDERATED_STORAGE_ENGINE=1

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    -DWITH_MYISAM_STORAGE_ENGINE=1

    -DENABLED_LOCAL_INFILE=1

    -DMYSQL_UNIX_ADDR=/www/server/mysql/run/mysql.sock

    -DENABLE_DTRACE=0

    -DDEFAULT_CHARSET=utf8

    -DDEFAULT_COLLATION=utf8_general_ci

    -DWITH_EMBEDDED_SERVER=1

    编译安装

    make -j 96-j 96 参数充分利用多核CPU优势,加快编译速度)

    ####之前我们一直使用make但是make编译太

    如果不是华为的鲲鹏云服务器没有报错执行完毕后执行  make   install 即可

     华为鲲鹏云编译出现报错

    解决该问题error: prctlwas not declared in this scope

    cp /usr/include/sys/prctl.h /root/mysql-5.7.27/include/

    vim mysql-5.7.27/sql/mysqld.cc 

    保存退出继续执行 make -j 96

    没有报错后,并执行100%就执行  make   install

     

    9、初始化数据库并配置my.cnf

     cd  /www/server/mysql   ###切换至安装目录   

     bin/mysqld --initialize    ###初始化数据库

     

    vim /etc/my.cnf          ###配置my.cnf

    [mysql]

    # 设置mysql客户端默认字符集

    default-character-set=utf8

    [mysqld]

    #设置3306端口

    port = 3306

    user = mysql

    # 设置mysql的安装目录

    basedir=/www/server/mysql

    #mysql数据文件所在位置

    datadir=/www/server/mysql/data/

    #临时目录 比如load data infile会用到

    tmpdir=/www/server/mysql/tmp/

    ##设置socke文件所在目录

    socket=/www/server/mysql/run/mysql.sock

    #记录当前 mysqld 进程的 pid

    pid-file=/www/server/mysql/run/mysql.pid

    #错误日志文件

    log_error=/www/server/mysql/logs/error.log

    #TIMESTAMP如果没有显示声明NOT NULL,允许NULL

    explicit_defaults_for_timestamp = true

    # 允许最大连接数

    max_connections=200

    # 服务端使用的字符集默认为8比特编码的latin1字符集

    character-set-server=utf8

    # 创建新表时将使用的默认存储引擎

    default-storage-engine=INNODB

    #授权表中使用主机名了,只能使用IP

    skip-name-resolve

    #skip-grant-tables

    #max_allowed_packet=12800074000

    #时区

    default-time_zone = '+8:00'

    10、配置环境变量及设置开机自启动

    echo 'export PATH=/www/server/mysql/bin:$PATH' >>/etc/profile  ##设置变量

    source /etc/profile        ###让变量生效

    将启动文件拷贝至/etc/init.d/方便启动

    cp /www/server/mysql/support-files/mysql.server /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld   ###mysql执行权限

    cd  /www/server/mysql/bin   ###切换至bin目录

    ln -s mysql /usr/sbin/mysql    ###创建软连接方便使用mysql直接登陆

    chkconfig mysqld on        ####设置开机自启动

    chkconfig --list mysqld      ####查看是3-5是否开启

    11、启动数据库

    /etc/init.d/mysqld start

     

     那就来解决报错,找不到error.log并没权限。

     cd  /www/server/mysql/logs   ##切换至你安装mysql时定义的日志目录

     touch error.log               ###创建日志

     chmod 777 -R /www/server/

     chown mysql:mysql -R /www/server/    ###重新在设置一下权限

     再次启动数据库。

     /etc/init.d/mysqld start      ###启动完成

     

    登陆数据库

  • 相关阅读:
    胡小兔的良心莫队教程:莫队、带修改莫队、树上莫队
    51nod 1290 Counting Diff Pairs | 莫队 树状数组
    Git的简单使用
    使用canvas制作五子棋游戏
    axios的Get和Post方法封装及Node后端接收数据
    mongodb初始化并使用node.js实现mongodb操作封装
    nodeJs实现微信小程序的图片上传
    CSS中text-shadow的几个好看的文字demo及其代码
    博客园自定义样式
    input输入框添加内部图标
  • 原文地址:https://www.cnblogs.com/sxshaolong/p/12988569.html
Copyright © 2011-2022 走看看