预备工作:

OS:Centos7.1

DATABASE: mysql-5.6.30.tar.gz

wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz

1. 创建mysql帐号

创建用户和用户组

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -g mysql mysql

[root@localhost ~]# passwd mysql

2.验证安装包

解压mysql源码包mysql-5.6.30.tar.gz

[root@localhost ~]# mkdir -p /opt/mysql-5.6/

[root@localhost ~]# tar zxvf mysql-5.6.30.tar.gz -C /opt/mysql-5.6

[root@localhost ~]# cd /opt/mysql-5.6/

验证之前是否安装过mysql,若存在mysql相关包,则rpm -e逐个删除(建议先删devel包,再mysql包,最后强制删除libs包,centos 7默认为中为mariadb.*,依次删除)

[root@localhost mysql-5.6]# rpm -qa|grep mysql

再验证以下编译必备安装包是否安装:

gcc* gcc-c++* cmake autoconf* automake* zlib* ncurses-devel* libtool* bison

wKiom1eF0Y-DRDgNAACpVNxcfKc895.jpg-wh_50

当缺少相关安装包时,需要通过rpm -ivh ***.rpm或yum install RPM_NAME安装

3.源码编译过程

[root@localhost mysql-5.6]# cmake .

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6  #安装目录

-DWITH_INNOBASE_STORAGE_ENGINE=1   #支持InnoDB引擎

-DWITH-READLINE=1 #支持快捷键

-DEXTRA_CHARSETS=all  #安装所有字符集

-DENABLED_LOCAL_INFILE=1  #从本地导入数据

-DWITH_EMBEDDED_SERVER=1 #编译Embedded Mysql库

-DWITH_SSL=bundled  #

-DDEFAULT_CHARSET=utf8    #默认字符集

[root@localhost mysql-5.6]# make

[root@localhost mysql-5.6]# make install

[root@localhost mysql-5.6]# ln -s /usr/local/mysql-5.6 /usr/local/mysql

4.创建mysql数据目录及/etc/my.cnf

数据存放目录,默认为basedir下的data目录(实际场景下,建议mount专用盘作为data):

[root@localhost mysql-5.6]# cd /usr/local/mysql

[root@localhost mysql]# mkdir -p /opt/mysql/data1

[root@localhost mysql]# chown -R mysql:mysql /opt/mysql

[root@localhost  mysql]#  chown -R mysql:mysql /usr/local/mysql

[root@localhost mysql]# vi /etc/my.cnf

[client]

port = 3306

socket =/opt/mysql/data1/mysqld.sock

[mysqld_safe]

user = mysql

nice = 0

[mysqld]

port = 3306

pid-file = /opt/mysql/data1/mysqld.pid

socket = /opt/mysql/data1/mysqld.sock

basedir = /usr/local/mysql

datadir = /opt/mysql/data1/

tmpdir = /opt/mysql/data1/

log-error = /opt/mysql/data1/mysqld.log

slow_query_log =1

slow_query_log_file = /opt/mysql/data1/mysql-slow.log

log_bin = /opt/mysql/data1/mysql-bin.log

[mysqldump]

quick

quote-names

max_allowed_packet = 16M

default-character-set = utf8

[mysql]

default-character-set = utf8

4.初始化mysql

建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错

[root@localhost  mysql]# ./scripts/mysql_install_db --defaults-file=/etc/my.cnf

[root@localhost  mysql]# ./bin/mysql_secure_installation

5.将mysql服务加入init.d管理

建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错

[root@localhost  mysql]# cp ./bin/mysql /etc/init.d/mysql

[root@localhost  mysql]# chkconfig --add mysql

[root@localhost  mysql]# chkconfig mysql on

[root@localhost  mysql]# chkconfig --list

同时更改环境变量 vi ~/.bash_profile,在PATH变量后添加:/usr/local/mysql/bin

6.启动mysql服务的几种方式

mysqld与mysqld_safe的区别在于mysqld_safe宕机后仍能重启

[root@localhost mysql]# service mysql start

[root@localhost mysql]# mysqld_safe --defaults-file=/etc/my.cnf &

[root@localhost mysql]# mysqld --defaults-file=/etc/my.cnf &

Mysql多实例安装

多实例的几个好处:mysql多实例共用同一个mysql程序,但是使用不同的配置文件(可以相同)及端口(必须不同)来启动程序,数据文件存放在不同的文件夹中。这些多实例任务相互独立, 可以有效的利用资源,实现资源的逻辑隔离。

上述1-6歩主要安装了使用3306端口的实例,我们同样可以生成其他端口的实例。这里我们通过以下步骤安装3310端口的MySQL实例。

1.创建使用3310端口的mysql数据目录及/etc/my3310.cnf

[root@localhost mysql-5.6]# cd /usr/local/mysql

[root@localhost mysql]# mkdir -p /opt/mysql/data2

[root@localhost mysql]# vi /etc/my3010.cnf

[client]

port = 3310

socket =/opt/mysql/data2/mysqld.sock

[mysqld_safe]

user = mysql

nice = 0

[mysqld]

port = 3310

pid-file = /opt/mysql/data2/mysqld.pid

socket = /opt/mysql/data2/mysqld.sock

basedir = /usr/local/mysql

datadir = /opt/mysql/data2/

tmpdir = /opt/mysql/data2/

log-error = /opt/mysql/data2/mysqld.log

slow_query_log =1

slow_query_log_file = /opt/mysql/data2/mysql-slow.log

log_bin = /opt/mysql/data2/mysql-bin.log

[mysqldump]

quick

quote-names

max_allowed_packet = 16M

default-character-set = utf8

[mysql]

default-character-set = utf8

2.初始化使用3310端口的mysql

建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错

[root@localhost mysql]# ./scripts/mysql_install_db --defaults-file=/etc/my3310.cnf

[root@localhost mysql]# ./bin/mysql_secure_installation  --defaults-file=/etc/my3310.cnf

3.编辑多实例mysql的配置文件

[root@localhost mysql]# vi /etc/mysql_multi.cnf

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe

mysqladmin = /usr/local/mysql/bin/mysqladmin

[mysqld3306]

port = 3306

pid-file = /opt/mysql/data1/mysqld.pid

socket = /opt/mysql/data1/mysqld.sock

basedir = /usr/local/mysql

datadir = /opt/mysql/data1/

tmpdir = /opt/mysql/data1/

log-error = /opt/mysql/data1/mysqld.log

slow_query_log =1

slow_query_log_file = /opt/mysql/data1/mysql-slow.log

log_bin = /opt/mysql/data1/mysql-bin.log

[mysqld3310]

[client]

port = 3310

socket =/opt/mysql/data2/mysqld.sock

[mysqld_safe]

user = mysql

nice = 0

[mysqld]

port = 3310

pid-file = /opt/mysql/data2/mysqld.pid

socket = /opt/mysql/data2/mysqld.sock

basedir = /usr/local/mysql

datadir = /opt/mysql/data2/

tmpdir = /opt/mysql/data2/

log-error = /opt/mysql/data2/mysqld.log

slow_query_log =1

slow_query_log_file = /opt/mysql/data2/mysql-slow.log

log_bin = /opt/mysql/data2/mysql-bin.log

[mysqldump]

quick

quote-names

max_allowed_packet  = 16M

default-character-set  = utf8

[mysql]

default-character-set = utf8

4.启动mysql多实例

[root@localhost mysql]# mysqld_multi --defaults-file=/etc/mysql_multi.cnf start 3306

[root@localhost  mysql]#  mysqld_multi  --defaults-file=/etc/mysql_multi.cnf start 3310

©著作权归作者所有:来自51CTO博客作者退而结网ZP的原创作品,如需转载,请注明出处,否则将追究法律责任

mysql服务器数据库MySQL

mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置相关推荐

  1. 高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

    部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机 ...

  2. centos7 mysql 源码安装_CentOS7.4 源码安装MySQL8.0的教程详解

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 以下为本人2018.4.23日安装过程的记录.整个过程大 ...

  3. kubeadm源码分析(内含kubernetes离线包,三步安装)

    k8s离线安装包 三步安装,简单到难以置信 kubeadm源码分析 说句实在话,kubeadm的代码写的真心一般,质量不是很高. 几个关键点来先说一下kubeadm干的几个核心的事: kubeadm ...

  4. c++ gdb 绑定源码_2020重学Go系列:30. 非常详细的 Go 语言 GDB 调试指南

    做为新手,熟练掌握一个好的调试工具,对于我们学习语言或者排查问题的时候,非常有帮助. 你如果使用 VS Code 或者 Goland ,可以直接上手,我就不再写这方面的文章了. 其实相比有用户界面的 ...

  5. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)

    我们以 GPG(加密工具)为例来说明两种安装方式的区别: 源码(Source code releases,名称中则会含有src等说明信息,tarball:source),先编译再安装 GPU 的源码地 ...

  6. 小程序源码:宝宝起名神器微信小程序源码下载-多玩法安装简单

    这款小程序支持输入姓氏自动起名,不满意还可以点击换一换来找到满意的 支持起两个字或者三个字的名字 另外小编也给该款小程序添加了几个流量给大家 下面就来看看小编的测试演示图吧! 小程序源码下载地址:小程 ...

  7. 小程序源码:全新实用工具证件照制作-多玩法安装简单

    这是一款证件照制作的微信小程序,里面也支持直接微信公众号版本生成安装 支持多种尺寸制作 支持相册上传于直接相机拍摄 支持多种类型的证件制作如,职业证件,公务员证件,身份证等各种类型 支持电子照存档等等 ...

  8. 小程序源码:炫酷恶趣制作神器-多玩法安装简单

    这是一款强大的恶趣制作小程序源码 ​ 编辑 另外新增加了姓氏头像的制作 另外小编还给添加了几个流量主广告,包含了每一个页面都覆盖了 而且流量主还不是单一种: Banner 激励视频 视频广告 多格子广 ...

  9. 小程序源码:求职招聘微信小程序-多玩法安装简单

    1.多城市招聘平台2.职位版块 3.人才版块 4.招聘会(支持企业在线报名参加招聘会) 5.职场资讯6.企业登录(在手机端可操作企业信息编辑.发布职位.查收简历.通知面试) 7.企业VIP套餐购买功能 ...

最新文章

  1. JAVA开发:开发属于你的第一个Java程序
  2. 【题解】大床Nim (2019,5.23)
  3. 实例32:python
  4. html日期只显示7天,vue+elementui 只能选7天内的日期
  5. cell数组变为字符串_字符串匹配 ---- BM 算法原理
  6. 好程序员分享24个canvas基础知识小结 1
  7. asp.net+mysql,asp.net+mysql后台盲注入
  8. Android 客户端无法访问 服务器,无法将Android客户端与本地XMPP服务器连接
  9. 三种存储类型:块存储、文件存储、对象存储
  10. java label 位置_java 怎样设置label的位置
  11. C语言如何求最大值和最小值
  12. 谣言检测论文精读——11.PAKDD2020-SAFE: Similarity-Aware Multi-Modal Fake News Detection
  13. 人工智能专业计算机毕业设计选题推荐
  14. html table 内外边框,HTML_TABLE内外边框
  15. 金仓数据库KingbaseES客户端编程接口指南-ODBC(6. KingbaseES ODBC 的扩展属性)
  16. 如何入门python爬虫?
  17. python调用短信宝API发送短信(附python代码 易理解)
  18. LARS算法的几何意义
  19. 用Matlab解决数学问题
  20. 软件测试|缺陷的生命周期是怎么样的

热门文章

  1. Internet Explorer 11 Enterprise Mode 排错
  2. mongod备份还原常用命令
  3. 中国五大顶级域名7月第一周增3.2万 美国减7.3万
  4. 孤岛营救与汽车加油行驶问题
  5. 字符串匹配手机号码的正则表达式(原创,适应所有条件)
  6. 专为Android加载图片Fresco:详细图解SimpleDraweeView加载图片基础
  7. StoreFront 登陆页面的话持续时间
  8. Netsclaer配置
  9. CentOS 6.3下Samba服务器的安装与配置(转)
  10. 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!...