作为博主这样的Linux菜鸟,CentOS下最喜欢的就是yum安装。但有时候因为特殊情况(例如被墙等),某些软件可能没办法直接通过yum来安装,这时候我们可以使用编译安装或者直接二进制文件安装。

本博文用于记录编译安装MySQL的过程:

1.首先下载相关资源:

组件 官方网站 下载地址 备注
mysql http://dev.mysql.com/ https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz mysql源码
Boost http://www.boost.org/ http://120.52.73.44/nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz 编译时使用,必须是Boost 1.59.0

2.安装依赖包:

yum install -y gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake  libaio libaio-devel autoconf bzr bison libtool

3.解压并安装Boost(拷贝至/usr/local/boost目录)

tar -zxf boost_1_59_0.tar.gz
mv /tmp/boost_1_59_0 /usr/local/boost

4.解压MySQL源玛

tar -zxf mysql-5.7..tar.gz

5.准备MySQL数据,日志等路径,并创建mysql用户,赋予mysql用户相关文件夹权限

mkdir -p /usr/local/mysql /binlog/mysqlog /data/mysql
groupadd -r mysql
useradd -g mysql -r -d /data/mysql mysql
chown -R mysql.mysql /usr/local/mysql /binlog/mysqlog /data/mysql

6.编译安装

cd mysql-5.7.
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DMYSQL_TCP_PORT= \
-DWITH_DEBUG= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_PERFSCHEMA_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DSYSCONFDIR=/etc/my.cnf \
-DENABLED_LOCAL_INFILE= \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_BOOST=/usr/local/boost \
make && make install

7.编辑my.cnf文件

vi /etc/my.cnf

几个路径的地方记得修改:

[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
basedir = /usr/local/mysql # basic setting
user=mysql
port=
server-id= #log
slow_query_log_file = /binlog/mysqlog/slow.log
slow_query_log = # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= log-error=/binlog/mysqlog/err.log

8.初始化MySQL

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql --socket=/tmp/mysql.sock --log-error=/binlog/mysqlog/err.log --log-bin=/binlog/mysqlog/mysql-bin

9.添加MySQL服务

cd /tmp/mysql-5.7./support-files
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql

10.启动MySQL

/etc/init.d/mysql start

11.查看mysql进程

ps -ef | grep mysql

12.建立Mysql映射

ln -s /usr/local/mysql/bin/mysql /usr/bin

13.查找mysql初始密码

sudo grep 'temporary password' /binlog/mysqlog/err.log

14.初次登录,修改密码

mysql -uroot -p
set password=password('newpassword');

打完收工。

CentOS6.5内 MySQL5.7.19编译安装的更多相关文章

  1. 在centos6.6中mysql5.5的编译、安装、配置

    今天根据需求要在centos6.6上编译安装mysql5.5,因为以前编译安装过感觉很简单,但是今天还是出现了点小问题,所以把过安装过程总结了一下: 好像从mysql5.5开始编译安装mysql需要用 ...

  2. [转帖]MySQL5.7.20编译安装

    MySQL5.7.20编译安装 尝试一下 想着 我在arm上面最终安装失败了. https://www.cnblogs.com/shengdimaya/p/8027507.html 1:官网下载sou ...

  3. mysql5.7.11编译安装以及修改root密码小结

    系统是cenos6.7 64位的,默认mysql5.7.11下载到/usr/local/src,安装目录在/app/local/mysql目录下,mysql数据放置目录/app/local/data. ...

  4. centos6.5环境Redis下载及编译安装

    centos6.5环境Redis下载及编译安装 1:官方站点: http://redis.io/download 下载最新版或者最新stable版 2:解压源码并进入目录 tar -zxvf redi ...

  5. MySQL5.7.19 免安装配置 + Navicat for MySQL安装和破解(附全部资源)

    近段时间因为工作原因安装了好多次本地MySQL,安装过程也是时有曲折,索性记录一下. 环境: Win10 家庭版 MySQL5.7.19   (链接:https://pan.baidu.com/s/1 ...

  6. mysql-5.6.17编译安装和常见问题

    mysql-5.6.17编译安装和常见问题 以前用的是MySQL的5.1版本,且使用的是免编译的包,安装简单.最近换了5.6版本的MySQL,安装过程出现了不少问题. 1. 卸载原来版本的MySQL ...

  7. 内网服务器离线编译安装mysql5.7并调优

    目录 内网服务器离线编译安装mysql5.7并调优 前言 关于MySQL 一.MySQL安装篇 部署环境 前期准备工具 挂载系统ISO镜像,配置yum源 二.MySQL调优篇 1.对MySQL进行安全 ...

  8. linux下Mysql 8.0.19 编译安装

    1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...

  9. Centos7 php 5.6.19编译安装

    0x01  前言 在php官网下载php-5.6.19.tar.gz源代码(php7虽然说性能提升很大,但是小菜菜还是先用着这个先吧),解压后根目录有个INSTALL文件,里面有安装教程了,目录如下: ...

随机推荐

  1. Disruptor 为什么这么快?

    为什么Disruptor不使用队列来实现RingBuffer   队列有两个指针,一个指向队头,一个指向队尾.如果有超过一个生产者想要往队列里放东西,尾指针就将成为一个冲突点,因为有多个线程要更新它. ...

  2. Deep learning with Python 学习笔记(11)

    总结 机器学习(machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型(model)].将数据转换为程序的这个过程叫作学习(learning) 深 ...

  3. 【leet-code】542. 01 矩阵

    题目描述 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 ...

  4. 设计shell脚本选项:getopt

    man 1 getopt翻译:https://www.cnblogs.com/f-ck-need-u/p/9757959.html 写shell脚本的时候,通过while.case.shift来设计脚 ...

  5. MySQL系列详解四:MySQL事务-技术流ken

    MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...

  6. 我的python渗透测试工具之主机嗅探

    嗅探工具的主要目标是基于UDP发现目标网络中的存活主机,选择UDP的原因是UDP访问过程开销小. 由于很多的操作系统在处理UDP端口的闭合时都会存在一个共性,我们也正是利用这个共性来开展确定此IP上是 ...

  7. 【转】CentOS系统操作下安装相关各种软件

    CentOS系统是非常强大经常应用的系统,我就对CentOS系统深入探讨学习,对大家概括讲述CentOS系统应用,希望对大家有用.虽然CentOS Linux使用了RHEL的源代码,但是由于这些源代码 ...

  8. 第一册:lesson sixty one.

    原文: A bad cold. A:Where is Jim? B:He is in bed. A:What's the matter with him? B:He fells ill. A:He l ...

  9. TypeError: value.getTime is not a function (elementUI报错转载 )

    "TypeError: value.getTime is not a function" 2018年07月02日 16:41:24 leeleejoker 阅读数:2091 标签: ...

  10. Runnable和Callable接口辨析

    突然发现和启动一个线程有关的有三函数,run(), call(), start(),有点小乱,所以特别梳理一下 首先说一下start(),这个是最好说的,感觉start()和run()这俩名字是真的有 ...