centos7环境下创建mysql5.6多实例的方法详解

本文实例讲述了centos7环境下创建mysql5.6多实例的方法。分享给大家供大家参考,具体如下:

一、mysql安装目录说明

mysql5.6以二进制安装包安装在/data/mysql56下
数据目录为/data/mysql56/data下
配置文件为/etc/my.cnf下

二、多实例目录说明

/mysql-instance
         |-- 3308
                  |-- data  #3308实例数据目录
         |-- 3309
                  |-- data  #3309实例数据目录

> mkdir -p /mysql-instance/3308/data
> mkdir -p /mysql-instance/3309/data

三、复制配置文件到实例目录下

> cp /data/mysql56/support-files/my-default.cnf /mysql-instance/3308/my.cnf
> cp /data/mysql56/support-files/my-default.cnf /mysql-instance/3309/my.cnf

四、修改配置文件

> vi /mysql-instance/3308/my.cnf
> vi /mysql-instance/3309/my.cnf
[client]
port = 3308
socket = /mysql-instance/3308/mysql.sock
[mysql]
no-auto-rehash
[mysqld]
user = mysql
port = 3308
socket = /mysql-instance/3308/mysql.sock
basedir = /data/mysql56
datadir = /mysql-instance/3308/data
pid-file = /mysql-instance/3308/mysql.pid
relay-log = /mysql-instance/3308/relay-bin
relay-log-info-file = /mysql-instance/3308/relay-log.info
server-id = 12
[mysqld_safe]
log-error = /mysql-instance/3308/mysql.err
pid-file = /mysql-instance/3308/mysql.pid

3309的配置同上,只需把3308的地方换成3309

五、创建mysql多实例启动文件

> vi /mysql-instance/3308/mysql
> vi /mysql-instance/3309/mysql
#!/bin/sh
port=3308
mysql_user="root"
#请填写自已数据库密码
mysql_pwd="123456"
cmd_path="/data/mysql56/bin"
mysql_sock="/mysql-instance/${port}/mysql.sock"
mysql_start() {
  if [ ! -e "$mysql_sock" ];then
    printf "mysql start ... \n"
    /bin/sh ${cmd_path}/mysqld_safe --defaults-file=/mysql-instance/${port}/my.cnf 2>&1 > /dev/null &
  else
    printf "mysql is running ... \n"
    exit
  fi
}
mysql_stop() {
  if [ ! -e "$mysql_sock" ];then
    printf "mysql is stopped ... \n"
    exit
  else
    printf "mysql stop ... \n"
    ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /mysql-instance/${port}/mysql.sock shutdown
  fi
}
mysql_restart() {
  printf "mysql restart ... \n"
  mysql_stop
  sleep 2
  mysql_start
}
case $1 in
  start) mysql_start ;;
  stop) mysql_stop ;;
  restart) mysql_restart ;;
*)
printf "usage: /data/${port}/mysql {start|stop|restart}\n"
esac

六、授权mysql用户目录权限

> chown -R mysql.mysql /mysql-instance
> chmod 700 /mysql-instance/3308/mysql
> chmod 700 /mysql-instance/3309/mysql

七、初始化mysql多实例数据库文件

> cd /daa/mysql56/scripts
> ./mysql_install_db --basedir=/data/mysql56 --datadir=/mysql-instance/3308/data --user=mysql
> ./mysql_install_db --basedir=/data/mysql56 --datadir=/mysql-instance/3309/data --user=mysql

八、启动mysql多实例

> /mysql-instance/3308/mysql start
> /mysql-instance/3309/mysql start
> netstat -lntup|grep 330

九、登陆mysql实例

> mysql -uroot -p -S /mysql-instance/3308/mysql.sock

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

(0)

相关推荐

  • mysql使用mysqld_multi部署单机多实例的方法教程

    前言 大家应该都有所体会,随着硬件层面的发展,linux系统多核已经是普通趋势,而mysql是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,mysql有自己的补充,那就是可以部署多实例,一个实例一个端口. mysqld_multi设计用于管理在同一台机器上运行的多个mysqld进程,这些进程使用不同的socket文件并监听在不同的端口上.mysqld_multi可以批量启动.关闭.或者报告这些mysqld进

  • CentOS6.5 上部署 MySQL5.7.17 二进制安装以及多实例配置

    1.建用户.下载.解压 groupadd mysql useradd -r -g mysql mysql wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ ln -sv /usr/local/mysql-5.7.17-linux-gli

  • MySQL多实例配置方案

    1.1 什么是Mysql多实例? 简单的说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(如 : 3306/3307/3308)同时运行多个Mysql服务器,这些服务进程通过不同的socket来监听不同的服务端口来提供服务 这些Mysql多实例共用一套Mysql安装程序,使用不同的my.cnf配置文件,启动程序,和数据文件,在提供服务时,多实例Mysql在逻辑上来看是各自独立的,他们根据配置文件对应设定值,获得服务器相应的资源 1.2 多实例配置思路: 1.      多套独立目

  • 快速实现MySQL的部署以及一机多实例部署

    MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址:http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这里选择的是mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz 解压后,里面有个文件INSTALL-BINARY,其实给出了二进制包的部署过程 shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false

  • Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份

    1.从MYSQL官方下载MYSQL的源码版本[一定要是源码版本] 2.按以下代码键入LINUX命令行 复制代码 代码如下: [注] 添加mysql组和用户 #groupadd mysql #useradd -g mysql mysql [注] 解包到/usr/local # tar -xzf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz -C /usr/local [注] 建立软链接,方便操作(此处给此连接命名为mysql001,也可为其它的名字)

  • shell使用mysqld_multi自动做多实例从库脚本

    复制代码 代码如下: # cat doallslave.sh#!/bin/sh#code by scpman#mail:scpman@live.com#blog:http://www.scpman.com#name:"doallslave.sh"helpinfo(){echo -e '\t\thelp 查看帮助信息'echo -e '\t\t自动做allslave从库脚本使用帮助'echo -e '\t\tslavename 只能是xxx_xxx这种命令例如:zq2013_test1'

  • CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)

    因使用源码安装的MySQL5.7.28多实例,在导入数据库时会出现问题,所以重新研究使用mysql_multi的方法来管理多实例,经过测试环境验证之后,在各方面使用上特别在备份还原上,没有报MySQL5.7.28多实例的问题,踩了不少坑,这里我将我的部署过程分享下,如果在哪里出问题的,还请多多指正与指导,谢谢!! 参考文章:Centos7.5安装mysql5.7.24二进制包方式部署 https://www.jb51.net/article/151867.htm 本从就直接从2.7章节开始安装m

  • 基于mysql多实例安装的深入解析

    相信大多数人都遇到过多实例安装mysql吧,相信大多数人只要找到一份多实例安装的教程就会很容易搞定了,但是越是顺利的安装过程越让我们不安,为什么呢,当我们在按照教程一步一步来的时候,你知道每句话的意思的目的吗?出现错误以后的我们又该怎么办呢?现在我为大家展示我的安装过程,各种纠结,各种错误.首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql.这也是出现错误最多的原因之一.下面是我的安装过程,其中充斥着各种错误: 复制代码 代码如下: 6.mkdir mysql7

  • centos7环境下创建mysql5.6多实例的方法详解

    本文实例讲述了centos7环境下创建mysql5.6多实例的方法.分享给大家供大家参考,具体如下: 一.mysql安装目录说明 mysql5.6以二进制安装包安装在/data/mysql56下 数据目录为/data/mysql56/data下 配置文件为/etc/my.cnf下 二.多实例目录说明 /mysql-instance          |-- 3308                   |-- data  #3308实例数据目录          |-- 3309        

  • CentOS7环境下安装MySQL5.5数据库

    目录 1.检查当前系统是否安装过Mysql 2.没有安装过的话直接进行下一步 总结 1.检查当前系统是否安装过Mysql rpm -qa|grep -i mysql 如果出现了上方我截图的东西,则需要删除MySQL 1,删除相关应用 yum remove MySQL-client-5.5.40-1.linux2.6.x86_64 yum remove MySQL-server-5.5.40-1.linux2.6.x86_64 2.查看文件名中含有MySQL的文件 find / -name mys

  • Centos 6.9环境下创建用户及删除用户的方法

    本文实例讲述了Centos 6.9环境下创建用户及删除用户的方法.分享给大家供大家参考,具体如下: 根下单独创建目录 mkdir -p /weftp 创建用户weftp useradd -d /weftp/wq weftp 赋予用户权限 chown -R weftp /weftp/wq/* 用户配置密码 passwd weftp 删除用户 userdel weftp 删除用户目录 rm -rf /weftp/wq 删除系统创建的用户邮箱 rm -rf /var/spool/mail/weftp

  • CentOS下安装MySQL5.6.10和安全配置教程详解

    注:以下所有操作都在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): gcc cmake openssl+openssl-devel pcre+pcre-devel bzip2+bzip2-devel libcurl+curl+curl-devel libjpeg+libjpeg-devel libpng+libpng-devel freetype+fre

  • 在Django下测试与调试REST API的方法详解

    对于大多数研发人员来说,都期望能找到一个良好的测试/调试方法,来提高工作效率和快速解决问题.所谓调试,偏重于对某个bug的查找.定位.修复:所谓测试,是检验某个功能是否达到预期效果.测试发现问题后进行调试,从而解决问题. 对于后台研发来说,往往没有客户端研发(Windows/Android等等)那样简单有效的DEBUG方法,比如Step by Step.虽然目前有很多IDE可以实现本地调试,但是因为后台研发的环境复杂,你很难在一台机器上模拟所有的环境,比如线上的数据库只能在内网访问等等,所以很多

  • MySQL数据库入门之多实例配置方法详解

    本文实例讲述了MySQL数据库入门之多实例配置方法.分享给大家供大家参考,具体如下: 前面介绍了相关的基础命令操作:MySQL数据库基础篇之入门基础命令 所有的操作都是基于单实例的,mysql多实例在实际生产环境也是非常实用的,因为必须要掌握. 1.什么是多实例 多实例就是一台服务器上开启多个不同的服务端口(默认3306),运行多个mysql的服务进程,这此服务进程通过不同的socket监听不同的服务端口来提供各在的服务,所有实例之间共同使用一套MYSQL的安装程序,但各自使用不同的配置文件.启

  • C#通过创建Windows服务启动程序的方法详解

    本文实例讲述了C#通过创建Windows服务启动程序的方法.分享给大家供大家参考,具体如下: 1. 新建一个Windows服务应用程序 创建项目-->Visual C# 左侧的"+"-->Windows -->Windows 服务(右侧模板)-->输入名称,确定创建项目 2. 设置Windows服务的属性(Windows服务里没有窗体,所以点击左侧设计器里空白的地方即可在右侧属性栏里看到属性) 这里属性是控制服务器是否可以停止,暂停,继续等等的操作.根据需要选择

  • Spring MVC环境中文件上传功能的实现方法详解

    前言 我们在实际开发过程中,尤其是web项目开发,文件上传和下载的需求的功能非常场景,比如说用户头像.商品图片.邮件附件等等.其实文件上传下载的本质都是通过流的形式进行读写操作,而在开发中不同的框架都会对文件上传和下载有或多或少的封装,这里就以Spring MVC环境中文件的上传为例,讲解Spirng MVC环境下的文件上传功能实现.下面话不多说了,来一起看看详细的介绍吧. 一.客户端编程 由于多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单

  • jQuery在ie6下无法设置select选中的解决方法详解

    本文实例讲述了jQuery在ie6下无法设置select选中的解决方法.分享给大家供大家参考,具体如下: 这里主要解决在 ie6 下,jquery 无法设置 select 选中的问题.我们先看个例子: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"/> <title>demo</title> </head&g

  • laravel5创建service provider和facade的方法详解

    本文实例讲述了laravel5创建service provider和facade的方法.分享给大家供大家参考,具体如下: laravel5创建一个facade,可以将某个service注册个门面,这样,使用的时候就不需要麻烦地use 了.文章用一个例子说明怎么创建service provider和 facade. 目标 我希望我创建一个AjaxResponse的facade,这样能直接在controller中这样使用: class MechanicController extends Contr

随机推荐