之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷。

如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的。

但可以作为一篇流程参考文档,其中的坑点总结,希望能帮助大家绕过一些不必要的麻烦!

坑点

1 5.7.6以后安装必须有boost支持

2 权限和路径比较坑,步骤较多,如果中间错了,

先检查之前执行命令时权限是否正确,

再检查每一步操作的路径是否符合自己本地要求

3 很多人傻傻的找不到源码包在哪里,两个都是源码包

只不过下一个包含boost依赖

准备

1、首先安装依赖包

yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel

最最重要的是,不要忘了安装openssl-devel

2、安装cmake

sudo yum install cmake

1 mysql迅雷下载地址:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz

2 解压:

sudo tar xzvf mysql-boost-5.7.18.tar.gz -C /usr/local/Mysql/

注:稍后我们需要建立/usr/local/mysql,

所以这里要建造一个Mysql,当然建造其他的也可以,

和之后的/usr/local/mysql 能区分开就好

3 先创建用户mysql并将mysql用户添加到mysql组下

groupadd mysql

useradd -g mysql mysql

将解压的文件的权限修改为mysql:mysql

sudo chown mysql:mysql /usr/local/Mysql/mysql-5.7.18

注:创建用户 sudo useradd -M -s /sbin/nologin mysql

4 安装依赖包:

sudo apt install -y build-essential cmake libncurses5-dev bison

编译

1 进入源码解压目录

cd /usr/local/Mysql/mysql-5.7.18/

2 创建编译后的文件存储位置,并进入

(1)sudo mkdir build      //创建build目录

(2)cd build      //进入build目录

3 指定cmake参数

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

-DDEFAULT_CHARSET=utf8mb4 .. -DWITH_BOOST=/usr/local/src/mysql-5.7.18/boost/boost_1_59_0

.. -DMYSQL_DATADIR=/data/mysql/data

安装的路径有点坑, 下面这条命令中有两个 ".."

如果不写的话,会提示没有 "/usr/local/mysql"

"/usr/local/Mysql/mysql-5.7.18/boost/boost_1_59_0"

由于对linux还不是特别熟悉,我估计应该是执行cmake时,会从根目录开始找配置的参数目录,

而".."代表根目录

4 sudo make

编译完成之后,和网上视频教程讲述的一致,效果如下:

5 执行 sudo make install

6 检查是否安装成功:

文件编译好之后,就需要安装数据库并执行配置了!

安装Mysql

1 配置环境变量(非必须):

创建变量文件,可以创建在profile,也可以创建在profile.d中

写入配置信息

执行生效环境变量,注意:这一步必须退到根目录下执行,

2 创建配置文件

在mysql的安装目录下创建配置文件目录/etc,

在/etc下创建my.cnf

3 编辑my.cnf

有些目录 /data /log /run 可能没有,则需要手动创建

my.cnf

[client]

[mysqld]

basedir=/usr/local/mysql

# this direct impossible is nothing,we need to build!

datadir=/usr/local/mysql/data

# The document was not informed

socket=/tmp/mysql.sock

character_set_filesystem = utf8mb4

character_set_server = utf8mb4

symbolic-links=0

# run and log is must!

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld.pid

4 将mysql目录下的文件权限,全部赋给mysql,

否则会导致初始化后,/data下没有任何内容

5 进行初始化

sudo /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf

--initialize --user=mysql

6 配置启动服务

7 查询mysql的初始密码,在日志文件中随机生成的;

后面的路径需要注意是自己的

sudo grep 'root'@'localhost' /usr/local/mysql/log/mysqld.log

初始密码:7wff5n<w%j_S

8 修改root密码

ALTER USER root@localhost IDENTIFIED BY 'new password';

9 连接数据库

mysql -h IP地址 -uroot -p 【回车后输密码】

GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;

QQ 群:219537016    虽然没啥人气,群主经常装死中!

建立了一个微信讨论群,群主最喜欢能解决问题时,出来冒泡,解决不了时,装死!

mysql 5.7.18 源码安装笔记相关推荐

  1. mysql 5.7.18源码包下载_MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程

    <MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程>要点: 本文介绍了MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程,希望对您有用.如 ...

  2. mysql 5.7.17 源码安装_mysql5.7.17源码安装

    创建用户和目录 groupadd mysql useradd -r -g mysql mysql mkdir -p /data/mysql/standby/data mkdir -p /data/my ...

  3. MySQL学习之路 一 : MySQL 5.7.19 源码安装

    MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...

  4. springboot jpa mysql大学生兼职网源码+安装视频+讲解视频+效果视频

    项目介绍: springboot jpa mysql大学生兼职网源码+安装视频+讲解视频+效果视频 高清视频演示: https://www.bilibili.com/video/BV1yY4y137U ...

  5. ubuntu17.04下mysql5.7.18源码安装

    1.下载mysql5.7.18源码(带有boost) 下载 地址为https://dev.mysql.com/downloads/mysql/ 2.添加mysql组及用户 groupadd mysql ...

  6. mysql 5.5.38_数据库的硬迁移和mysql 5.5.38源码安装

    场景: 一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库 的数据目录(在数据库DOWN的情况下) 数据库版本mysql 5.5.38 安装方式:源码安装 思路:在另一 ...

  7. 数据库的硬迁移和mysql 5.5.38源码安装

    场景: 一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库 的数据目录(在数据库DOWN的情况下) 数据库版本mysql 5.5.38 安装方式:源码安装 思路:在另一 ...

  8. linux应用之Lamp(apache+mysql+php)的源码安装(centos)

    Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...

  9. ott盒子 MySQL_Linux+Nginx+MySql+Php既LNMP源码安装

    前言: 我们都知道Apache作为一款出色的web服务器占据了市场大半个江山,他的地位目前还无人能取代,但是除了Apache,,在web服务器软件行列,Nginx以其性能稳定.功能丰富.运维简单.处理 ...

最新文章

  1. 美国新规:自动驾驶车,从此不需要驾驶位了
  2. linux 手动添加 swap 分区
  3. 京东数据驱动下的个性化推荐
  4. 自定义控件:旋转菜单
  5. wincc flexable变量组态
  6. 解决 /usr/share/git-cola/bin/ssh-askpass: 3: exec: wish: not found
  7. HDU 5895 Mathematician QSC
  8. ubuntu 14.04 下 安装samba 及SSH 服务端的方法
  9. weak引用表原理探究
  10. NetSuite 在中国 - 一个全程信息化管理平台
  11. 拓端tecdat|Python中用Prophet模型对天气时间序列进行预测与异常检测
  12. k近邻matlab,模式识别 最近邻法和k近邻法MATLAB实现.doc
  13. (附源码)计算机毕业设计Java远程健康数据管理系统
  14. 主播入门到精通培训实操手册全套资料(共300份)
  15. ai作诗——分享好用人工智能作诗工具
  16. 各种笔记本进入BIOS的快捷键
  17. JSON 在线格式化工具感觉挺好用的
  18. win10 系统 chrome内核浏览器 微软雅黑字体难看的解决方法
  19. Java交换二叉树的左右子树_二叉树左右子树交换
  20. HDFS读写流程以及多节点、单节点磁盘负载均衡

热门文章

  1. 马上过年了,学了这个python脚本准备去抢红包,希望能赚个几千块钱
  2. 用卷积公式计算“独立随机变量之和”的概率分布 Distribution of sum of independent Rayleigh random variables
  3. 病毒性营销方案策划及复盘
  4. no applicable method for 'irf' applied to an object of class data.frame怎么解决
  5. Java基础-面向对象3
  6. 立创开源zigbee2mqtt网关 简称:z2m
  7. 大学生所面临的网络安全问题有哪些?
  8. PAIP WEB程序网站安全扫描检测工具(桌面程序)总结
  9. 转:欢聚时代高管解读财报
  10. 航模第二篇-如何开始玩航模