Mysql 5.7.17 编译安装

环境准备:

mysql 安装包:mysql-5.7.17.tar.gz

yum源:

[[email protected]_1 ~]# cat /etc/yum.repos.d/server.repo

[local]

name=local

baseurl=file:///mnt/cdrom

gpgcheck=0

enabled=1

[[email protected]_1 ~]#

系统版本:

[[email protected]_1 ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[[email protected]_1 ~]# uname -r

3.10.0-327.el7.x86_64

安装依赖包:

[[email protected]_1 mysql-5.7.17]# yum install -y libaio-devel ncurses-devel cmake gcc-c++ bison

创建用户及解压:

[[email protected]_1 mysql-5.7.17]# useradd -s /sbin/nologin -M mysql

[[email protected]_1 mysql-5.7.17]#mkdir -p /data/3307/data

[[email protected]_1 mysql-5.7.17]# tar xf mysql-5.7.17.tar.gz

[[email protected]_1 mysql-5.7.17]# cd mysql-5.7.17/

编译安装:

[[email protected]_1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.17/ -DMYSQL_DATADIR=/usr/local/mysql-5.7.17/data -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.17/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARRTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1-DWITH_DEBUG=0

-- Running cmake version 2.8.11

-- Could NOT find Git (missing:  GIT_EXECUTABLE)

-- Configuring with MAX_INDEXES = 64U

-- SIZEOF_VOIDP 8

-- MySQL 5.7.17

-- Packaging as: mysql-5.7.17-Linux-x86_64

-- Looked for boost/version.hpp in  and

-- BOOST_INCLUDE_DIR BOOST_INCLUDE_DIR-NOTFOUND

-- LOCAL_BOOST_DIR

-- LOCAL_BOOST_ZIP

-- Could not find (the correct version of) boost.

-- MySQL currently requires boost_1_59_0

CMake Error at cmake/boost.cmake:81 (MESSAGE):

You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

This CMake script will look for boost in <directory>.  If it is not there,

it will download and unpack it (in that directory) for you.

If you are inside a firewall, you may need to use an http proxy:

export http_proxy=http://example.com:80

Call Stack (most recent call first):

cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)

CMakeLists.txt:455 (INCLUDE)

-- Configuring incomplete, errors occurred!

编译报错!!!!!


从标出的红色部分可以看出是缺少依赖google一番后 找到解决方案

mysql5.7.5以后都需要 boost

下载地址:https://sourceforge.net/projects/boost/files/boost/1.59.0/

安装boost:

[[email protected]_1 mysql-5.7.17]# tar -xf boost_1_59_0.tar.gz

[[email protected]_1 mysql-5.7.17]# cd boost_1_59_0/

[[email protected]_1 mysql-5.7.17]# mkdir /usr/local/boost

[[email protected]_1 mysql-5.7.17]# cp -a ./* /usr/local/boost/

再次编译(指定boost路径):

#增加了boost路径 -DWITH_BOOST

[[email protected]_1 mysql-5.7.17]# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \

-DMYSQL_DATADIR=/data/3307/data  \    #自定义目录

-DSYSCONFDIR=/data/3307 \           #自定义目录

-DMYSQL_USER=mysql \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/data/3307/mysql.sock \   #自定义目录

-DMYSQL_TCP_PORT=3307 \         #自定义端口

-DENABLED_LOCAL_INFILE=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1  \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_DEBUG=0 \

-DMYSQL_MAINTAINER_MODE=0 \

-DWITH_SSL:STRING=bundled \

-DWITH_ZLIB:STRING=bundled \

-DWITH_BOOST=/usr/local/boost

[[email protected]_1 mysql-5.7.17]# make && make install

make过程中报以下错误!!!


[ 75%] Built target sqlgunitlib

[ 75%] Building CXX object unittest/gunit/CMakeFiles/merge_small_tests-t.dir/merge_small_tests.cc.o

c++: internal compiler error: Killed (program cc1plus)

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://bugzilla.redhat.com/bugzilla> for instructions.

make[2]: *** [unittest/gunit/CMakeFiles/merge_small_tests-t.dir/merge_small_tests.cc.o] Error 4

make[1]: *** [unittest/gunit/CMakeFiles/merge_small_tests-t.dir/all] Error 2

make: *** [all] Error 2


google一番后发现是 内存不够 swap分区也不够

解决方案:

[[email protected]_1 ~]# dd if=/dev/zero of=/swapfile bs=1k count=2048000

[[email protected]_1 ~]# mkswap /swapfile

[[email protected]_1 ~]# swapon /swapfile

初始化:
[[email protected]_1 3307]# mysqld --defaults-file=/data/3307/my.cnf --initialize-insecure --user=mysql

启动服务:

[[email protected]_1 3307]# mysqld_safe --user=mysql &

[[email protected]_1 data]# mysql -uroot

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.17-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

mysql>

安装完成!

时间: 2024-10-08 10:29:05

Mysql 5.7.17 编译安装的相关文章

mysql-5.6.17编译安装和常见问题

mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL 检查已经安装的MySQL: # rpm -qa |grep mysql 检查到mysql以后卸载: # rpm -e mysql //卸载mysql,加--nodeps可以强制卸载 2. 下载MySQL # cd /usr/local/mysql # wget http://dev.mysql.co

&nbsp; &nbsp; &nbsp; Mysql的介绍以及编译安装mariadb

一:mysql的介绍: mysql数据库是工作于线程模式的.是一种关系型数据库,有严格的数据模型结构,这样在并发读写量大的时候,就不得不对其进行扩展,而这种方式扩展还是非常麻烦的. 由于读操作是可以缓存的,所以我们可以为mysql提供缓存服务器. 程序读取数据时先查缓存服务器,再查mysql数据库,这样如果缓存有访问的内容,那么就可以节省 访问时间. 二:关系型数据管理系统 RDBMS 关系模型中主要组件: 数据方案:数据库 表,视图(虚表,基于某种关系用语句形成的),索引, 存储过程,存储函数

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次【原创】

mysql 5.1 升级编译安装5.6把原MyISAM表转换成InnoDB,并全局备份一次 1.[备份指定数据库]不要用逗号mydb hellodb [[email protected] ~]# mysqldump -uroot -p  --databases mydb hellodb  > /tmp/all.sql [修改ENGINE=MyISAM 为 ENGINE=InnoDB] [[email protected] home]# cp hellodb.sql hellodb.sql.bak

【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

[需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数据文件的安装目录为:/application/mysql-5.5.32/data MySQL默认的字符编码为:UTF8 [环境参数] VMware:10.0.1 Host:Win7 DB:MySql 5.5.32 编译工具:cmake-2.8.8.tar.gz 其他依赖:ncurses-devel-

趁一切还来得及【一】数据库MySQL基础知识及编译安装

此情更待成追忆,只是当时已惘然.                                        --[唐]李商隐 第一章 数据库概述及分类特点应用 1.1 数据库种类.语言处理.典型产品 ①数据库的理解:就是一个存放数据的仓库,这个仓库是按照一定的数据结构,来组织和存储的.可以通过数据库提供的多种方法来管理数据库. ②数据库的种类:按照早期的数据库理论分为层次数据库.网络式数据库.和关系型数据库.当今互联网最常用的就是关系型数据库和非关系型数据库(NOSQL). ③关系型数据库:

mysql-5.6.17编译安装脚本

#!/bin/bash#Date:2017-04-21#Author:Allen_Jol#mysql-5.6.17_v2.0 #卸载自带的mysql-libsrpm -e --nodeps mysql-libs #安装所需软件依赖yum -y install make gcc gcc-c++ ncurses ncurses-devel pcre pcre-devel zlib zlib-devel openssl openssl-devel MDIR=/usr/local/srccd $MDIR

mysql 5.6.41编译安装详细步骤

转自:https://www.cnblogs.com/netsa/p/7088494.html 简略步骤: mysql5.6.41编译安装步骤: 下载mysql准备用户和组yum安装依赖解压mysqlcmake编译mysqlmake && make install ----时间约10分钟mysql安装目录权限设置数据库初始化拷贝配置文件root密码重置,原来是没密码的远程账户授权设置服务启动和开机启动 ======实战============================== 1 #安装

第一章: mysql 5.6.34 编译安装 (centos7)

1:下载mysql5.6[[email protected] ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/mysql-5.6.43.tar.gz 2:安装依赖 [[email protected] tools]# yum install -y ncurses-devel libaio-devel gcc gcc-c++ bison 3:安装cmake[[email protected] tools

CentOS下MySQL 5.7.9编译安装

MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的 更好的InnoDB存储引擎 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库.此外,GTID在线平滑升级也变得可能 更好的优化器:优化器代码重构的意义将在