源码安装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++库构建)
三、查看下载文件并解压缩
[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 如图为解压缩后,目录内的文件内容
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/shbase_path=/usr/local/src/mysqlcmake .
-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 24make install#create etc,log,tmp,var
五、执行编译 make -j N(N为线程数,一般为服务器中CPU的个数)
六、安装编译产出物 make install
七、创建目录 etc log var tmp
八、创建配置文件 etc/my.cnf
九、安装系统表 ./bin/mysql_install_db
十、登录数据库并执行操作
源码安装MySQL步骤相关推荐
- linux怎么用源码安装mysql,Linux源码安装mysql步骤
创建文件夹: mkdir /usr/local/webserver 安装必要依赖包 yum -y install gcc gcc-c++ make ncurses-devel 安装cmake包: t ...
- l源码安装mysql升级_[Linux]javaEE篇:源码安装mysql
javaEE :源码安装mysql 安装环境 系统平台:CentOS-7-x86_64 数据库版本:mysql-5.6.14 源码安装mysql步骤: 一.卸载mysql 安装mysql之前,先确保l ...
- mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...
四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...
- php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- centos7源码安装mysql8.0_CentOS7下源码安装MySQL 8.x
会选择使用源码安装MySQL,想必对MySQL及其他的安装方式已经有了一定的了解,这里就不对周边信息进行过多赘述了,直接开始吧. 编译MySQL比较消耗内存,如果机器内存较小,可能会在编译期间出现内存 ...
- 源码安装mysql 5.1_Linux环境下源码编译安装MySQL5.1
1.源码安装MySQL 5.1 GA 创建组和用户: [root@mysqldb2 ~]# groupadd mysql [root@mysqldb2 ~]# useradd -g mysql mys ...
- CentOS 7中源码安装MySQL 5.7.16 ----已测试验证
最近在CentOS 7中源码安装MySQL 5.7.6+,发现MySQL5.7.6+以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀.不自己安装一把,你都不知道不同之处在哪,下面这篇文章是 ...
- mysql 安装_源码安装mysql
源码安装mysql 什么是源码 #! /bin/bash echo 'hello'高级语言 ➡️机器码01001001 源码安装mysql逻辑 1.源码包 ⬇ 2.预编译 1.检查当前的操作系统. 2 ...
- dockerfile源码安装mysql_docker容器详解五: dockerfile实现tomcat环境以及源码安装mysql...
tomcat 上一节讲到了dockerfile的基础,这一次咱们来作一个小的练习 首先要了解tomcat安装的整个过程 首先搭建 jdk环境: 下载jdk包,解压以后添加环境变量 而后搭建tomcat ...
最新文章
- 微信小程序获取多选框选中值和选中值对应的id
- 【UVA】10152 ShellSort (几只乌龟的故事)
- Loj #3111. 「SDOI2019」染色
- IT接口——Micro USB带来的市场影响力
- oracle级联赋权,Oracle 级联with admin option 和 with grant option
- 蓝桥杯 ADV-15算法提高 最大乘积
- C++内存分配方式、内存错误及其对策
- python滑动手机屏幕_appium+python自动化24-滑动方法封装(swipe)
- linux菜鸟要飞-根目录
- Day01_FAT12 文件系统
- 中职学校实验室安全整改总结报告
- java要学多久_学会JAVA需要多长时间?
- echarts上加横线标线_Echarts地图添加引导线效果(labelLine)
- matlab多项式计算题目,MATLAB数据分析与多项式计算-习题答案
- css 文本超出就隐藏并且显示省略号
- 一分钟了解自动化测试 1
- VC++中的WinMain()函数介绍
- JAVA - 学习记录第八天
- Hackcity 参赛必读
- Android快速SDK(1)基础工具库QuickBase
热门文章
- 《统计学习方法》——朴素贝叶斯法
- SpringCloud Eureka 高可用
- 详解云安全攻防模型,这些攻击战略和战术越早知道越好!
- 连载丨《极简设计:苹果崛起之道》——硅谷伊甸园(二)
- 《我也能做CTO之程序员职业规划》和《.NET软件设计新思维——像搭积木一样搭建软件》新书发布会 回顾
- 全面规范的软件需求可以规避项目风险
- 4. tensorflow2实现抽样分布—卡方分布、F分布、t分布、Beta分布、Gamma分布——python实战
- matplotlib绘图基础
- This program requires version 3.4.0 of the Protocol Buffer runtime library
- ftp服务器多用文件夹权限,自己动手搭建隔离用户的FTP服务器之权限分配(二)...