mysql安装8.**版本

1. 下载MySQL 8.0.22 源码包: wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22.tar.gz

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22.tar.gz

2. 解压源码包: 

tar -zxvf mysql-8.0.22.tar.gz -C /usr/local

3. 创建用于编译的构建目录: 


mkdir mysql-8.0.22-build
cd mysql-8.0.22-build

4. 运行CMake生成编译选项:

   cmake也要3**版本以上的  提前升级  

  我安装是 cmake-3.21.2,不然也会提示报错cmake版本太低

cmake ../mysql-8.0.22 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
                     -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
                     -DMYSQL_TCP_PORT=3306 \
                     -DWITH_INNOBASE_STORAGE_ENGINE=1 \
                     -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
                     -DWITH_BLACKHOLE_STORAGE_ENGINE=1

 5. 依赖错误

- Found Git: /usr/bin/git (found version "1.8.3.1")
-- This is el6, el7 or el8 as found from 'uname -r' or 'rpm -qf /'
-- We probably need some devtoolset compiler
CMake Warning at CMakeLists.txt:294 (MESSAGE):
  Could not find devtoolset gcc
-- MySQL 8.0.22
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Source directory /usr/local/mysql-8.0.22
-- Binary directory /usr/local/mysql-8.0.22-build
-- CMAKE_GENERATOR: Unix Makefiles
CMake Error at cmake/os/Linux.cmake:84 (MESSAGE):
  GCC 5.3 or newer is required (-dumpversion says 4.8.5)
Call Stack (most recent call first):
  CMakeLists.txt:508 (INCLUDE)
-- Configuring incomplete, errors occurred!
See also "/usr/local/mysql-8.0.22-build/CMakeFiles/CMakeOutput.log".

处理方式就是升级gcc版本  二进制安装太麻烦

提供一个yun安装的方式

yum -y install gcc tcl
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
退出会话窗口重更新连接
gcc -v 查看版本

6. 在camke还会提示依赖问题

wget https://boost.org/Foobar1.73.0/boost_1_73_0.tar.gz
--2023-05-25 10:56:58--  https://boost.org/Foobar1.73.0/boost_1_73_0.tar.gz
Resolving boost.org (boost.org)... 146.20.110.251
Connecting to boost.org (boost.org)|146.20.110.251|:443... connected.
ERROR: cannot verify boost.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
To connect to boost.org insecurely, use `--no-check-certificate'.

 需要 安装boost_1_73_0.tar.gz

wget https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz

安装boot 编译mysql

tar -xvf boost_1_73_0.tar.gz -C /usr/local
cd /usr/local/boost_1_73_0
./bootstrap.sh && ./b2 && sudo ./b2 install


重新进行cmake

cd /usr/local/mysql-8.0.22-build
cmake ../mysql-8.0.22 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/


注意 最后一行加上了 -DWITH_BOOST=/usr/local/


make && sudo make install

 7. 如果有这个报错

CMake Error at /usr/local/mysql-8.0.22/cmake/do_abi_check.cmake:80 (MESSAGE):
  sed returned error No such file or directory
make[2]: *** [CMakeFiles/abi_check] Error 1
make[1]: *** [CMakeFiles/abi_check.dir/all] Error 2

我的建议是 删除重新执行

 我这边是可以的

 cmake ../mysql-8.0.22 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost_1_73_0  -DWITH_ABI_CHECK=OFF



make && make install

 8.配置my.cnf文件 初始化数据

1、
vim /usr/local/mysql/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
socket=/tmp/mysql.sock
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
# include all files from the config directory
#
!includedir /etc/my.cnf.d


2、初始化
[root@localhost bin]# chmod -R 755 /usr/local/mysql/
[root@localhost bin]# chown -R mysql.mysql /usr/local/mysql
[root@localhost bin]# mysqld --initialize --user=mysql

2023-05-25T07:15:25.790589Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this                option as it' is deprecated and will be removed in a future release.
2023-05-25T07:15:25.790667Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.22) initializing of server in progress as process 388880
2023-05-25T07:15:25.794850Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-05-25T07:15:26.152239Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-05-25T07:15:26.686473Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wxxPQI>Is0VL  #记住这个密码


3、启动服务 
mysqld_safe --user=mysql & 
[1] 391739
[root@localhost bin]# 2023-05-25T07:21:27.388468Z mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
2023-05-25T07:21:27.406231Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

#停止mysqld_safe stop
#启动 mysqld_safe  &


4、ll /tmp/mysql.sock
srwxrwxrwx. 1 mysql mysql 0 May 25 15:21 /tmp/mysql.sock






 

9. 登录数据库

 mysql -uroot -p   输入初始化的 密码

 

 

 10. 修改密码

   mysql> alter user 'root'@'localhost' identified by '123';
    Query OK, 0 rows affected (0.00 sec)

    mysql> flush privileges;
   Query OK, 0 rows affected (0.00 sec)

   mysql>
 

 真的这源码安装实在是麻烦了,各种依赖真的吐了  cmake的命令丢。你们安装的时候自己配置吧

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/23822.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

react表格行下载文件方法总结

一、前言 下载文件时,后台接口返回的响应体是文件流格式的,前端接收时如果不进行处理,就会无法正确下载文件(有可能会直接打开文件等)。 在此记录下react的表格行使用file-saver下载文件的方法。(注意不同…

k8s入门实战-Service

k8s入门实战-Service Service 和 Label Service 通过一组 Pod 路由通信。Service 是一种抽象,它允许 Pod 死亡并在 Kubernetes 中复制,而不会影响应用程序。在依赖的 Pod (如应用程序中的前端和后端组件)之间进行发现和路由是由Kubernetes Service 处理…

day03 MyBatis 核心

mapper接口和原理 之前的持久层组成部分:UserMapper.xmlIUserDAOUserDAOimpl 使用mapper接口:UserMapper.xmlUserMaper接口 mapper接口的好处; 避免持久层里面传入参数错误:以前里面写错了不会报错,只有等到运行代码才能看到错误,第二个参数的类型是Objiect MAPPer使用注意…

unix环境高级编程 第一章 UNIX基础知识 Go实现代码

ls命令的Go语言实现 package mainimport ("fmt""os" )func main() {if len(os.Args) ! 2 {panic("参数数量不足")}targetPath : os.Args[1]if dirList, err : os.ReadDir(targetPath); err nil {for _, dirInfo : range dirList {fmt.Println(…

淡季不淡,满帮一季度净利创历史新高的背后原因是什么?

进入五月,经济复苏的成果越发体现在很多基础行业的表现中。经济的“大动脉”货运行业,也迎来一份新答卷。 北京时间5月22日美股盘前,数字货运平台满帮集团(NYSE:YMM,简称:满帮),发布…

自动化测试用例怎么写?最全自动化测试用例设计编写指南...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…

python---变量(3)

求字符串的长度 使用len来求字符串中有几个字符 字符串的拼接 此时是把a2字符串拼接到a1字符串的末尾,得到更大的字符串,对于原来的a1和a2是没有影响的! 不能把字符串和数字混合相加! 这个时候程序就会报错,不能…

GO语言并发编程入门:Goroutine、Channel、Context、并发安全、GMP调度模型

GO语言并发编程入门:Goroutine、Channel、Context、并发安全、GMP调度模型 1.GO并发介绍 并发:多线程程序在一个核的cpu上运行。 并行:多线程程序在多个核的cpu上运行。 由上可知并发不是并行,并行是直接利用多核实现多线程的运…

【分布式文件存储】MinIO部署及实现文件上传下载

目录 概述 MinIO集群部署 准备docker-compose.yml 测试启动 MinIO用户管理 Buckets管理 创建Buckets MinIO客户端 引入依赖 文件上传下载Demo 调用API碰到的问题 概述 MinIO | 高性能, Kubernetes 原生对象存储 MinIO是全球领先的对象存储先锋,目前在全世…

照相机标定

一.相机标定的原理 1.1 相机如何成像: 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 1.1.1 世界坐标系: 世界坐标系(world coordinate),也称为测量坐…

Cobalt Strike工具基本使用

Cobalt Strike 安装启动启动server端启动client目标机器连接 工具基使用用户驱动攻击屏幕截图进程列表键盘记录文件管理远程vnc远程代理端口扫描 生成后门被攻击者运行后门文件后查看结果 钓鱼攻击信息收集网站克隆文件下载 安装 网盘地址:链接:https:/…

PyG的Planetoid无法直接下载Cora等数据集的解决方法

问题描述: 在使用PyG的时候,通常会涉及到一些公共数据集的下载,由于网络问题,导致无法下载出现以下问题: 尝试了很多的方法都没有成功(主要是个人比较菜!)。但是皇天不负有心人&am…

文心一言和ChatGPT最全对比

文心一言和ChatGPT都是基于深度学习技术的自然语言处理模型,有各自的优势和使用场景,无法简单地比较 ChatGPT 和文心一言哪一个功能更强大,它们各自具有优势和局限性,需要根据具体需求进行选择,以下一些具体对比&#…

分布式网络通信框架(十)——Mprpc框架使用示例

发布一个服务提供远程调用方法的流程 若想要发布一个服务提供一些远程调用方法,步骤如下: 先在protobuf文件中添加参数和返回值的message 类型,然后再添加希望提供的服务 service 类型(如UserServiceRpc)和 其中的方…

C++内存管理和模板

文章目录 内存管理new和delete 函数模板隐式实例化显式实例化 类模板 内存管理 有时候我们需要动态的申请内存,比如队列,栈,二叉树等数据结构,我们一开始并不知道要存储多少个数据,也就是不确定究竟要多大的内存,给小了存不下,给大了会造成内存资源的浪费,因此动态的申请内存是…

原工程运行正常,重新复制一份后再 npm install 后再运行就报错的解决办法

原工程,运行正常 将刚刚的工程复制一份呢,重新 npm install 再 npm run serve 就报错 出现这个问题十之八九都是依赖的问题。有可能是因为这个工程里面之前安装过一些东西,后来莫名其妙的就把 package.json 里面相关的依赖给删掉了。但由于原…

【数据结构】顺序二叉树的实现—以堆的实现为例、堆的调整、堆的创建、堆的插入和删除、堆排序

文章目录 1.堆的概念及结构2.堆的实现(以大堆为例)2.1堆的插入2.1.1堆的向上调整算法 2.2堆的删除2.2.1堆的向下调整算法 2.3堆的创建2.4有关建堆的时间复杂度 3.堆排序4.C语言堆实现源码 1.堆的概念及结构 堆就是顺序结构二叉树。 如果有一个关键码的集…

jetcache参考文档

jetcache简介 https://github.com/alibaba/jetcache/blob/master/docs/CN/GettingStarted.md 简介 JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级…

shell变量类型含义 长方形面积计算 截取相应字段方法

1.总结变量的类型及含义? 2.实现课堂案例计算长方形面积?(6种方式) 3.定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现) 1)截取网站访问的协议 …

文心一言 VS 讯飞星火 VS chatgpt (22)-- 算法导论4.2 2题

二、为Strassen算法编写伪代码。 文心一言: Strassen算法是一种用于矩阵乘法的算法,它的核心思想是通过不断将原始矩阵分割成较小的子矩阵来实现高效的乘法运算。以下是Strassen算法的伪代码: function Strassen(A, B): if A[0][0] 0 or…