当前位置: 首页 > news >正文

从源码安装mysql_从源码安装MySQL

近期因工作需要,开始了对MySQL的学习。因为流程不熟悉,先后安装了两次MySQL,中间走了一些弯路。为了让大家少掉坑,也为了巩固自己的经验,下面以MySQL5.7.23-debug版本为例,对从源码安装MySQL的步骤做一个简单的梳理。

2、git clone https://github.com/mysql/mysql-server.git 下载源码到本地, 用tar -zxvf解压(需要提前安装好Git)

3、5.7要添加boost库,因此需要单独下载boost库。针对MySQL5.7.23版本,网上推荐版本为1.59.0,boost所有版本的下载地址为:https://www.boost.org/users/history/

4、修改build.sh中的编译选项,主要是修改boost库所在的目录,cmake路径和源码路径(需要提前安装好cmake)

5、运行build.sh(其中运行了一个cmake),或者参考以下内容,进行源码编译:

[root@mysql software]#tar zxvf mysql-8.0.11.tar.gz

[root@mysql software]# cd mysql-8.0.11/

[root@mysql software]# mkdir Zdebug

[root@mysql software]# cd Zdebug

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNODB_MEMCACHED=ON \

-DWITH_SSL=system \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DCOMPILATION_COMMENT="zsd edition" \

-DDOWNLOAD_BOOST=1 \

-DWITH_BOOST=/tmp \

-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock \

-DSYSCONFDIR=/data/mysqldata/3306 > /data/software/mysql-8.0.11/Zdebug/mysql_cmake80.log 2>&1

出现下列日志:

............

-- Configuring done

-- Generating done

-- Build files have been written to: /data/software/mysql-8.0.11/Zdebug

............

6、进到debug目录,运行make package,打成安装包

7、在mysql_root 文件夹下分别新建相应文件(base目录下放源码,base_phony下放软链接,log下放日志,data下放数据,tmp放tmp数据,其中base目录下用版本号区分,base_phony下直接链接到当前安装程序,其他目录下进一步用端口号命名,例如20220)将安装包放至相应目录

8、初始化data目录:/../mysql_root/phony/20220/bin/mysqld --initialize-insecure --basedir=/../mysql_root/phony/20220 --datadir=/../mysql_root/data/20220

9、使用以下命令在后台运行MySQL:/../mysql_root/phony/20220/bin/mysqld --defaults-file=/../mysql_root/data/20220/my.cnf &

10、使用mysql -uroot -h127.1 -P20220指命令登录 (mysql默认路径在~/.bash_profile中,修改完,要使用source ~/.bash_profile生效)​​

说明:针对不同版本的MySQL,安装流程细节可能不同,大家可以多参考几篇文章,不懂的问题多查资料。

相关文章:

  • wp mysql替换内容_WordPress查找和替换数据库内容插件:Better Search Replace
  • 什么时候用到全排列_全排列问题 与 组合排列问题
  • gis怎么提取水系_ArcGIS水文分析实战教程(7)细说流域提取
  • ios long转float_iOS设计中字符串NSString与int及float之间的转换
  • mysql show命令用不了_MySQL SHOW 命令的使用
  • php和mysql的英文文献_毕业论文通过PHP访问MySQL外文文献
  • java字符相似_java字符串相似度算法
  • java反编译工具jadclipse_java反编译工具jad及jadclipse
  • java watch service_Java WatchService API 教程
  • deepin 15.4 mysql_Deepin 15.4 编译安装 LNMP(PHP 5.6.31 + Nginx 1.12.1 + MySQL 5.6.36)
  • java if else嵌套_替代嵌套If Else语句
  • oom java问题_Java OOM问题如何排查
  • java 视图对象_java – 从不同资源创建视图对象的最佳方法(模式?)
  • java where函数_CONSTRUCT / WHERE中的SPARQL函数
  • mysql上机考试_SQL上机试题及步骤
  • Apache Zeppelin在Apache Trafodion上的可视化
  • CSS3 变换
  • css属性的继承、初识值、计算值、当前值、应用值
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • mysql_config not found
  • node和express搭建代理服务器(源码)
  • SpringBoot 实战 (三) | 配置文件详解
  • uni-app项目数字滚动
  • 闭包--闭包作用之保存(一)
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 自动记录MySQL慢查询快照脚本
  • 大数据全解:定义、价值及挑战
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (C语言)fgets与fputs函数详解
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (windows2012共享文件夹和防火墙设置
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三)docker:Dockerfile构建容器运行jar包
  • (转)3D模板阴影原理
  • (转)http协议
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (状压dp)uva 10817 Headmaster's Headache
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET开发人员必知的八个网站
  • .NET轻量级ORM组件Dapper葵花宝典
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [Deepin 15] 编译安装 MySQL-5.6.35
  • [FFmpeg学习]从视频中获取图片
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [hdu 3746] Cyclic Nacklace [kmp]