准备工作:

首先安装这些依赖

yum install -y flex

yum install gcc gcc-c++ cmake  ncurses ncurses-devel bison libaio-devel libncurses-devel libopenssl-devel zlib-devel autoconf perl per-devel openssl  gcc-g77 make - y

升级make

wget https://kojipkgs.fedoraproject.org//packages/make/4.2.1/14.fc31/src/make-4.2.1-14.fc31.src.rpm

./configure --prefix=/usr

make  make  install

下载 cmake 3.5 以上版本:

wget https://cmake.org/files/v3.6/cmake-3.6.3.tar.gz

解压后 执行:

./bootstrap

gmake  && gmake --install

升级gcc:

https://kojipkgs.fedoraproject.org//packages/gcc/7.3.1/1.fc26/src/gcc-7.3.1-1.fc26.src.rpm

进入gcc目录,安装gcc依赖库

cd gcc  && ./contrib/download_prerequisites

执行命令后它会自动下载mpfr、gmp、mpc isl这4个库

编译安装 gcc

升级 openssl

wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz

解压后安装:

mkdir build &&cd  build

../configure

make

make install

下载mysql

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz

编译安装:

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=utf8mb4 \

-DWITH_BOOST=/home/mysql-8/mysql-8.0.16/boost \

-DFORCE_INSOURCE_BUILD=1

报错:

【CMake Error at /usr/local/share/cmake-3.6/Modules/CMakeTestCCompiler.cmake:61 (message):】

【cc: error trying to exec 'cc1': execvp: No such file or directory】

修改CMakeCache.txt文件中的

CMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/c++

CMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc

报错:

【CMake Error at CMakeLists.txt:301 (MESSAGE):】

增加参数: -DFORCE_INSOURCE_BUILD=1

make

报错:

【../runtime_output_directory/uca9dump: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ../runtime_output_directory/uca9dump)

make[2]: *** [strings/CMakeFiles/strings.dir/build.make:64: strings/uca900_zh_tbls.cc] Error 1

make[1]: *** [CMakeFiles/Makefile2:1022: strings/CMakeFiles/strings.dir/all] Error 2】

解决:

查看   /lib64/libstdc++.so.6 版本

strings /lib64/libstdc++.so.6 | grep CXXABI

CXXABI_1.3

CXXABI_1.3.1

CXXABI_1.3.2

CXXABI_1.3.3

CXXABI_1.3.4

CXXABI_1.3.5

CXXABI_1.3.6

CXXABI_1.3.7

CXXABI_TM_1

版本不符合要求 , 由于gcc安装在/usr/bin/local 中,故执行如下操作 :

ln -s /usr/local/lib64/libstdc++.so.6 /lib64/libstdc++.so.6

ln -s /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6

报错:

【/home/mysql-8/mysql-8.0.16/storage/innobase/include/os0atomic.ic:194:2: error: #error "Unsupported platform"

#error "Unsupported platform"】问题解决:

vim /home/mysql-8/mysql-8.0.16/storage/innobase/include/os0atomic.h

1 由于没有定义arm平台的宏定义,增加参数如下:

#else

#define HAVE_ATOMIC_BUILTINS

 

vim /home/mysql-8/mysql-8.0.16/storage/innobase/include/os0atomic.ic
在os0atomic.ic中,把#elif defined(IB_STRONG_MEMORY_MODEL)改为#elif defined(HAVE_ATOMIC_BUILTINS)

报错:

【/home/mysql-8/mysql-8.0.16/storage/innobase/buf/buf0buf.cc:1220:44: error: 'SYS_gettid' was not declared in this scope

setpriority(PRIO_PROCESS, (pid_t)syscall(SYS_gettid), -20);

】问题解决

vi /home/mysql-8/mysql-8.0.16/storage/innobase/buf/buf0buf.cc

将 SYS_gettid 改为 186

报错:

【/home/mysql-8/mysql-8.0.16/storage/innobase/lock/lock0lock.cc:1571:9: error: 'os_compare_and_swap_thread_id' was not declared in this scope

cas = os_compare_and_swap_thread_id(&trx->killed_by, 0, thread_id);

】问题解决:

os_compare_and_swap_thread_id() 这个函数没有声明.

在os0atomic.h头文件中的第250行左右找到os_compare_and_swap_thread_id()这个函数的实现

修改:

# ifdef HAVE_ATOMIC_BUILTINS //HAVE_IB_ATOMIC_PTHREAD_T_GCC

#if defined(HAVE_ATOMIC_BUILTINS) //defined(HAVE_GCC_SYNC_BUILTINS)

 

make && make install

完成安装:

 

【初始化数据库时 报错:

2019-08-28T01:40:06.114368Z 0 [ERROR] [MY-010936] [Server] COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'】

创建  /et/my.cnf

vim  /etc/my.cnf

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

skip-grant-tables

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4

初始化mysql

bin/mysqld --initialize --user=mysql

初始登录密码如高亮处

启动:

bin/mysqld_safe --user=mysql &

登录 :

/usr/local/bin/mysql -u root -p

修改密码:

alter user user() identified by ‘123456’

mysql8 安装的更多相关文章

  1. Mysql8 安装过程及安装过程系列问题记录

    前言: 今天,想装个高版本一点的mysql试试,于是下载了一个mysql8的zip版本. 地址:https://dev.mysql.com/downloads/file/?id=484900 没想到安 ...

  2. Mysql8安装与配置

    网上的教程有很多,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的. 安装环境:win7 1.下载zip安装包: MySQL ...

  3. MySQL8安装及使用当中的一些注意事项

    前言 这两天构建新项目,在本地安装的mysql8(本地环境windows),期间忘了密码,又卸载重装了一番,然后捣鼓了一顿授权给别人访问,最后磕磕绊绊的搞好了,下面是在这过程中遇到的问题及解决办法小结 ...

  4. mysql8安装与卸载

    参考: https://www.cnblogs.com/zxwen/p/9448797.html https://blog.csdn.net/weixin_30073553/article/detai ...

  5. mysql8安装

    1.先卸载当前系统中已安装的mariadb rpm -qa | grep mariadb rpm -e --nodeps 文件名 2.安装mysql依赖包 yum install gcc gcc-c+ ...

  6. mysql8 安装&问题解决

    1.下载:https://dev.mysql.com/downloads/mysql/ 2.安装 1).设置环境变量 MYSQL_HOME D:\env\j2ee\mysql\mysql-8.0.19 ...

  7. MySQL8安装教程及问题解决

    目录 1.下载MySQL的zip文件,解压,在根目录(bin所在的目录)下创建my.ini文件 2.管理员模式打开命令提示符(shell或者说小黑窗),按以下命令操作. 3.不过......我这里密码 ...

  8. mysql8 安装配置教程

    第一步 下载安装包 MySQL 是甲骨文(Oracle)公司产品,可以到官网上下载 MySQL: 官网下载地址:https://dev.mysql.com/downloads/mysql/ 如果嫌弃官 ...

  9. mysql8 安装笔记

    环境 redhat6.8 ,官网下载 rpm x64 Bund 安装包 安装 rpm -ivh xxx.rpm 安装一系列的rpm. mysql 会创建 mysql 用户及组./etc/my.cnf ...

随机推荐

  1. SqlServer ----- 拷贝数据表

    两种方式,第一种方式只是把表中的字段进行拷贝,第二种把表中的关联关系,主键自增长全部拷贝. 1.把表中的关联关系,主键自增长全部拷贝. 选择需要拷贝的表,点击编辑器窗口,会看到这个表的sql 语句,主 ...

  2. 【CF1053E】Euler tour

    [CF1053E]Euler tour 题面 CF 洛谷 大概意思是你有一棵树,然而你并不知道这棵树是啥.给你一个确定了一些位置的欧拉序(就是\(ST\)表求\(LCA\)的那个序列),问你是否存在一 ...

  3. 【趣学程序】Linux上安装Tengine(Nginx)

    linux 安装tengine tengine是什么 tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳 ...

  4. Spark Streaming Listener 监控批次处理延迟进行告警

    概述 StreamingListener 是针对spark streaming的各个阶段的事件监听机制. StreamingListener接口 //需要监听spark streaming中各个阶段的 ...

  5. Java电商项目-3.使用VSFTPD_Nginx完成商品新增

    目录 到Github获取源码请点击此处 一. 商品类目查询 二. FTP图片服务器的搭建 图片上传思路介绍 Linux中安装vsftpd 接着配置ftp服务, 让外网可以访问 Http服务器搭建 Ng ...

  6. python基础(22):模块、包

    1. 模块 1.1 什么是模块 别人写好的函数.变量.方法放在一个文件里 (这个文件可以被我们直接使用)这个文件就是个模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模 ...

  7. 做一个vue轮播图组件

    根据huangyi老师的慕课网vue项目跟着做的,下面大概记录了下思路 1.轮播图的图 先不做轮播图逻辑部分,先把数据导进来,看看什么效果.在recommend组件新建一个recommends的数组, ...

  8. DevOps 工程师成长日记系列四:打包

    原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-4-packag ...

  9. 024.微服务架构之服务注册与发现(kubernetes / SpringCloud)

    微服务 微服务是一种架构模式,一种分布式的架构风格. 顾名思义,micro service,将一个庞大的单体应用拆分成若干个“微小”的服务,服务间通过进程通讯完成原本在单体应用中的调用. 其中必要的六 ...

  10. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...