MySQL-8.0.12源码安装实例

简介:

1、通过官网下载对应的版本后,通过FTP上传至云服务器的/usr/local/src 目录

2、解压缩文件

[root@JSH-01 src]# ls
mysql-boost-8.0.12.tar.gz
[root@JSH-01 src]# tar zxvf mysql-boost-8.0.12.tar.gz
[root@JSH-01 src]# ls
mysql-8.0.12  mysql-boost-8.0.12.tar.gz

3、重命名文件夹

[root@JSH-01 src]# mv mysql-8.0.12  mysql
[root@JSH-01 src]# ls
mysql  mysql-boost-8.0.12.tar.gz
[root@JSH-01 src]# cd mysql
[root@JSH-01 mysql]# ls
boost           config.h.cmake    Doxyfile.in        libbinlogevents      man         plugin             sql            testclients  win
client          configure.cmake   doxygen_resources  libbinlogstandalone  mysql-test  README             sql-common     unittest
cmake           dbug              extra              libmysql             mysys       run_doxygen.cmake  storage        utilities
CMakeLists.txt  Docs              include            libservices          mysys_ssl   scripts            strings        VERSION
components      Doxyfile-ignored  INSTALL            LICENSE              packaging   share              support-files  vio

4、安装cmake工具 yum install -y cmake

5、cmake构建编译环境

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/src/mysql  -DMYSQL_DATADIR=/usr/local/src/mysql/var  -DSYSCONFDIR=/usr/local/src/mysql/etc -DWITH_DEBUG=0  -DWITH_INNODB_MEMCACHED=1  -DWITH_PARTITION_STORAGE_ENGINE=1  -DENABLED_PROFILING=0  -DCMAKE_C_FLAGS="-O3"  -DCMAKE_CXX_FLAGS="-O3"

6、cmake报错汇总:

错误1、 CMake Warning at CMakeLists.txt:185 (MESSAGE):
  Could not find devtoolset gcc

解决方案:yum install -y gcc

再次执行cmake编译

错误2、**-- Could NOT find Git (missing:  GIT_EXECUTABLE) **

解决方案:yum install -y git

错误3、-- The CXX compiler identification is unknown
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

解决方案:yum install -y gcc gcc-c++

再次执行cmake编译

错误4、CMake Error at cmake/boost.cmake:101 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

解决方案:编译选项中增加
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql
回车后,系统会自动下载并解压缩该文件

错误5、Cannot find appropriate system libraries for WITH_SSL=system.
Make sure you have specified a supported SSL version. 
Valid options are : 
system (use the OS openssl library), 
yes (synonym for system), 
</path/to/custom/openssl/installation>, 
wolfssl (use wolfSSL. See extra/README-wolfssl.txt on how to set this up)

错误6、CMake Error at cmake/ssl.cmake:68 (MESSAGE):
  Please install the appropriate openssl developer package.

解决方案5:编译选项中增加 -DWITH_SSL=system

解决方案6:yum install ncurses-devel 和 yum install openssl-devel

7、执行编译 make -j N(N为线程数,一般为服务器中CPU的个数)

查看Linux系统CPU信息:

cat /proc/cpuinfo

查看Linux系统CPU物理个数:

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

8、cmake -j 编译过程中的错误信息

[ 56%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/handler/i_s.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]: *** [storage/innobase/CMakeFiles/innobase.dir/handler/handler0alter.cc.o] Error 4
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [storage/innobase/CMakeFiles/innobase.dir/all] Error 2
make: *** [all] Error 2

解决方案:根据错误信息提示 internal compiler error: Killed (program cc1plus) 判断为编译过程中内存耗尽, 导致了编译中断,解决办法就是增加一个交换分区:

[root@JSH-01 mysql]# dd if=/dev/zero of=/swapfile bs=1k count=2048000    //创建分区文件, 大小 2G
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 16.9483 s, 124 MB/s
[root@JSH-01 mysql]# mkswap /swapfile   //生成 swap 文件系统
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=5c0b0fa8-7396-4b89-998f-29b6b269a938
[root@JSH-01 mysql]# swapon /swapfile   //激活 swap 文件
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
11月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
11月前
|
存储 弹性计算 关系型数据库
如何通过控制台创建RDS MySQL实例
本文介绍了通过控制台创建RDS MySQL实例的详细步骤,包括准备工作、选择计费方式、地域、实例规格、存储空间等关键配置,并指导用户完成下单与实例查看。
|
12月前
|
存储 关系型数据库 MySQL
【赵渝强老师】MySQL数据库的多实例环境
MySQL多实例是指在一台服务器上运行多个MySQL服务,通过不同端口提供独立的数据服务。各实例共享安装程序,但使用各自的配置文件和数据文件,实现资源高效利用。本文详细介绍了如何通过“mysqld_multi”工具配置和启动多个MySQL实例,并演示了目录创建、初始化、配置文件修改及实例启动等操作步骤。
516 1
|
存储 关系型数据库 MySQL
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
环比、环比增长率、同比、同比增长率 ,占比,Mysql 8.0 实例(最简单的方法之一)(sample database classicmodels _No.2 )
693 1
|
SQL 前端开发 关系型数据库
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
510 0
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
|
SQL Oracle 关系型数据库
在MySQL Shell里 重启MySQL 8.4实例
在MySQL Shell里 重启MySQL 8.4实例
535 2
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
1136 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
关系型数据库 MySQL 数据库
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
327 0
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
307 8
|
Prometheus 监控 Cloud Native
Prometheus结合Consul采集多个MySQL实例的监控指标
将 Prometheus 与 Consul 结合使用,实现对多个 MySQL 实例的自动发现与监控,不仅提高了监控的效率和准确性,也为管理动态扩缩容的数据库环境提供了强大的支持。通过细致配置每一部分,业务可以获得关键的性能指标和运行健康状况的即时反馈,进而优化资源配置,提高系统的稳定性和可用性。
905 3

推荐镜像

更多