MySQL 多实例管理

根据配置文件创建目录

[[email protected] redis]# mkdir -pv /data/mysql/mysql_3307/{data,logs,tmp}
mkdir: created directory `/data/mysql/mysql_3307‘
mkdir: created directory `/data/mysql/mysql_3307/data‘
mkdir: created directory `/data/mysql/mysql_3307/logs‘
mkdir: created directory `/data/mysql/mysql_3307/tmp‘
[[email protected] redis]# mkdir -pv /data/mysql/mysql_3308/{data,logs,tmp}
mkdir: created directory `/data/mysql/mysql_3308‘
mkdir: created directory `/data/mysql/mysql_3308/data‘
mkdir: created directory `/data/mysql/mysql_3308/logs‘
mkdir: created directory `/data/mysql/mysql_3308/tmp‘

修改配置文件(注意sock datadir  server_id  pid port的修改)

[[email protected] redis]# cp /etc/my.cnf  /data/mysql/mysql_3307/
[[email protected] redis]# cp /etc/my.cnf  /data/mysql/mysql_3308/
[[email protected] redis]# sed -i ‘s/3376/3307/g‘ /data/mysql/mysql_3307/my.cnf
[[email protected] redis]# sed -i ‘s/3376/3308/g‘ /data/mysql/mysql_3308/my.cnf 

创建多实例

# ./scripts/mysql_install_db  --user=mysql --defaults-file=/data/mysql/mysql_3307/my.cnf --datadir=/data/mysql/mysql_3307/data/

# ./scripts/mysql_install_db  --user=mysql --defaults-file=/data/mysql/mysql_3308/my.cnf --datadir=/data/mysql/mysql_3308/data/

多实例启动方式

多实例用一个配置文件可以用mysqld_multi启动

# mysqld_multi  start 3307

# mysqld_multi  start 3308

mysqld --defaults-file=/data/mysql/mysql_3307/my.cnf &

mysqld --defaults-file=/data/mysql/mysql_3308/my.cnf &

mysqld_safe  --defaults-file=/data/mysql/mysql_3307/my.cnf  &

mysqld_safe  --defaults-file=/data/mysql/mysql_3308/my.cnf  &

连续启动

#mysqld_mulit start 1-3

#mysqld_mulit start 1,3,4,6

# mysql -S /tmp/mysql3307.sock

# mysql -S /tmp/mysql3308.sock

多实例关闭

[[email protected] data]# mysqladmin  --defaults-file=/data/mysql/mysql_3307/my.cnf  shutdown
[1]-  Done                    mysqld --defaults-file=/data/mysql/mysql_3307/my.cnf
[[email protected] data]# netstat -nalp | grep 3307 

多实例共用一个配置文件可以用下面方法关闭

#mysqladmin  -S /tmp/mysql3308.sock  shutdown
#mysqladmin  -S /tmp/mysql3307.sock  shutdown

多实例使用一个配置文件

[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user       = mt_user
password   = abcd123

[mysqld3307]
#tee=/data/mysql/mysql_3307/data/query.log
datadir = /data/mysql/mysql_3307/data
socket = /tmp/mysql3307.sock
tmpdir=/data/mysql/mysql_3307/tmp
server-id = 123307
log-bin = /data/mysql/mysql_3307/logs/mysql-bin
innodb_data_home_dir = /data/mysql/mysql_3307/data
innodb_log_group_home_dir = /data/mysql/mysql_3307/logs

[mysqld3308]
port            = 3308
#tee=/data/mysql/mysql_3308/data/query.log
datadir = /data/mysql/mysql_3308/data
socket = /tmp/mysql3308.sock
tmpdir=/data/mysql/mysql_3308/tmp
server-id = 123308
log-bin = /data/mysql/mysql_3308/logs/mysql-bin
innodb_data_home_dir = /data/mysql/mysql_3308/data
innodb_log_group_home_dir = /data/mysql/mysql_3308/logs
                                                          
[[email protected] mysql_3307]# pkill mysql
[[email protected] mysql_3307]# mysqld_multi  start 3307,3308
[[email protected] mysql_3307]# netstat -nalp | grep mysql
tcp        0      0 :::3308                     :::*                        LISTEN      9247/mysqld
tcp        0      0 :::3376                     :::*                        LISTEN      9231/mysqld
unix  2      [ ACC ]     STREAM     LISTENING     21545  9231/mysqld         /tmp/mysql3307.sock
unix  2      [ ACC ]     STREAM     LISTENING     21554  9247/mysqld         /tmp/mysql3308.sock

创建关闭数据库用户

(product)root@localhost [(none)]> create user ‘mt_user‘@‘localhost‘ identified by ‘abc123‘;
Query OK, 0 rows affected (0.00 sec)

(product)root@localhost [(none)]> GRANT SHUTDOWN ON *.* TO ‘mt_user‘@‘localhost‘;
Query OK, 0 rows affected (0.00 sec)
[[email protected] mysql_3307]# /usr/local/mysql/bin/mysqladmin -h localhost -S /tmp/mysql3307.sock -umt_user -pabc123 shutdown
Warning: Using a password on the command line interface can be insecure.
[[email protected] mysql_3307]# netstat -nalp | grep 3307
[[email protected] mysql_3307]# /usr/local/mysql/bin/mysqladmin -h localhost -S /tmp/mysql3308.sock -umt_user -pabc123 shutdown
Warning: Using a password on the command line interface can be insecure.
[[email protected] mysql_3307]# 
时间: 2024-10-12 10:04:31

MySQL 多实例管理的相关文章

centos下mysql多实例安装3306、3307实例(2014-10-15)

背景说明 mysql的安装方法有多种,如二进制安装.源码编译安装.yum安装等.yum安装只能安装mysql 5.1 版本:源码安装编译的过程比较长,若没有对源码进行修改且要求使用mysql较高版本,建议使用二进制安装.本文以二进制安装mysql,且使用mysqld_mutil进行mysql多实例管理. 是否安装了mysql 首先查看下服务器中是否有安装mysql,若端口被占用,则需要选择其他端口. 下载mysql cd /usr/src wget http://cdn.mysql.com/Do

CentOS下mysql多实例操作指南

Mysql工作中无处不在,无数次安装,优化,一直没有时间,整理进行归档,最近在做mysql的Dass服务,把最近遇到的问题,进行整理,梳理一份操作指南:供大家参考: 序言 Mysql多实例即一台服务器上运行多个Mysql服务进程 ,开启不同的服务端口,通过不同的socket 监听不同的服务端口来提供各自的服务. Mysql多例的好处: 1. 有效利用服务器资源:通过多实例地配置,可以将服务器剩余的资源充分利用起来. 2. 资源互相抢占问题:资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢

mysql多实例配置、权限管理

  就是在一台服务器上运行多个mysql实例,每个实例需要一个独立的端口,实例的配置可 以按实际需求进行设置 1.关闭原有的默认端口3306的mysql:service mysqd stop 2.配置mysql多实例   # vim /etc/my.cnf[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = mysqllog = /data

linux下mysql多实例安装(转)

转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:: 1.2.MySQL多实例的特点有以下几点 1:有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. 2:节约服务器资源 3:资源互相

mysql多实例配置

mysql多实例配置  就是在一台服务器上运行多个mysql实例,每个实例需要一个独立的端口,实例的配置可以按实际需求进行设置  1.配置mysql多实例  # vim /etc/my.cnf[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = mysqllog = /database/log/mysqld-muti.log join_bu

MySQL多实例安装

    MySQL数据库(一) 作者:Jack 归档:学习笔记 2017/6/19 目  录 MySQl数据库(一)... 3 第1章概述:... 4 1.1 MySQL介绍:... 4 1.2 MariaDB数据库的诞生背景介绍... 4 1.3 MySQL多实例介绍... 5 1.3.1 什么是MySQL多实例... 5 1.3.2 MySQL多实例的作用与问题... 6 1.4 MySQL多实例的生产应用场景... 7 第2章关系型数据库与非关系型数据库... 8 2.1 关系型数据库..

MySQL 5.6对已有Mysql单实例的机器,再添加mysql数据库,实现单机多实例

一.需求: 对已有Mysql单实例的机器,再添加两个mysql数据库,实现单机多实例. 一个绑定在端口3306,另外两个绑定在端口3307,3308: 数据分别存放在/data/mysqldata./data/mysqldata2./data/mysqldata3 三个实例均采用InnoDB作为默认的存储引擎,字符编码采用UTF-8: 三个实例均采用相同的性能优化配置参数: MySQL的源码安装请看我的另一篇博客http://yylinux.blog.51cto.com/8831641/1677

MySQL多实例安装注意

MySQL多实例编译安装注意 # wget -c http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26.tar.gz # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_USER=mysql # make && make install 每个实例里的用户是独立的,当配置完/etc/my.cnf之后启动所有实例mysqld_multi start .然后分别加-S选项sock

CentOS6.5安装MariaDB10.0.15编译安装和多实例管理配置

CentOS6.5 x86_64 系统 [[email protected] ~]# wget https://downloads.mariadb.org/interstitial/mariadb-10.0.15/source/mariadb-10.0.15.tar.gz/from/http%3A//mirrors.neusoft.edu.cn/mariadb groupadd -r mysql useradd -r -g mysql -s /sbin/nologin mysql mkdir /