zoukankan      html  css  js  c++  java
  • Mysql--编译安装5.7版本

    1 安装环境

     1)清除以往mysql残留痕迹(新机不用)

    yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
    userdel -r mysql
    rm -rf /etc/my.conf
    rm -rf /var/lib/mysql

     2)下载编译工具

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

    2 创建mysql用户及mysql目录 并授权

    useradd -s /bin/false -M -r mysql
    mkdir -p /usr/local/{data,mysql,log}
    chown -R mysql.mysql /usr/local/mysql

    3 上传软件包并解压(可从官网上或各大开源软件镜像站直接下载)

    #下为清华大学开源镜像站的下载链接
    #https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.30.tar.gz
    tar xvf mysql-boost-5.7.30.tar.gz

    4 预编译 编译 安装

    #需先进入解压后的目录操作 可用 -C 指定解压目录
    cd mysql-5.7.30/
    
    #这里列出一些常用的预编译选项 可选择写入
    #详细的预编译选项参见官网 
    #https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
    
    cmake . -DWITH_BOOST=boost/boost_1_59_0/ 
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql       #安装目录
    -DSYSCONFDIR=/etc                    #配置文件存放(默认可以不安装配置文件)
    -DMYSQL_DATADIR=/usr/local/mysql/data         #数据目录(含错误日志)
    -DINSTALL_MANDIR=/usr/share/man            #帮助文档
    -DMYSQL_TCP_PORT=3306                  #默认端口 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock           #sock文件位置 -DDEFAULT_CHARSET=utf8                 #默认字符集 -DEXTRA_CHARSETS=all                  #扩展的字符集支持所有的 -DDEFAULT_COLLATION=utf8_general_ci
    -DWITH_READLINE=1                    #上下查找历史命令
    -DWITH_SSL=system                    #使用私钥和证书登录 -DWITH_EMBEDDED_SERVER=1                #嵌入式数据库 -DENABLED_LOCAL_SERVER=1                #从本地导入数据 -DWITH_INNOBASE_STORAGE_ENGINE=1           #默认的存储引擎 支持外键

     出现下图所示即表示预编译成功

     然后进行编译安装

    #预编译完成后进行编译安装 此过程较缓慢 提升服务器配置可加快进度
    make && make install

     出现下图所示即表示安装成功 

     一般预编译不出现问题 编译安装也不会出现问题 所以重点在于预编译 这也是编译安装所有服务的难点

     

    5 初始化

      初始化后会有系统给定的默认密码 由12位随机字符组成 需复制保存 后续需用这个密码登陆数据库

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

    6 修改配置文件(/etc/my.cnf)

    #将原有配置文件全删除 写入下列数据
    #下列数据路径需与预编译安装时指定的目录一致
    [mysqld]
    basedir=/usr/local/mysql       #指定安装目录
    datadir=/usr/local/mysql/data    #指定数据存放目录
    [client]
    socket = /tmp/mysql.sock      #sock文件存放位置

    7 启动服务(放入后台运行 不然要占一个终端 然后查看端口是否启动)

    /usr/local/mysql/bin/mysqld_safe --user=mysql &

    8 使用之前保存的密码直接登陆数据库或先修改数据库密码

    #登录数据库
    /usr/local/mysql/bin/mysql -uroot -p'password'
    
    #修改密码
    /usr/local/mysql/bin/mysqladmin -uroot -p'oldpassword' password 'newpassword'

    9 为mysql设置快捷命令

    #建立符号链接
    ln -s /usr/local/mysql/bin/* /usr/local/sbin/

     10 配置mysql服务管理工具(选做)

    #将mysql交给service管理
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    #将mysql交给chkconfig管理的开机启动中
    chkconfig --add mysqld
    chkconfig mysqld on
  • 相关阅读:
    PHP实现用户在线状态检测
    php面试题汇集2
    php 调用银联接口 【转载】
    【基础算法】基础算法【转载】
    下ue节点
    Python 字典 列表 嵌套 复杂排序大全
    Linux IO 监控与深入分析
    ELK之kibana的web报错[request] Data too large, data for [<agg [2]>] would be larger than limit of
    Elasticsearch聚合优化 | 聚合速度提升5倍
    elasticsearch bulk批量导入 大文件拆分
  • 原文地址:https://www.cnblogs.com/Xinenhui/p/13927002.html
Copyright © 2011-2022 走看看