0x01

  MySQL 从 5.5 版本开始,通过 ./configure 进行编译配置方式已经被取消,取而代之的是 cmake 工具

  引用一句话

  cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

  所以首先要安装cmake 可以源码安装也可以 使用已经编译好的rpm包进行安装

  yum安装  yum install cmake -y

  源码安装  下载源码 wget --no-check-certificate https://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gz

  解压 cmake     tar -zxvf cmake-3.4.1.tar.gz

  编译安装 ./configure --prefix=/usr/local/cmake  make && make install

  做个软链接 ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake

  执行 cmake --help  成功!

0x02

  开始安装源码mysql

  在搜狐的镜像下载源码

  wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.10.tar.gz

  解压源码包

  tar -zxvf mysql-5.7.10.tar.gz

  根据自己的要求选择需要编译的模块

  建立mysql安装目录及数据存放的目录

  mkdir /usr/local/mysql   ----安装文件的目录

  mkdir /mydata/mysql/log   ----二进制日志目录,做主从同步使用

  mkdir /mydata/mysql/data  ----数据库数据目录  PS:数据目录一定不要和mysql程序安装目录放在一起

  创建mysql 用户和组

  groupadd -r -g 306 mysql    ---创建一个mysql组指定gid 为306 -r是创建为一个系统用户

  useradd -g mysql -u 306 -r -s /sbin/nologin mysql    ---创建用户mysql 指定uid 为306 shell为非登录shell的系统用户 归属mysql组

  开始编译安装 ,但是报错 如下

进行下载对应包即可

wget -c http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

解压到指定文件并改名

tar -zxvf boost_1_59_0.tar.gz -C /tmp

mv /tmp/boost_1_59 /usr/local/boost

再编译安装

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/usr/local/boost

上面编译完成 make 过程曲折,一直过不去,后来根据大神经验

http://www.lengdo.com/blog/view/id/52.html

http://blog.csdn.net/mchdba/article/details/50354213

发现非常好用内存,故 更改测试环境虚拟机内存至 4 G 才解决

后面make install 很顺利,完成mysql源码安装

下面开始初始化准备工作:如下

  更改安装好的mysql路径下的文件拥有组

  chown -R :mysql /usr/local/mysql/

  更改mysql的数据目录和日志目录拥有人和拥有组

  创建目录 mkdir /var/run/mysql

  复制默认配置文件到对应目录

  cp support-files/my-default.cnf /etc/my.cnf

my.cnf 配置文件内容

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL. # The following options will be passed to all MySQL clients
[client]
port =
socket = /tmp/mysql.sock # The MySQL server
[mysqld]
table_open_cache =
max_allowed_packet = 16M
myisam_repair_threads =
myisam_sort_buffer_size = 8M # File Path
pid-file = /var/run/mysql/mysql.pid
#log-error = /var/log/mysql/error.log
log-error = /mydata/mysql/log/error.log # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at % of total RAM for dedicated server, else %.
innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
log-bin = /mydata/mysql/log/mysql-bin # These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
datadir = /mydata/mysql/data
# port = .....
# server_id = .....
# socket = ..... # binary logging format - mixed recommended
binlog_format = mixed # required unique id between and ^ -
# defaults to if master-host is not set
# but will not function as a master if omitted
server-id = # Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
key_buffer_size = 16M
read_buffer_size = 2M
sort_buffer_size = 2M
join_buffer_size = 16M
read_rnd_buffer_size = 2M # Other Switch Settings
performance_schema = OFF # Recommended in standard MySQL setup
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqldump]
quick
max_allowed_packet = 16M [myisamchk]
read_buffer = 2M
write_buffer = 2M
key_buffer_size = 20M
sort_buffer_size = 20M

  开始初始化

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

初始化密码是 g2gd_/0y0,+I

  复制mysql的自动启停脚本

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

将mysql服务添加到管理服务中,让其开机启动

  chkconfig --add mysqld

  chkconfig --list | grep mysqld

启动mysql

使用刚才上面生成密码 进入mysql

登录成功,迅速修改root密码

alter user 'root'@'localhost' identified by 'your password';

flush privileges;

将mysql客户端设置环境变量,让其正常使用

通过 如下添加mysql.sh

vim /etc/profile.d/mysql.sh   ---- 添加 ----> export PATH=/usr/local/mysql/bin:$PATH

让其生效

source /etc/profile.d/mysql.sh

mysql基础-新版5.7.10源码安装-记录(一)的更多相关文章

  1. mysql5.6.35源码安装记录

    mysql数据库源码安装: 源码地址:wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.xx.tar.gz #安装前准备, ...

  2. centos 6.10源码安装mysql5.5.62实验

    查看系统版本 [root@ABC ~]# cat /etc/redhat-release CentOS release 6.10 (Final) 下载mysql5.5.62源码包,解压后安装 tar ...

  3. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  4. mysql源码安装(包括5.5和5.7)

    1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...

  5. mysql5.5.30源码安装及主从搭建

    双机热备(实验环境) 主服务器:ip地址192.168.100.244,mysql版本5.5.30,源码安装 从服务器:ip地址192.168.100.245 一.源码安装mysql5.5 启动目录: ...

  6. zabbix3.4.6之源码安装

    LAMP部署环境搭建: Linux+apache(httpd)+mysql(mariadb)+php: 版本要求:apache-1.3.12,mysql-5.0.3,php-5.4.0<http ...

  7. saltstack源码安装

    环境 centos6.3,python2.7.5. 1.install libzmq-master $ git clone git://github.com/zeromq/libzmq.git $ c ...

  8. centos 7 源码安装gogs

    gogs 是轻量级的私有git 平台,允许个人通过低配置的服务器安装私有git gogs 的官网地址是:https://gogs.io/ 安装步骤 1)源码安装mysql 2)  源码安装git 3) ...

  9. maridb\mysql 源码安装,以10.1.26版本为例

    mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...

随机推荐

  1. Maven整合JaCoCo和Sonar,看看你的测试写够了没

    1 简介 单元测试是保证代码质量的重要一环,而如何衡量单元测试写得好不好呢?覆盖率(Coverage)是一个重要指标.而JaCoCo则是专门为Java提供的用于检测测试覆盖率的工具,英文全称为Java ...

  2. hadoop(hbase)副本数修改

    一.需求场景 随着业务数据的快速增长,物理磁盘剩余空间告警,需要将数据备份从3份修改为1份,从而快速腾出可用磁盘容量. 二.解决方案 1. 修改hdfs的副本数 Hbase 的数据是存储在 hdfs ...

  3. Java常用设计模式详解1--单例模式

    单例模式:指一个类有且仅有一个实例 由于单例模式只允许有一个实例,所以单例类就不可通过new来创建,而所有对象都默认有一个无参的构造函数可以创建对象,所以单例类不仅不能提供public的构造方法,还需 ...

  4. java--GC overhead limit exceeded--暂时修改JVM内存

    第一步:选择要运行的java文件->RunAs->Run Configurations 第二步:找到(x)=Arguments,在VM arguments中设置:-Xms最小运行内存 -X ...

  5. Nginx 的过滤模块是干啥用的?

    上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了.这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了.今天这篇文章比较短,看完没问题. 过滤模块的位置 之前我们介绍了 Ng ...

  6. 要小心 JavaScript 的事件代理

    我们知道,如果给 form 里面的 button 元素绑定事件,需要考虑它是否会触发 form 的 submit 行为.除此之外,其它场合给 button 元素绑定事件,你几乎不用担心这个事件会有什么 ...

  7. Spark SQL源码解析(五)SparkPlan准备和执行阶段

    Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Spark SQL源码解析(三 ...

  8. [jQuery插件]手写一个图片懒加载实现

    教你做图片懒加载插件 那一年 那一年,我还年轻 刚接手一个ASP.NET MVC 的 web 项目, (C#/jQuery/Bootstrap) 并没有做 web 的经验,没有预留学习时间, (作为项 ...

  9. Oracle 利用PLSQL一分钟将表结构(PROJ),从A库移植到B库,一分钟将A库中表数据移植到B库中!!!

    导读(苦恼) 做多个项目的时候,可能会有这样的需求,需要把A项目中的某些功能移植到B项目上:移植途中,牵扯到顺便把表也要一块移植过去,若表字段较少,那还好,可能耗费10分钟就搞完了,万一碰上几十个字段 ...

  10. 校园网络 luogu P2812 (又是强联通)

    题目传送门!(luogu) 首先考虑问题一 不难想到,如果有一个学校作为终端机,那么跟其处于同一个强联通中的所有学校就可以不用作为终端机了. 那么,问题一也就迎刃而解了:找到所有入度为0的缩点.因为这 ...