• MySQL学习之路 一 : MySQL 5.7.19 源码安装


    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
  • 相关阅读:
    jQuery 基础一 样式篇
    javaJavaScript DOM
    linux 实用命令
    Linux下修改.bash_profile 文件改变PATH变量的值
    java 字符串截取的方法
    Telnet命令参考手册
    linux下dubbo调试 ---telnet命令
    【Spring Task】定时任务详解实例-@Scheduled
    Spring定时任务的几种实现
    SQL之case when then用法
  • 原文地址:https://www.cnblogs.com/dream4567/p/7505605.html
Copyright © 2020-2023  润新知