文档章节

CentOS 7 源码编译安装 MySQL 5.7记录

admin_qing
 admin_qing
发布于 06/26 02:50
字数 598
阅读 42
收藏 0
点赞 0
评论 0

没事瞎折腾,本来可以yum安装,却偏偏去要编译源码。

1. 安装依赖包

1). 安装cmake等依赖

# yum install cmake ncurses ncurses-devel bison bison-devel

2). 安装boost 1.59.0

# wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
# tar -xvf boost_1_59_0.tar.gz
# mv boost_1_59_0 /usr/local/boost

3). 添加mysql用户及目录

添加三无用户mysql,并创建根目录和数据目录

# useradd -s /sbin/nologin -c "MySQL" -M mysql
# mkdir -p /apps/mysql
# mkdir -p /data/mysql/data
# mkdir -p /data/mysql/etc
# mkdir -p /data/mysql/logs

2. 获取源码

国内MySQL镜像下载

# wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.22.tar.gz

3. 解压

# tar -xvf mysql-5.7.22.tar.gz
# cd mysql-5.7.22

4. 编译安装

cmake 参数详细可参考官方文档

# cmake -DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/data/mysql/etc \
-DMYSQL_UNIX_ADDR=/data/mysql/logs/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/usr/local/boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=OFF
# make -j `grep processor /proc/cpuinfo | wc -l`
# make install

5. 初始化数据库

修改MySQL目录权限

# cd /apps/mysql
# chown -R mysql:mysql /apps/mysql
# chown -R mysql:mysql /data/mysql/data

将mysql命令添加到环境变量中

# vim /etc/profile.d/mysql.sh
export MYSQL_HOME=/apps/mysql
export PATH=$MYSQL_HOME/bin:$PATH
# source /etc/profile
# mysql --version

初始化MySQL数据库,注意保存好root用户的密码,如果不想生成随机密码,使用--initialize-insecure 参数代替--initialize 参数进行初始化即可。

# mysqld --initialize --user=mysql --basedir=/apps/mysql --datadir=/data/mysql/data

6. 创建配置文件

# vim /data/mysql/etc/my.cnf

my.cnf文件内容,应根据实际情况修改

# For advice on how to change settings please see
#
# *** DO NOT EDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
port = 3306
socket = /data/mysql/logs/mysqld.sock
[mysql]
socket = /data/mysql/logs/mysqld.sock
[mysqld]
basedir = /apps/mysql
datadir = /data/mysql/data
pid-file = /data/mysql/logs/mysqld.pid
socket = /data/mysql/logs/mysqld.sock
log_error = /data/mysql/logs/error.log
########basic settings########
server-id = 1
port = 3306
user = mysql
character_set_server=utf8mb4
collation-server=utf8mb4_general_ci
skip_name_resolve = 1
max_connections = 800
tmpdir = /tmp
max_allowed_packet = 64M
########innodb settings########
innodb_page_size = 8K
innodb_buffer_pool_size = 2G
innodb_buffer_pool_instances = 8
[mysqld_safe]
log-error = /data/mysql/logs/error.log
pid-file = /data/mysql/logs/mysqld.pid
[mysqldump]
quick
max_allowed_packet=32M

7. 启动MySQL服务

# cp support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list mysqld
# service mysqld start

8. 登陆及修改密码

# mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

© 著作权归作者所有

共有 人打赏支持
admin_qing
粉丝 1
博文 8
码字总数 5361
作品 0
长沙
程序员
OneinStack 1.2 发布,一键 PHP/JAVA 安装工具

这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Deb...

lj2007331
2016/03/03
2.6K
8
OneinStack 1.3 发布,一键 PHP/JAVA 安装工具

OneinStack 1.3 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用...

lj2007331
2016/04/29
1K
11
OneinStack 1.1 发布,一键 PHP/JAVA 安装工具

这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Debia...

lj2007331
2015/12/02
4.2K
26
OneinStack 1.4 发布,一键 PHP/JAVA 安装工具

OneinStack 1.4 发布了,这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于...

lj2007331
2016/07/12
3.2K
21
centos7安装sphinx2.2.11

推荐通过二进制包安装,简单快捷 1.如果你本机没有安装mysql5.6,会提示缺少 libmysqlclient.so.18 文件,这时候需要安装mysql-community-devel 先安装mysql yum仓库源 https://dev.mysql.co...

吾爱
2016/08/15
511
0
centos7 编译安装mysql-5.7.18

卸载mariadb 一、对于centos 7 安装mySql依赖项 二、创建用户 设置MySQL用户和组 新增mysql用户组 新增mysql用户 三、新建MySQL所需要的目录 新建mysql安装目录 -p /mysql/app 新建mysql数据...

wei_666
04/12
0
0
CentOS 7 + nginx-1.12 + php-7.2 + MySQL-5.7

CentOS 7 + nginx-1.12 + php-7.2 + MySQL-5.7 使用 Netkiller OSCM 一键安装PHP环境 Mr. Neo Chen (陈景峯), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 131...

neo-chen
01/12
0
0
webERP服务器配置问题

公司要求配置webERP的工作环境,但是在Vmware上面配置过几次都没有成功 请各给点提示 服务器环境: CentOS 5.7 + Apache 2.2.21 + MySQL 5.5.19 + PHP 5.2.17 (全部都是源码编译安装) PS:安装M...

WOON KAN YIP
2012/02/23
652
4
Shell 一键安装 LNMPT

前言 为了更加快速的节约时间,我选择用shell脚本一键执行! 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp / lamp /lnmpa 。 (Linux、Nginx/Tengine MySQL /MariaDB /Percona、P...

我不是九爷
2017/11/21
0
0
MMM+Amoeba搭建MySQL高可用负载均衡群集

MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离。MySQL的读写分离就是只在主服务器上写,只在从服务器上读...

cchenyz
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Weblogic问题解决记录

问题:点击登录,页面刷新但是不进去管理界面。解决:删除cookies再登录。

wffger
7分钟前
0
0
RxJava2的错误处理方案

最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的...

猴亮屏
15分钟前
0
0
程序的调试信息

调试二进制程序时,经常要借助GDB工具,跟踪程序的执行流程,获取程序执行时变量的值,以发现问题所在。GDB能得到这些信息,是因为编译程序时,编译器保存了相应的信息。Linux下的可执行程序...

qlee
38分钟前
0
0
应用级缓存

缓存命中率 从缓存中读取数据的次数与总读取次数的比例,命中率越高越好 java缓存类型 堆缓存 guavaCache Ehcache3.x 没有序列化和反序列化 堆外缓存ehcache3.x 磁盘缓存 存储在磁盘上 分布式...

writeademo
今天
0
0
python爬虫日志(3)find(),find_all()函数

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Sou...

茫羽行
今天
0
0
java:thread:顺序执行多条线程

实现方案: 1.调用线程的join方法:阻塞主线程 2.线程池 package com.java.thread.test;public class MyThread01 implements Runnable {@Overridepublic void run() {Syste...

人觉非常君
今天
0
0
ElasticSearch 重写IK分词器源码设置mysql热词更新词库

常用热词词库的配置方式 1.采用IK 内置词库 优点:部署方便,不用额外指定其他词库位置 缺点:分词单一化,不能指定想分词的词条 2.IK 外置静态词库 优点:部署相对方便,可以通过编辑指定文...

键走偏锋
今天
19
0
Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
今天
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
今天
42
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部