MySQL源码包编译安装
+++++++++++++++++++++++++++++++++++++++++++
标题:MySQL数据库实力部署
时间:2019年3月9日
内容:MySQL源码包进行编译,然后部署MySQL单实例
重点:了解源码包编译过程,重点掌握MySQL单实例部署流程及注意事项
+++++++++++++++++++++++++++++++++++++++++++
1. MySQL源码包编译
1.1 安装编译环境
# yum install -y gcc gcc-c++
# yum install -y ncurses-devel.x86_64
# yum install -y libaio.x86_64
# yum install -y bison.x86_64
# yum install -y gcc-c++.x86_64
# yum install -y cmake.x86_64 //如果cmake版本过低,卸载低版本,安装高版本的cmake。
# wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
# tar zxvf boost_1_59_0.tar.gz
# mv boost_1_59_0 /usr/local/boost
1.2 编译参数详解
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #mysql编译安装目录
-DMYSQL_DATADIR=/home/mysql3306/mysql3306 #mysql默认数据目录
-DDEFAULT_CHARSET=utf8 #mysql默认编码
-DEXTRA_CHARSETS=all #编译其他编码
-DSYSCONFDIR=/etc #配置文件默认目录
-DENABLED_LOCAL_INFILE=1 #是否允许载入外部数据文件
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #默认sock文件地址
-DDEFAULT_COLLATION=utf8_general_ci #默认排序规则
-DMYSQL_TCP_PORT=3306 #默认端口
-DMYSQL_USER=mysql #默认用户
-DWITH_MYISAM_STORAGE_ENGINE=1 #引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_BOOST=/usr/local/boost #指定c++ boost库的位置
1.3 . MySQL软件编译
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql3306/mysql3306 -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost
# make
# make install
2. MySQL单实例部署
2.1 配置MySQL安装环境
# useradd -s /sbin/nologin mysql //该用户不需要登录权限
# mkdir -p /data/mysql/mysql
# mkdir -p /data/mysql/logs
# chown -R mysql:mysql /data/mysql
2.2 配置MySQL配置文件
# cp my.cnf /etc/my.cnf
# vim /etc/my3306.cnf
修改配置文件中的与路径相关的参数
port = 3306
socket = /tmp/mysql3306.sock
datadir = /data/mysql/mysql
server-id = 441203306 //MySQL实例的唯一标号
innodb_buffer_pool_size = 256M //实验环境下,根据实际情况分配内存
其他参数则需要根据具体需求进行修改。
2.3 MySQL实例内存分配原则
单实例:建议单独部署在单独的服务器中,分配内存为服务器内存的75%。
多实例:建议核心节点单独部署在单独的服务器中,内存具体分配根据数据库服务器的压力决定。
2.4 MySQL实例初始化
# tar zxvf mysql-5.7.19.el6.tar.gz -C /usr/local/
# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/mysql/ --user=mysql
注意:
--initialize mysql5.7初始化会创建随机密码;--initialize-insecure 初始化启动后没有密码。
MySQL5.6版本的数据库初始化脚本为mysql_install_db;MySQL5.7版本数据库初始化脚本为mysqld。
# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
注意:启动时先指定配置文件
# ps -ef |grep mysql
2.5 配置MySQL环境变量
# vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH:$HOME/bin
# source /etc/profile
MySQL源码包编译安装的更多相关文章
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
- LAMP 环境搭建之源码包编译安装
mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46 Apache版本2.4.7 PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...
- MYSQL5.7源码包编译安装
Centos下用cmake编译安装MySQL 5.7安装依赖包yum -y install gcc gcc-c++ ncurses ncurses-devel cmake下载相应源码包cd /usr/ ...
- PHP-5.6.8 源码包编译安装
一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...
- MYSQL5.5源码包编译安装
MYSQL5.5源码安装首先安装必要的库yum -y install gcc*###### 安装 MYSQL ######首先安装camke 一.支持YUM,则yum install -y cmake ...
- 02.LNMP架构-MySQL源码包编译部署详细步骤
操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...
- mysql源码包手动安装、配置以及测试(亲测可行)
笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...
- MYSQL5.6源码包编译安装
linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...
随机推荐
- CAN总线学习记录之一:CAN简介
CAN 是 Controller Area Net 的缩写,即控制器局部网,是一种有效支持分布控制或实时控制的串行通信网络.CAN 是德国 Bosch 公司为汽车的监测.控制系统而设计的,如控制发动机 ...
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...
- C#杂记-隐式类型的局部变量
基础知识:方法中声明的变量,叫局部变量 普通局部变量:有明确数据类型. string name; 隐式类型的局部变量:使用“var”代替明确的数据类型. var name = "abc&qu ...
- Java开发笔记(十七)各得其所的多路分支
前面提到条件语句的标准格式为“if (条件) { /* 条件成立时的操作代码 */ } else { /* 条件不成立时的操作代码 */ }”,乍看之下仿佛只有两个分支,一个是条件成立时的分支,另一个 ...
- 轻松理解 Java HashMap 和 ConcurrentHashMap
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 ...
- java学习笔记 线程的实现与同步
2019.4.2 线程实现的两种方式 继承线程,复写其中的run方法 实现runnable接口,复写run方法 使用: MyThread target = new MyThread(); new Th ...
- spring整合mybatis接口无法注入问题
在学习Spring完之后简单的了解了MyBatis.然后进行简单的整合,遇到MyBatista接口映射的Bean无法自动注入的问题: 代码异常: 线程“main”org.springframe .be ...
- eclipse部署Tomcat9
1.下载 下载地址https://tomcat.apache.org/download-90.cgi 2.解压文件 3.运行bin-->startup.bat文件,若界面如下图,则成功 4. ...
- Linux系统启动详解
系统启动流程 通过下图认识下Linux系统的总体启动流程. BIOS BIOS一般负责检查硬件和查找启动设备. MBR:Boot Code MBR只是一段引导代码,真正的引导是由引导程序去执行的. G ...
- 总结Linux下的软件安装
安装软件的最佳实践 虽然我们知道Linux下安装软件有三种方式,分别是源代码安装,rpm包安装和yum安装,但是从可控性和结合自己目前的水平来说,优先选择以下两种方式安装程序. 1,使用rpm包安装 ...