源码安装MySQL步骤

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 一、源码编译的优缺点: 1.1 源码编译虽然繁琐复杂,但是有最好的平台适应性。 1.2 能体现出最好的性能(根据系统状态来产出何时的目的代码) 1.3 支持特殊的字符集 1.4 可以定制存储引擎 1.5 编译的过程,也是熟悉MySQL的过程。

一、源码编译的优缺点:

1.1 源码编译虽然繁琐复杂,但是有最好的平台适应性。

1.2 能体现出最好的性能(根据系统状态来产出何时的目的代码)

1.3 支持特殊的字符集

1.4 可以定制存储引擎

1.5 编译的过程,也是熟悉MySQL的过程。


二、源码包下载(官网 www.mysql.com)

DOWNLOADS——Archives(归档目录)——MySQL Community Server


下载选项:

    Product Version  产品版本 → 选择版本(例如:8.0.12)

    Operating System 操作系统 → 选择Source Code(源代码)

    OS Version       系统版本 → 选择Generic Linux (Architecture Independent) 通用Linux(架构独立)

    下载 Compressed TAR Archive,Includes Boost Headers → 选择带有Boost头的压缩包(MySQL需要Boost C++库构建

 

49c34110c702412d2b04a6d1134e9c13665abefc

cc308fbd39142e1db7a9a51cb2dab7f6f5949ee2


三、查看下载文件并解压缩

[root@JSH-01 ~]# cd /usr/local/src/
[root@JSH-01 src]# ls
LinuxProbe.pdf  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
LinuxProbe.pdf  mysql-8.0.12  mysql-boost-8.0.12.tar.gz

四、构建编译环境:使用cmake命令(需要通过yum安装)生成Makefile文件

4.1 cmake的基本使用方法

    4.1.1 查看所有编辑选项:在源码目录执行 “ccmake .”或者“cmake . -LH” 命令(.指的是当前目录)

    4.1.2 编译参数指定方式为: -DXXX=YYY  例如 -DMYSQL_DATADIR=/usr/local/var

    4.1.3 cmake命令执行完毕后会生成MakeFile文件,用于对源代码进行编译

    4.1.4 cmake为嵌套方式组织,每个目录下都有CMakeList.txt文件,在根目录下执行cmake命令会一次处理每个子目录下的CMakeList.txt 并生成MakeFile文件

    4.1.5 cmake执行一次之后会保存执行状态,如果要重新执行,要删除源码目录下的CMakeList.txt文件

    4.1.6 如图为解压缩后,目录内的文件内容

          99c9bc3af26f7a09d2b8d901a1e2d35378e8d8c2

4.2 cmake命令的路径参数

    4.2.1 -DCMAKE_INSTALL_PREFIX  指定安装目录(必须指定)

    4.2.2 -DMYSQL_DATADIR  指定MySQL数据目录(必须指定)

    4.2.3 -DINSTALL_SBINDIR  指定MySQL安装位置(默认为bin)

    4.2.4 -DINSTALL_MYSQLSHAREDIR  指定share目录位置(默认为share)

    4.2.5 -DINSTALL_LIBDIR  指定lib库安装位置(默认为lib)

    4.2.6 -DINSTALL_MANDIR  指定帮助文档安装位置(默认为man)

    4.2.7 -DINSTALL_MYSQLTESTDIR  指定测试套件安装位置(默认为mysql-test)

    4.2.8 -DINSTALL_PLUGINDIR  指定插件安装位置(默认为plugin)

    4.2.9 -DSYSCONFDIR 配置文件目录


4.3 cmake命令的存储引擎配置参数

    4.3.1 -DWITH_ARCHIVE_STORAGE_ENGINE  归档引擎(默认打开)

    4.3.2 -DWITH_BLACKHOLE_STORAGE_ENGINE  黑洞引擎(默认打开)

    4.3.3 -DWITH_FEDERATED_STORAGE_ENGINE  联邦引擎(默认打开)

    4.3.4 -DWITH_INNOBASE_STORAGE_ENGINE   Innodb引擎(5.5版之后默认打开)

    4.3.5 -DWITH_INNODB_MEMCACHED     Innodb的memcached扩展(默认关闭)

    4.3.6 -DWITH_PARTITION_STORAGE_ENGINE  分区引擎(默认打开)

    4.3.7 -DWITH_PERFSCHEMA_STORAGE_ENGINE  性能统计表(默认打开)


4.4 与cmake编译相关的参数

    4.4.1 -DWITH_DEBUG = ON|OFF  指定编译debug版本还是release版本

    4.4.2 指定gcc编译参数,例如:“-O3 -g -DNDEBUG”

          -DCMAKE_CXX_FLAGS  可以指定C代码参数

          -DCMAKE_C_FLAGS  指定C++代码参数

          -DCMAKE_C_FLAGS_RELEASE = -O3 -DNDEBUG

          -DCMAKE_CXX_FLAGS_RELEASE


4.5 指定编译器

    -DCMAKE_C_COMPILER = /usr/bin/gcc

    -DCMAKE_CXX_COMPILER = /usr/bin/c++ 


4.6 关于cmake的详细介绍,请参考 https://www.cnblogs.com/hllnj2008/p/4043778.html


4.7 编译脚本举例(shell脚本)


#!/bin/sh

base_path=/usr/local/src/mysql

cmake .
-DCMAKE_INSTALL_PREFIX = /usr/local/src/mysql  \
-DMYSQL_DATADIR = /usr/local/src/mysql/var  \
-DINSTALL_SBINDIR = libexec  \
-DINSTALL_LIBDIR = lib/mysql  \
-DSYSCONFDIR = /usr/local/src/mysql/etc  \
-DMYSQL_UNIX_ADDR = /usr/local/src/mysql/tmp/mysql.sock  \
-DINSTALL_SCRIPTDIR = bin  \
-DINSTALL_MYSQLSHAREDIR = share  \
-DINSTALL_SUPPORTFILEDIR = share/mysql  \
-DWITH_EXTRA_CHARSETS = all   \
-DWITH_DEBUG = 0   \
-DWITH_PERFSCHEMA_STORAGE_ENGINE = 1  \
-DWITH_INNODB_MEMCACHED = 1  \
-DWITH_MYISAM_STORAGE_ENGINE = 1  \
-DWITH_INNOBASE_STORAGE_ENGINE = 1  \
-DWITH_PARTITION_STORAGE_ENGINE = 1  \
-DENABLED_PROFILING = 0  \
-DCMAKE_C_FLAGS = "-O3"  \
-DCMAKE_CXX_FLAGS = "-O3"  \
-DCMAKE_C_FLAGS_RELEASE = "-O3"  \
-DCMAKE_CXX_FLAGS_RELEASE = "-O3"  \

make -j  24

make  install

#create etc,log,tmp,var

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


六、安装编译产出物 make install


七、创建目录 etc  log  var  tmp


八、创建配置文件 etc/my.cnf


九、安装系统表 ./bin/mysql_install_db


十、登录数据库并执行操作


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
1月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
151 10
|
4月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
121 18
|
5月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1455 26
|
6月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
291 16
|
5月前
|
存储 Oracle 关系型数据库
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
319 0
|
8月前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
297 7
|
10月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
537 3
|
10月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
463 2
|
28天前
|
安全 关系型数据库 MySQL
MySQL安全最佳实践:保护你的数据库
本文深入探讨了MySQL数据库的安全防护体系,涵盖认证安全、访问控制、网络安全、数据加密、审计监控、备份恢复、操作系统安全、应急响应等多个方面。通过具体配置示例,为企业提供了一套全面的安全实践方案,帮助强化数据库安全,防止数据泄露和未授权访问,保障企业数据资产安全。
|
13天前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
52 3

推荐镜像

更多