安装环境:CentOS7 64位 MINI版

官网源码编译安装文档:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

系统安装条件

官方文档说明:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

1> cmake

mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。安装最新版本即可。

2> make3.75

mysql源代码是由C和C++语言编写,在linux下使用make对源码进行编译和构建,要求必须安装make 3.75或以上版本

3> gcc4.4.6

GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC4.4.6或以上版本

4> Boost1.59.0

mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本

5> bison2.1

Linux下C/C++语法分析器

6> ncurses

字符终端处理库

所以在安装前,需先安装相关的依赖库:

shell> sudo yum install -y cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel

下载Boost1.59.0源代码,并解压到/usr/local/目录下:

下载MySQL源码

从github上下载mysql的源码

如果没安装git客户端,执行yum install -y git安装。

当前分支默认为5.7版本,如果要安装其它版本,切换到相应的分支即可。如安装5.6版本:git checkout 5.6,这里以安装5.7为例。

搜狐镜像下载地址:

http://mirrors.sohu.com/mysql/MySQL-5.5/

http://mirrors.sohu.com/mysql/MySQL-5.6/

http://mirrors.sohu.com/mysql/MySQL-5.7/

安装

1> 添加mysql用户

2> 配置mysql预编译参数

编译并安装

-j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。默认为1个线程编译,经测试单核CPU,1G的内存,编译完需要将近1个小时。

初始化系统数据库

shell> cd /usr/local/mysqlshell> chown -R mysql:mysql .# 注意:MySQL 5.7.6之前的版本执行这个脚本初始化系统数据库shell> ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data# 5.7.6之后版本初始系统数据库脚本(本文使用此方式初始化)shell> ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/datashell> ./bin/mysql_ssl_rsa_setupshell> chown -R root .shell> chown -R mysql data

注意:如果使用–initialize参数初始化系统数据库之后,会在~/.mysql_secret文件中生成root用户的一个临时密码,同时也在初始化日志中打印出来了,如下图红圈中所示:

配置文件及参数优化

配置mysql服务

启动服务

设置数据库密码

shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by "root" with grant option;"shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by "root" with grant option;"# 开启远程登录(将host设为%即可)/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'%' identified by "root" with grant option;"

配置mysql环境变量

其它注意事项

如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。

后面小编会分享更多关于MySQL和运维方面的干货,感兴趣的朋友走一波关注哩~

mysql如何源码安装_超详细的MySQL源码编译安装与配置 值得收藏!相关推荐

  1. mysql多字段数据统计_超详细的mysql元数据sql统计--information_schema

    概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库.其中 performance_schema 用于性能分析,而 in ...

  2. mysql安装check requirements出错_超详细的MySQL8.0.17版本安装教程

    下载MySQL MySQL的官网地址:https://www.mysql.com/. 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community S ...

  3. mysql 2005正确安装_超详细的sql2005图解安装全过程

    前言: [学习SQL SERVER 2005系列]准备把学习2005的一些心得整理出来,和大家分享,共同学习一起提高. sql2005 精简版下载 Microsoft SQL Server 2005简 ...

  4. centos7 go yum 安装_超详细的centos7下载安装Postgresql11(yum安装)教程

    概述 新项目准备用PG数据库,实际上也是练手用的,后面用好了再做mysql到PG的迁移,今天主要记录一下centos7用yum安装Postgresql11的过程. 1.到官网查看yum支持到哪个版本的 ...

  5. mysql8.0.17压缩包安装教程_超详细的MySQL8.0.17版本安装教程

    下载MySQL 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community Server.如图所示: 滑到页面的最下面,找到Recommended ...

  6. mysql序列号生成_超详细的mysql数据库GTID介绍—概念、优缺点、原理、生命周期等

    概述 这几天就简单介绍一下GTID好了~这篇是概念篇.. 从MySQL 5.6.5 开始新增了一种基于 GTID 的复制方式.通过 GTID 保证了每个在主库上提交的事务在集群中有一个唯一的ID.这种 ...

  7. mysql2005安装_超详细的sql2005图解安装全过程

    学习SQL SERVER 2005系列 图解SQL SERVER2005的安装 前言: [学习SQL SERVER 2005系列]准备把学习2005的一些心得整理出来,和大家分享,共同学习一起提高. ...

  8. mysql 查询和修改组合_## 超详细MySQL常用语句,增删查改

    ## MySQL常用语句,增删查改,安装配置mysql服务 ***#新手博客,应届生,谢谢支持哟 记得点赞关注哟*** ***-----sql常见命令:--------*** 安装服务:mysqld ...

  9. 字符集_超详细的MySQL数据库字符集总结,值得收藏

    概述 MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较.下面基于MySQL5.7介绍一下字符集相关变量的使用. 一.字符集.字 ...

  10. mysql数据库字符集_超详细的MySQL数据库字符集总结,值得收藏

    MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较.下面基于MySQL5.7介绍一下字符集相关变量的使用. 一.字符集.字符序的 ...

最新文章

  1. 全球首个AI女主播上岗了!太惊艳了!
  2. Groovy学习摘要
  3. Codeforces Round #312 (Div. 2)
  4. 403错误代码导致网站样式全部乱了
  5. mysql join大小表顺讯_MySQL优化器join顺序
  6. NYOJ 289 苹果
  7. 节流函数的实现,一次面试题遇到的编程题
  8. vue给input file绑定函数获取当前上传的对象
  9. 案例解析|政府信息化的BI建设应用
  10. 反射机制——获取Class中的方法
  11. RGB转NV21格式
  12. Spring Security(一):最简单的Spring Security程序
  13. Linux测试主机之间连通性和端口是否开放的方法
  14. 天威TM1668芯片官方资料,讲解,代码,自己写的例程
  15. Eclipse软件使用教程
  16. Swift中什么时候不能用 () 代替 Void 来使用
  17. 巴贝奇——筹划信息时代
  18. 黑客在开源网站植入秘密后门、恶意软件通过非常规IP逃避检测|1月25日全球网络安全热点
  19. vue echarts 地图立体 并设置tooltip属性背景图片
  20. 10.区块链系列之hardhat部署抵押赎回Fund合约

热门文章

  1. OFD文件预览—前后端两种实现方式
  2. 什么是 1号信令、7号信令和PRI信令?
  3. ABAQUS常用量纲
  4. 干货|PMP项目管理计划汇总!
  5. iBase4J项目笔记
  6. matlab logistic拟合,用matlab拟合Logistic,4参数logistic
  7. ViewStub用法
  8. 微信驾校服务平台功能开发
  9. 【Tomcat优化篇】如何让你的Tomcat性能更加优越
  10. Mysql数据库常用命令总结