MySQL 5.6 多实例部署

1.安装MySQL

# useradd -s /sbin/nologin -M mysql

# tar -xvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz -C /usr/local

# mv mysql-5.6.41-linux-glibc2.12-x86_64  mysql

# chown -R mysql:mysql  /usr/local/mysql

2.配置多实例配置文件目录

# mkdir /data/{3306,3307}/data

# chown -R mysql:mysql /data

3.MySQL多实例3306配置文件

# vim /data/3306/my.cnf

[client]
port = 3306
socket = /data/3306/mysql.sock

[mysqld]
port = 3306
socket = /data/3306/mysql.sock
datadir = /data/3306/data
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_open_cache = 512
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
thread_stack = 192K
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
pid-file = /data/3306/mysql.pid
log-bin = /data/3306/mysql-bin
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
server-id = 3306

4.MySQL多实例3307配置文件

# vim /data/3306/my.cnf

[client]
port = 3307
socket = /data/3307/mysql.sock

[mysqld]
port = 3306
socket = /data/3307/mysql.sock
datadir = /data/3307/data
open_files_limit = 1024
back_log = 600
max_connections = 800
max_connect_errors = 3000
table_open_cache = 512
external-locking = FALSE
max_allowed_packet =8M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 100
thread_concurrency = 2
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
thread_stack = 192K
tmp_table_size = 2M
max_heap_table_size = 2M
long_query_time = 1
pid-file = /data/3307/mysql.pid
log-bin = /data/3307/mysql-bin
relay-log = /data/3307/relay-bin
relay-log-info-file = /data/3307/relay-log.info
binlog_cache_size = 1M
max_binlog_cache_size = 1M
max_binlog_size = 2M
expire_logs_days = 7
key_buffer_size = 16M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
bulk_insert_buffer_size = 1M
lower_case_table_names = 1
skip-name-resolve
slave-skip-errors = 1032,1062
replicate-ignore-db=mysql
server-id = 3307

5.初始化多实例数据库

# /usr/local/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/data/3306/data/ --user=mysql

# /usr/local/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/data/3307/data/ --user=mysql

6.MySQL多实例启动

# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 > /dev/null &

7.MySQL多实例设置密码

# /usr/local/mysql/bin/mysqladmin -uroot password 123456 -S /data/3306/mysql.sock

# /usr/local/mysql/bin/mysqladmin -uroot password 123456 -S /data/3307/mysql.sock

8.测试MySQL多实例设置密码

# mysql -uroot -p123456 -S /data/3306/mysql.sock
# mysql -uroot -p123456 -S /data/3307/mysql.sock

9.查看MySQL多实例监听端口

# netstat -lntup|grep 330
tcp 0 0 :::3306 :::* LISTEN 3848/mysqld
tcp 0 0 :::3307 :::* LISTEN 4885/mysqld

10.MySQL多实例启动命令脚本

# vim /etc/init.d/mysqld_multi

#!/bin/sh

port=$3
mysql_user="root"
mysql_pwd="123456"
CmdPath="/usr/local/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
#startup function
function_start_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL...\n"
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &
else
printf "MySQL is running...\n"
exit
fi
}

#stop function
function_stop_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...\n"
exit
else
printf "Stoping MySQL...\n"
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
fi
}

#restart function
function_restart_mysql()
{
printf "Restarting MySQL...\n"
function_stop_mysql
sleep 2
function_start_mysql
}

case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: /etc/init.d/mysql_multi {start|stop|restart} {3306|3307}\n"
esac

原文地址:https://www.cnblogs.com/deploy/p/9520896.html

时间: 2024-10-15 01:39:19

MySQL 5.6 多实例部署的相关文章

mysql 5.5多实例部署

mysql5.5数据库多实例部署,我们可以分以下几个步骤来完成. 1. mysql多实例的原理 2. mysql多实例的特点 3. mysql多实例应用场景 4. mysql5.5多实例部署方法 一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不同的服务端口,来提供各自的服务. 这些mysql实例共用一套mysql安装程序,使用不同的my.cnf配

MySQL运维-多实例部署

MySQL多实例是在同一台数据库服务器上,通过开启多个不同的服务端口,并被对应的socket监听,以实现同时运行多个MySQL服务进程的目的. 实验环境使用<MySQL运维-单实例安装>部署成功后的实验环境mysql实例1安装目录:/data/3306mysql实例1数据文件目录:/data/3306/dbfilemysql实例2安装目录:/data/3307mysql实例2数据文件目录:/data/3307/dbfile 停止MySQL []# service mysqld stopShut

MYSQL的单机多实例部署

Centos6.6安装并配置单机多实例的MYSQL数据库 本文介绍安装单机多实例的MYSQL数据库的环境如下: 系统平台环境:Centos6.6 Mysql软件包:Mysql-5.5.32.tar.gz 一:安装MYSQL需要的依赖包和编译软件 #yum install ncurses-devel libaio-devel -y 二:安装编译MYSQL需要的软件(mysql5.2版本以后都需要使用cmake来编译安装MYSQL) #rpm -ivh cmake-2.8.12.2-4.el6.x8

Mysql 5.5多实例部署步骤

由于临时的需求,需要在一台主机上启动多个mysql的实例,对应不同的端口. 步骤如下: 1,安装mysql. 2,分别设置不同实例的配置文件. 3,创建不同实例的datadir,并执行数据库初始化. 4,启动不同的mysql实例. 以下是详细的安装方法: 1,安装mysql 使用源码安装. tar -zxvf mysql-5.5.49.tar.gz cd mysql-5.5.49 mkdir /usr/local/mysql cmake - -DCMAKE_INSTALL_PREFIX=/usr

mysql二进制安装,升级,多实例部署

目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库 考虑因素: 版本选择,5.1,5.5还是5.6? 分支选择,官方社区版?percona server?mariadb? 推荐官方版,简单易上手 安装方式,包安装?二进制包安装?源码安装? 线上推荐二进制包安装 路径配置,参数配置(尽量模板化,标准化) 一个实例多个库,or多个实例单个库? 二进制安装mysql 下载软件安装包 解压放到指定目录(比如

MySQL 5.7--------多实例部署最佳实战

1. 背景 MySQL数据库的集中化运维,可以通过在一台服务器上,部署运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务.各个实例之间是相互独立的,每个实例的datadir, port, socket, pid都是不同的. 2. 多实例特点 * 有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务. * 资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存.CPU.磁盘IO资源,导致服务器上的其他实例提供

MySQL单机多实例部署

一.MySQL多实例部署 版本:5.7.18 1.软件安装 # tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local # cd /usr/local # chown -R root.root mysql-5.7.18-linux-glibc2.5-x86_64 # ln -sv mysql-5.7.18-linux-glibc2.5-x86_64 mysql5.7.18 # mkdir /data/{mydata3307,m

MySQL单机多实例部署详解

一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不同的服务端口,来提供各自的服务. 这些mysql实例共用一套mysql安装程序,使用不同的my.cnf配置文件.启动程序.数据文件.在提供服务时,mysql多实例在逻辑上看来是各自独立的,各个实例之间根据配置文件的设定值,来取得服务器的相关硬件资源. 二.mysql多实例的特点 2.1 有效的利用服

MySQL2种多实例部署方式总结

多实例在生产很常用,一方面节约了成本,一方面可以充分利用资源,提高数据处理速度(服务器性能够好),之前请教过贺磊dba一点MySQL多实例一些问题,部署安装比较简单,这里总结一下MySQL多实例部署的两种方式: 注意事项 单独管理 集中管理(mysqld_multi) 配置文件 使用不同的配置文件 共用一个配置文件 端口 不可冲突 不可冲突 basedir 可单独目录/可相同目录 可单独目录/可相同目录 datadir 不相同 不相同 pid文件 不可冲突/独立访问 不可冲突/独立访问 sock