mysql8 安装
准备工作:
首先安装这些依赖
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 安装的更多相关文章
- Mysql8 安装过程及安装过程系列问题记录
前言: 今天,想装个高版本一点的mysql试试,于是下载了一个mysql8的zip版本. 地址:https://dev.mysql.com/downloads/file/?id=484900 没想到安 ...
- Mysql8安装与配置
网上的教程有很多,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的. 安装环境:win7 1.下载zip安装包: MySQL ...
- MySQL8安装及使用当中的一些注意事项
前言 这两天构建新项目,在本地安装的mysql8(本地环境windows),期间忘了密码,又卸载重装了一番,然后捣鼓了一顿授权给别人访问,最后磕磕绊绊的搞好了,下面是在这过程中遇到的问题及解决办法小结 ...
- mysql8安装与卸载
参考: https://www.cnblogs.com/zxwen/p/9448797.html https://blog.csdn.net/weixin_30073553/article/detai ...
- mysql8安装
1.先卸载当前系统中已安装的mariadb rpm -qa | grep mariadb rpm -e --nodeps 文件名 2.安装mysql依赖包 yum install gcc gcc-c+ ...
- mysql8 安装&问题解决
1.下载:https://dev.mysql.com/downloads/mysql/ 2.安装 1).设置环境变量 MYSQL_HOME D:\env\j2ee\mysql\mysql-8.0.19 ...
- MySQL8安装教程及问题解决
目录 1.下载MySQL的zip文件,解压,在根目录(bin所在的目录)下创建my.ini文件 2.管理员模式打开命令提示符(shell或者说小黑窗),按以下命令操作. 3.不过......我这里密码 ...
- mysql8 安装配置教程
第一步 下载安装包 MySQL 是甲骨文(Oracle)公司产品,可以到官网上下载 MySQL: 官网下载地址:https://dev.mysql.com/downloads/mysql/ 如果嫌弃官 ...
- mysql8 安装笔记
环境 redhat6.8 ,官网下载 rpm x64 Bund 安装包 安装 rpm -ivh xxx.rpm 安装一系列的rpm. mysql 会创建 mysql 用户及组./etc/my.cnf ...
随机推荐
- C++ 类的前向声明的用法
我们知道C++的类应当是先定义,然后使用.但在处理相对复杂的问题.考虑类的组合时,很可能遇到俩个类相互引用的情况,这种情况称为循环依赖. 例如: class A { public: void f(B ...
- 5.智能快递柜(通信篇-Server程序)
1.智能快递柜(开篇) 2.智能快递柜(终端篇) 3.智能快递柜(通信篇-HTTP) 4.智能快递柜(通信篇-SOCKET) 5.智能快递柜(通信篇-Server程序) 6.智能快递柜(平台篇) 7. ...
- java基础(24):转换流、缓冲流
1. 转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputS ...
- PHP作用域和文件夹操作
1.作用域 1.1变量作用域 1.全局变量:在函数外面 2.局部变量:在函数里面,默认情况下,函数内部是不会访问函数外部的变量 3.超全局变量:可以在函数内 ...
- python-execjs(调用js)
一.安装 pip3 install PyExecJS 电脑上要有nodejs环境 二.使用 一.获取js字符串 首先将js保存至于本地文件或者你可以可以直接读到内存,必须让js以字符串的形式展示 注意 ...
- python中time、datetime模块的使用
目录 python中time.datetime模块的使用 1.前言 2.time模块 1.时间格式转换图 2.常用方法 3.datetime模块 python中time.datetime模块的使用 1 ...
- kafka集群在消息消费出现无法找到topic分区的处理解决
最近几天在做spark数据同步过程中,中间通过kafka集群处理消息,每次同步到一半就会出现同步不了 查看日志如下: 最开始看到这个问题很懵逼,完全找不到解决问题的切入口,期间也询问了架构师-因为这个 ...
- js中for循环的研究
转自:http://blog.csdn.net/lushuaiyin/article/details/8541500 <html> <body> <b><ce ...
- Java 实践:生产者与消费者
实践项目:生产者与消费者[经典多线程问题] 问题引出: 生产者和消费者指的是两个不同的线程类对象,操作同一个空间资源的情况. 需求引出: —— 生产者负责生产数据,消费者负责取走数据 —— 生产者生产 ...
- 9.python3实用编程技巧进阶(四)
4.1.如何读写csv数据 爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup book ...