MySQL 5.7.19 源码安装

  1. 查看系统:

    # cat /etc/redhat-release
    CentOS Linux release 7.3.1611 (Core)

  2. 安装依赖包
    # yum -y install ncurses-devel libaio-devel cmake gcc gcc-c++ bison perl-Time-HiRes

  3. 下载安装boost 下载, 解压 mysql
    1. 下载包

      # wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz  

    2. 解压

      # tar xf boost_1_59_0.tar.gz 

    3. 将boost 的包放到 /usr/local/boost 下

      # mv boost_1_59_0 /usr/local/boost

    4. 创建 mysql 账号
      # useradd -s /sbin/nologin -M mysql验证
      # id mysql

  4. 安装 mysql
    1. 下载, 解压 MYsql 源码包

      # mkdir /root/tools
      # cd /root/tools
      # wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz # wget : 下载 MySQL 5.7.19 源码包
      # tar xf mysql-5.7.19.tar.gz

    2. cmake 解压与设置 msyql
      cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.19 \
      -DMYSQL_DATADIR=/application/mysql-5.7.19/data \
      -DMYSQL_UNIX_ADDR=/application/mysql-5.7.19/tmp/mysql.sock \
      -DDEFAULT_CHARSET=utf8 \
      -DDEFAULT_COLLATION=utf8_general_ci \
      -DWITH_EXTRA_CHARSETS=all \
      -DWITH_INNOBASE_STORAGE_ENGINE=1 \
      -DWITH_FEDERATED_STORAGE_ENGINE=1 \
      -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
      -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
      -DWITH_ZLIB=bundled \
      -DWITH_SSL=bundled \
      -DENABLED_LOCAL_INFILE=1 \
      -DWITH_EMBEDDED_SERVER=1 \
      -DENABLE_DOWNLOADS=1 \
      -DWITH_DEBUG=0 \
      -DWITH_BOOST=/usr/local/boost/

    3. 编译安装

      # grep processor /proc/cpuinfo|wc -l # 查看本机 CPU 虚拟核数
      # make -j 6 && make install
      -j : 使用 6个CPU线程进行编译解压, 越多编译快,测试结果 只用 1 CPU 编译 1个多小时, 使用6 个后 不到10分钟

  5. 配置mysql
    1. 设置软连接

      #  ln -s /application/mysql-5.7.19/ /application/mysql

    2. 修改配置文件

      # cat /etc/my.cnf
      # mysql config file
      [mysqld]
      # datadir=/application/mysql/data
      # socket=/application/mysql/tmp/mysql.sock
      # skip-grant-tables
      symbolic-links=0[mysqld_safe]
      log-error=/var/log/mysqld.log
      pid-file=/application/mysql/mysqld.pid

  6. 初始化数据库

    1. 创建目录 /application/mysql-5.7.19/tmp 存放 mysql.sock

      # mkdir /application/mysql-5.7.19/tmp

    2. 将 /application/ 下的所有文件 用户付给 mysql 用户

      # chown -R mysql.mysql /application/mysql*

    3. 设置环境变量

      # echo 'PATH=$PATH:/application/mysql/bin/' >>/etc/profile
      # source /etc/profile

    4. 配置启动文件

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

    5. 初始化数据库

      # mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data

  7. 启动 mysql
    1. 启动

      # /etc/init.d/mysqld start
      # netstat -lntup |grep 330

    2. 设置开启启动

      # chkconfig mysqld on
      # chkconfig mysqld --list

  8. CMAKE 选项解释
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //MySQL安装的根目录
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock   //指定mysql.sock位置
    -DMYSQL_DATADIR=/data                 //MySQL数据库文件存放目录
    -DSYSCONFDIR=/etc                   //MySQL配置文件所在目录
    -DWITH_MYISAM_STORAGE_ENGINE=1           //添加MYISAM引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1           //添加InnoDB引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=1           //添加ARCHIVE引擎
    -DWITH_FEDERATED_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1        //支持数据库分区
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1
    -DWITH_READLINE=ON
    -DCOMPILATION_COMMENT='Zhaofx for mysqltest'  //
    -DEXTRA_CHARSETS=all                //使MySQL支持所有的扩展字符
    -DDEFAULT_CHARSET=utf8                //设置MySQL的默认字符集为utf8
    -DDEFAULT_COLLATION=utf8_general_ci      //设置默认字符集校对规则
    -DWITH_SYSTEMD=1                  //可以使用systemd控制mysql服务
    -DWITH_BOOST=/usr/local/boost           //指向boost库所在目录
    -DWITH_EXTRA_CHARSETS=all
    -DWITH_ZLIB=bundled
    -DWITH_SSL=bundled
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DENABLED_LOCAL_INFILE=1
    -DWITH_EMBEDDED_SERVER=1
    -DENABLE_DOWNLOADS=1
    -DWITH_DEBUG=0

转载于:https://www.cnblogs.com/dream4567/p/7505605.html

MySQL学习之路 一 : MySQL 5.7.19 源码安装相关推荐

  1. mysql 5.7 多实例主从_mysql-5.7.20源码安装 + 多实例 + 主从复制

    版本:MySQL-5.7.20 一.<编译安装> 1.更换yum源 wget -O /etc/yum.repos.d/eprl.repo http://mirrors.aliyun.com ...

  2. mysql 5.7.20主从配置_mysql-5.7.20源码安装 + 多实例 + 主从复制

    版本:MySQL-5.7.20 1.更换yum源 wget -O /etc/yum.repos.d/eprl.repo http://mirrors.aliyun.com/repo/epel-6.re ...

  3. 获取map第一个的key和value_Hadoop学习之路(3)Map-Shuffle-Reduce详解与源码

    @[TOC] 1 Split阶段 首先,接到hdf文件输入,在mapreduce中的map task开始之前,将文件按照指定的大小切割成若干个部分,每一部分称为一个split,默认是split的大小与 ...

  4. 『JAVA集合·学习之路』-List(包含底层源码实现)

    List List集合概述 List集合特点 List特有的方法 ArrayList 源码解析 LinkedList LinkedList源码解析 List集合概述 有序集合,这里的有序指的是存放顺序 ...

  5. linux怎么用源码安装mysql,Linux源码安装mysql步骤

    创建文件夹: mkdir  /usr/local/webserver 安装必要依赖包 yum -y install gcc gcc-c++ make ncurses-devel 安装cmake包: t ...

  6. 数据库题目:张三的 MySQL 学习之路(一)

    题目:张三的 MySQL 学习之路(一) 题目难度:困难 题目描述:张三最近对 MySQL 数据库感兴趣,决定要好好学习数据库,但-学习的道路总是充满艰辛的.张三今天遇到了一个难题,他左思右想.苦思冥 ...

  7. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  8. mysql数据库源码安装_学习笔记-源码安装mariadb 20210128

    源码安装Mariadb数据库 安装之前先检查一下空间: 1 [15:13:16 root@centos8 ~]#free -h(#检查空间)2 total used free shared buff/ ...

  9. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

最新文章

  1. intval0.57100 php_php中0,'',null,false,true,FLASE,TREU,array()的相等恒等学习
  2. python获取登录按钮_python爬虫24 | 搞事情了,用 Appium 爬取你的微信朋友圈。
  3. hash算法_一致性hash算法简介
  4. AAAI 2020 | 通过解纠缠模型探测语义和语法的大脑表征机制
  5. 我眼中的JavaScript函数式编程
  6. Arcface demo
  7. WINSERVER 2008 CA 证书有效期修改
  8. JQUERY获取DOM
  9. 腾达W303R v3 无线路由器使用移动光纤无法打开视频的设置方法
  10. 暑假集训中期测试 Problem D: 装箱问题2 (并查集)
  11. is_file()和file_exists()
  12. KVM热迁移方式漫谈
  13. 2017.4.22 loli测试
  14. bomb android实战,android 仿qq app源码下载(bmob)
  15. 51NOD-1028 大数乘法V2【大数】
  16. 零基础学python难吗-Python课程学习难不难?零基础可以学习Python吗?
  17. 【经典精读】Transformer模型深度解读
  18. JavaWeb 注解
  19. Keil综合(02)_工程窗口各项图标描述
  20. Mac 查看本地端口

热门文章

  1. 使用QHttp与C#编写的服务端交互(编译环境mingw)
  2. Solaris 网络 配置
  3. 请问:如何在C#简单分布式程序的数据层中为其它层留出很好的接口?????...
  4. SCALA环境搭建(2)_scala源文件编写和运行---大数据之_SCALA工作笔记005
  5. 大数据_Flink_数据处理_运行时架构3_yarn上作业提交流程---Flink工作笔记0018
  6. ES6新特性_ES6迭代器应用-自定义遍历数据---JavaScript_ECMAScript_ES6-ES11新特性工作笔记019
  7. Netty工作笔记0020---Selectionkey在NIO体系
  8. 编译人脸识别的时候出现问题
  9. 去除序号(正则表达式with sublime text)
  10. 杭电2067小兔的棋盘