MySQL学习之路 一 : MySQL 5.7.19 源码安装
MySQL 5.7.19 源码安装
- 查看系统:
- # cat /etc/redhat-release
- CentOS Linux release 7.3.1611 (Core)
- # cat /etc/redhat-release
- 安装依赖包
- # yum -y install ncurses-devel libaio-devel cmake gcc gcc-c++ bison perl-Time-HiRes
- 下载安装boost 下载, 解压 mysql
- 下载包
- # wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
解压
- # tar xf boost_1_59_0.tar.gz
将boost 的包放到 /usr/local/boost 下
- # mv boost_1_59_0 /usr/local/boost
- 创建 mysql 账号
- # useradd -s /sbin/nologin -M mysql
- 验证
- # id mysql
- 下载包
- 安装 mysql
- 下载, 解压 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
- # mkdir /root/tools
- 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/
- cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.19 \
编译安装
- # grep processor /proc/cpuinfo|wc -l # 查看本机 CPU 虚拟核数
- # make -j 6 && make install
- -j : 使用 6个CPU线程进行编译解压, 越多编译快,
- 测试结果 只用 1 CPU 编译 1个多小时, 使用6 个后 不到10分钟
- 下载, 解压 MYsql 源码包
- 配置mysql
- 设置软连接
- # ln -s /application/mysql-5.7.19/ /application/mysql
修改配置文件
- # 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
- 设置软连接
初始化数据库
创建目录 /application/mysql-5.7.19/tmp 存放 mysql.sock
- # mkdir /application/mysql-5.7.19/tmp
将 /application/ 下的所有文件 用户付给 mysql 用户
- # chown -R mysql.mysql /application/mysql*
设置环境变量
- # echo 'PATH=$PATH:/application/mysql/bin/' >>/etc/profile
- # source /etc/profile
- # echo 'PATH=$PATH:/application/mysql/bin/' >>/etc/profile
配置启动文件
- # cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
初始化数据库
- # mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data
- 启动 mysql
- 启动
- # /etc/init.d/mysqld start
- # netstat -lntup |grep 330
- # /etc/init.d/mysqld start
设置开启启动
- # chkconfig mysqld on
- # chkconfig mysqld --list
- # chkconfig mysqld on
- 启动
- 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
MySQL学习之路 一 : MySQL 5.7.19 源码安装的更多相关文章
- ExtJS学习之路第四步:看源码,实战MessageBox
可以通过看MessageBox.js的源码来深入认识,记住它的主要用法.Ext.MessageBox是实用类,用于生成不同风格的消息框,它是Singleton(单例),别名Ext.Msg.注意Mess ...
- MySQL学习之路(一)——初涉MySQL。
MySQL学习之路(一) 1.1MySQL的概述 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一个开源的关系型数据库管理系统. MySQL分为社区版和企业版. 1 ...
- MySQL学习(一)——Java连接MySql数据库
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...
- linux源码安装mysql,shell编程学习,ubuntu
一.mysql安装 以源码安装的方式编译和安装Mysql 5.6. 1.卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6 ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- Linux MySQL源码安装缺少ncurses-devel包
在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- mysql 在cento下源码安装
虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...
- CentOS 7下源码安装MySQL 5.6
本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...
随机推荐
- 写入简单的日志log
log.c: #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <string.h& ...
- 关于TensorFlow2的tf.function()和AutoGraph的一些问题解决
在使用TensorFlow的AutoGraph的时候出现了一些问题,特此记录 AutoGraph did not convert this function. Try decorating it di ...
- 关于ping命令的批处理问题
需求描述:假设你的IP保存在名字为IP.txt的文本文档里,且每行一条ip.你想ping这些IP并得到结果 解决方案:用下面的批处理代码即可实现,将下面的代码保存为后缀为.bat的文件,比如test. ...
- idea常用快捷键(对于新手不建议切换使用eclipse)
查看方法实现:ctrl+alt+鼠标实现父类方法:ctrl+i查看方法的具体实现:ctrl+alt(鼠标再点击方法)快速导包:alt+enter格式化:Ctrl+Alt+L格式化当前行:ctrl+sh ...
- mui webview 预加载
所谓的预加载技术就是在用户尚未触发页面跳转时,提前创建目标页面,这样当用户跳转时,就可以立即进行页面切换,节省创建新页面的时间,提升app使用体验.mui提供两种方式实现页面预加载. 方式一:通过mu ...
- DAG Optimal Coin Change
题目描述 In a 10-dollar shop, everything is worthy 10 dollars or less. In order to serve customers more ...
- 解决Navicat无法连接到MySQL的问题
解决Navicat无法连接到MySQL的问题 问题一:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限.于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的 ...
- [LC] 84. Largest Rectangle in Histogram
Given n non-negative integers representing the histogram's bar height where the width of each bar is ...
- RAM子账户登录DMS对库进行管理
前言:阿里云账户是个权限很大的账户,有时候为了不让更多的人知道,但是又必须让别人管理里面某个模块的功能的时候,RAM子账户就显得很重要,所以设置子账户的权限就很有必要了,下面简单设置两种权限(dms上 ...
- Python---8函数(函数的参数&递归函数)
一.函数的参数 Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代 ...