搭建环境说明:

系统版本:Red Hat Enterprise Linux Server release 6.8 (Santiago)

内核版本:Linux 2.6.32-642.el6.x86_64

内网环境,无法使用网络yum源

基础环境配置:

关闭防火墙:service iptables stop

设置防火墙开机不启动:chkconfig iptables off

临时修改selinux状态:setenforce 0

永久修改(需重启后生效):sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config

查看selinux状态:getenforce

现在对应对应系统版本iso文件

上传对应的镜像文件到服务器上

创建挂载点:mkdir /iso

将镜像挂载到对应的挂载点:mount -o loop /home/Soft/rhel-server-6.8-x86_64-dvd.iso /iso

配置本地yum源:

vim /etc/yum.repos.d/local.repo

[localrepo]

name = localrepo

baseurl = file:///iso

enabled = 1

gpgcheck = 0

清理和列出可用的yum源

yum clean all

yum repolist

使用本地yum源安装基础环境的包:

yum install ncurses-devel -y
yum install libaio -y
yum install glibc-devel.i686 glibc-devel -y
yum install gcc gcc-c++ -y

yum -y install cmake

=============================================================================================

源码升级安装gcc到4.8以上(以4.8.2为例)

下载对应的源码包,上传到服务器指定的目录

解压,并切换到解压后的gcc目录

tar xf gcc-4.8.2.tar.gz
cd gcc-4.8.2

到此处之后,官方的办法是会让你执行一个脚本,脚本会默认去下载升级安装gcc所需要的包,但是在内网环境下只能手动下载了

将下载好的包上传到gcc-4.8.2目录,并在此目录下执行写好的脚本a.sh

cat a.sh

MPFR=mpfr-3.1.4
GMP=gmp-4.3.2
MPC=mpc-1.0.3

tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1

tar xjf $GMP.tar.bz2 || exit 1
ln -sf $GMP gmp || exit 1

tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1

rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1

脚本执行成功之后就开始预编译了:

./configure --prefix=/usr/local/gcc-4.8.2/   --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

然后是编译和安装

make && make install  (注意编译的时间会比较长,一般情况下是30到60分钟,具体情况视服务器的性能而定,切记在编译是不要对服务器做其他操作)

编译安装好之后需要将系统自带的gcc移动到其他目录备份(备份的目的是以防安装GCC失败之后可以回滚),然后将新安装的GCC软连接到对应的库

操作步骤已经写到如下脚本(movegcc.sh),只需执行(bash movegcc.sh)即可

脚本内容如下:

mv /usr/bin/gcc /usr/bin/gcc447
mv /usr/bin/g++ /usr/bin/g++447
mv /usr/bin/c++ /usr/bin/c++447
mv /usr/bin/cc /usr/bin/cc447

ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

脚本执行成功之后就可以查看当前使用的gcc版本了  查看的命令:gcc -v

=================================================================================================

gcc升级结束之后,现在需要安装mysql8.0依赖的另一个软件boost,由于是内网环境,所以还是只能自己下载,源码安装了

下载和mysql版本对应的boost包,然后编译安装

解压,切换目录

tar xf boost_1_60_0.tar.bz2

cd boost_1_60_0

执行脚本

./bootstrap.sh   (创建引擎)

./b2 stage threading=multi link=shared

./b2 install threading=multi link=shared
==================================================================================================

成功安装安装gcc和boost之后,接下来就是源码安装mysql了

下载好源码包之后上传到服务器指定目录,解压然后切换目录

tar xf mysql-boost-8.0.0-dmr.tar.gz
cd mysql-8.0.0-dmr

使用cmake 创建编译环境

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=\etc\mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=/tmp/boost_1_60_0/

参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     该路径表示你想要将mysql安装在哪个目录,具体情况视服务器的情况处理

-DMYSQL_DATADIR=/usr/local/mysql/data/     该路径表示你想要将mysql的数据村放在哪个目录,具体情况视服务器的情况处理

-DWITH_BOOST=/tmp/boost_1_60_0/    该路径表示你安装的boost是存放在哪个目录。在mysql进行编译的时候会去读取这个目录下的文件

编译环境创建好之后,接下来就是编译和安装了

make && make install (编译和安装耗时较长请耐心等候)

成功安装MySQL之后,接下来就是MySQL基础环境配置了

新增mysql用户和组,并配置mysql用户对数据库目录的权限

groupadd mysql   创建用户组
useradd -g mysql mysql        创建用户,并指定用户组
chown mysql.mysql /usr/local/mysql -R       修改安装MySQL的目录的用户和用户组都为mysql

初始化mysql

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

在进行初始化数据库时,指定initialize参数会默认初始化你存放MySQL数据的数据目录,在初始化时会临时生成一个root登陆本机的密码,注意初始化时数据目录必须为空

否则会报错

Linux 6.8 源码安装MySQL8.0的更多相关文章

  1. CentOS7.4 源码安装MySQL8.0

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大 ...

  2. Linux平台下源码安装mysql多实例数据库

    Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...

  3. CentOS7源码安装Redis5.0.4非关系型数据库

    源码安装redis-5.0.4 一. 下载redis 1. 需要连接网络 二. 案例(另一种安装方法) [root@localhost ~]# wget http://download.redis.i ...

  4. 源码安装 qemu-2.0.0 及其依赖 glib-2.12.12

    源码安装qemu-2.0.0 下载源代码并解压 http://wiki.qemu-project.org/download/qemu-2.0.0.tar.bz2 .tar.gz 编译及安装: cd q ...

  5. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)

    1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...

  6. ubuntu16.04下源码安装onos1.0.2

    由于工作需要,下载安装onos1.0.2的版本,大家看需求可以下载安装更高级的版本 参考链接:http://www.sdnlab.com/14650.html 1.系统环境 Ubuntu16.04 L ...

  7. 【Linux系列】Centos 7安装 Mysql8.0(五)

    目的 本文主要介绍以下两点: 一. 如何安装Mysql8.0 二. Navicat连接Mysql 一. 如何安装Mysql8.0 安装Mysql有两种方式: 直接下载官方的源(比较慢) https:/ ...

  8. linux中的源码安装

    前两天自己在笔记本上装了CentOs版本的虚拟机,接着要装Python3,是源码安装的挺费劲,个人总结了一些源码安装的经验,今天在这里给大家分享一下. 1. 首先准备环境,安装必要的编译工具gcc g ...

  9. Debian系Linux源码安装Redis5.0.6

    一,先在官网下载源码包:https://redis.io/download 二,解压源码包,并cd到解压后的目录: 三,执行make MALLOC=libc: 接着cd src[解压的目录里有这个子目 ...

随机推荐

  1. “幕后英雄”之Backing Fields【Microsoft Entity Framework Core随笔】

    刘德华 有一首歌叫<马桶>,其中有一句歌词是:每一个马桶都是英雄. EFCore也有一个英雄,在幕后默默地任劳任怨.它就叫 "支持字段" (Backing Fields ...

  2. python简单爬虫 用beautifulsoup爬取百度百科词条

    目标:爬取“湖南大学”百科词条并处理数据 需要获取的数据: 源代码: <div class="basic-info cmn-clearfix"> <dl clas ...

  3. anytime

    #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<sys/time.h> ...

  4. Exception、Thorow、Throws、TryCatch

    一.异常 概述: 异常指的是不正常,指的是程序中出现了某种问题 java中,所有问题都可以使用一个类来表示,这个类叫做Throwable Throwable: Throwawble是java中所有异常 ...

  5. dom编程艺术笔记2--第三章

    DOM 1.dom:简单理解为文档对象模型<==>节点树 2.宿主对象:浏览器提供的对象—>document对象 3. html标签为树顶点元素 head body为html子元素以 ...

  6. 常用MySQL操作(一)

    第二十四次课 常用MySQL操作(一) 目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 四.mysql用户管理 五.常用sql语句 六.mysql数据库备份恢复 七.扩展 ...

  7. UBUNTU 16.04 安装AVD "An error occurred while running "android create avd

    安装库即可sudo apt-get install lib32stdc++6

  8. selenium中切换浏览器不同tab 的操作

    from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://ui.imdsx.cn/uit ...

  9. 使用MockMvc测试controller

    之前我们测试controller的时候仅仅是作为一个pojo来进行简单的测试,spring3.2后我们可以按照控制器的方式来测试Spring MVC的controller了,这样的话在测试控制器的时候 ...

  10. OpenGL4.6+vs2017+CMake+Glad+Glfw-3.2.1+GLM随手记一发完整版OpenGL配置过程

    参考自:https://blog.csdn.net/sigmarising/article/details/80470054 下载过程参考上面的链接. 下载好的OpenGL文件夹我已经做好(具体的版本 ...