MySQL5.7 的编译安装
转:
5.7的安装: https://www.insp.top/article/make-install-mysql-5-7
5.6的安装: https://www.chenyudong.com/archives/building-mysql-5-6-from-source.html
直接开始吧。
一切从必要依赖开始。
- yum install -y gcc gcc-c++ ncurses-devel perl
本文中系统为 CentOS 7,不同系统的软件包管理器可能用法不同,但需求类似,请准备好 gcc gcc++ ncurses 及 perl 相关编译器或依赖库即可。
必要的文件准备:
- mysql 5.7.10 (include boost headers)http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz
- cmake 3.4.1 https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
首先需要安装 cmake,因此解压刚刚下载的 cmake 3.4.1 编译安装,步骤如下:
- tar -xzvf cmake-3.4.1.tar.gz
- cd cmake-3.4.1
- ./bootstrap
- make && make install
安装完 cmake,就开始着手 MySQL 编译安装的步骤。首先为添加 MySQL 对应的系统账户,用于保证其本地文件权限分配:
- groupadd mysql
- useradd -r -g mysql mysql
创建数据库目录:
- mkdir -p /var/mysql/data
- chown mysql:mysql /var/mysql/data
开始准备编译安装,解压 mysql-boost-5.7.10.tar.gz 并进入其解压后的 mysql-5.7.10目录,在该目录下执行:
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
- -DDEFAULT_CHARSET=utf8mb4 \
- -DDEFAULT_COLLATION=utf8mb4_general_ci \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DMYSQL_DATADIR=/var/mysql/data \
- -DMYSQL_TCP_PORT=3306 \
- -DWITH_BOOST=boost
除了上述参数,编译安装的参数还有很多很多,若需要了解每一个参数的具体含义或者参数的默认值,可以到 MySQL 官网的文档里查阅,在此给出这一版本的查阅地址:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
执行完 cmake 的配置过程,就需要开始准备最为 漫长的 的编译过程,根据不同机器的配置,时间大约在 2 小时左右(低配情况下 4 小时以上也是可能的)。执行编译和安装操作已经很熟悉了: make && make install。
好的,进行完以上步骤,首先需要改变 mysql 安装目录的所有者,比如我们安装的目录是/usr/local/mysql,使用命令
chown -R mysql:mysql /usr/local/mysql
修改目录所有者。此时,复制一份默认配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
如果提示已存在文件是否覆盖时,覆盖即可。
然后执行数据库的初始化操作,
/usr/local/mysql/bin/mysqld --initialize --user=mysql,
这时候会初始化数据库并创建一个数据库 root 账号,但是要注意,和以前不一样的是,这个账号是有默认密码的,初始化的时候屏幕上会输出初始化的密码,如果错过了,可以通过查看 /root/.mysql_secret 即可看到默认的密码。
执行 cp /usr/local/mysql/support-files/mysql.server /etc/init.d,将 mysql 的服务启动脚本复制过去,然后执行 service mysql.server start 启动 mysql。
最后 /usr/local/mysql/bin/mysql -u root -p,输入密码回车,通过
set password=password('你的密码');
来修改默认密码
至此,基本的安装流程完毕!你可以根据需要,将 mysql 加入开启启动,也可以将/usr/local/mysql/bin 下的文件加入 PATH 环境变量,更多使用方式可以参考官方文档,写的十分细致。
MySQL5.7 的编译安装的更多相关文章
- mysql5.7.11编译安装以及修改root密码小结
系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...
- mysql-5.6.17编译安装和常见问题
mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...
- [转帖]MySQL5.7.20编译安装
MySQL5.7.20编译安装 尝试一下 想着 我在arm上面最终安装失败了. https://www.cnblogs.com/shengdimaya/p/8027507.html 1:官网下载sou ...
- CentOS6.5内 MySQL5.7.19编译安装
作为博主这样的Linux菜鸟,CentOS下最喜欢的就是yum安装.但有时候因为特殊情况(例如被墙等),某些软件可能没办法直接通过yum来安装,这时候我们可以使用编译安装或者直接二进制文件安装. 本博 ...
- MySQL5.7.20编译安装
1:官网下载source code源码安装文件 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz 2:安装准备 ...
- mysql5.7.x 编译安装
一.卸载mariadb [root@mysql5 ~]# rpm -qa mariadb* mariadb-libs--.el7.centos.x86_64 [root@template tools] ...
- mysql5.1的编译安装 ----针对第一次安装mysql的
由于是第一次安装,不能确定你是否有安装编译和mysql所要依赖的插件,使用我是当做你最原始的安装环境. 1.安装mysql5.1的依赖包 yum install -y gcc gcc-c++ aut ...
- Mysql5.7版本编译安装及配置
配置yum安装方式 1.配置本地yum源 vim /etc/yum.repos.d/rhel-source.repo [rhel-source] name=Red Hat Enterprise Lin ...
- MYSQL5.7.24编译安装
1.解压源代码包 #tar zxvf mysql-boost-8.0.17.tar.gz 2.安装依赖包 #yum -y install gcc gcc-c++ ncurses ncurses-dev ...
随机推荐
- P1359 租用游艇
题目描述 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1& ...
- php 操作时间、日期类函数
<?php // time() echo "time(): ",time(); echo "\n"; // strtotime() echo " ...
- 2017-2018 Exp5 MSF基础应用 20155214
目录 Exp5 MSF基础应用 实验内容 渗透攻击 主要思路 知识点 Exp5 MSF基础应用 本次实验本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路. 主动攻击:m ...
- 2017-2018-1 20155232 嵌入式C语言——时钟
2017-2018-1 20155232 嵌入式C语言--时钟 任务: 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清 ...
- pandas:根据行间差值进行数据合并
1. 问题描述 在处理用户上网数据时,用户的上网行为数据之间存在时间间隔,按照实际情况,若时间间隔小于阈值(next_access_time_app),则可把这几条上网行为合并为一条行为数据:若时间间 ...
- 手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)
前言 什么是APM?全称:Application Performance Management 可以参考这里: 现代APM体系,基本都是参考Google的Dapper(大规模分布式系统的跟踪系统)的体 ...
- 5.Xilinx RapidIO核例子工程源码分析
https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...
- libgdx学习记录23——图片移动选择
模拟移动选择图片,采用相机实现. package com.fxb.newtest; import com.badlogic.gdx.ApplicationAdapter; import com.bad ...
- L017-linux系统定时任务crond入门小节
L017-linux系统定时任务crond入门小节 oh my god!how old are you? 怎么老是你?没错,我又来了,哈哈哈,今天是我的生日呢,在这么重要的日子里,必须要更一篇学习小节 ...
- redis见解
http://blog.csdn.net/zhiguozhu/article/details/50517527Redis原生session与redis中的session区别原生session在服务器上 ...