Mysql介绍及多实例配置实战

Mysql多实例介绍
  MySQL数据库的集中化运维,可以通过在一台MySQL数据库服务器上,部署多个MySQL实例。该功能是通过mysqld_multi来实现。mysqld_multi用于管理多个mysqld的服务进程,这些mysqld服务进程程序可以用不同的socket或是监听于不同的端口,同时将数据文件分布到不同的磁盘以分散IO。mysqld_multi提供简单的命令用于启动,关闭和报告所管理的服务器的状态。从而减少生产环境的维护成本,方便后续的迁移和清理等工作,借助多实例绑定的方式提高服务器的整体资源利用率。对于多实例的配置有2种方式,一种是在my.cnf为所有实例提供配置,一种是使用每一个实例一个配置文件。

(一)多实例配置实战--每一个实例配置一个文件
配置mysql相关命令全局变量路径
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
配置每个实例配置文件和启动文件data.zip
授权mysql用户访问写入/data/的权限
mkdir -p /data/{3306,3307,3308}
chown -R mysql.mysql /data
find /data -type f -name mysql |xargs chmod +x
cp /etc/my.cnf /data/3306/
cp /etc/my.cnf /data/3307/
cp /etc/my.cnf /data/3308/

在my.cnf中的mysqld中添加datadir  = /data/3306/data/
datadir  = /data/3307/data/
datadir  = /data/3308/data/

mysql5.1.x初始化命令
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=MySQL
启动多实例服务
mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &
mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &
停止多实例服务
mysqladmin  -S /data/3306/mysql.sock shutdown
mysqladmin  -S /data/3307/mysql.sock shutdown

(二).所有实例使用一个配置文件
# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock
# Here follows entries for some specific programs
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /tmp/mysqld_multi.log
# The MySQL server
[mysqld]
user = mysql
basedir = /usr/local/mysql
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld3306]
mysqld = mysqld
mysqladmin = mysqladmin
datadir= /data/3306/data
port=3306
server_id = 3306
socket = /data/3306/mysql.sock
log-output = file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/3306/slow.log
log-error = /data/3306/error.log
binlog_format = mixed
log-bin = /data/3306/mysql3306_bin

[mysqld3307]
mysqld = mysqld
mysqladmin = mysqladmin
datadir= /data/3307/data
port=3307
server_id = 3307
socket = /data/3307/mysql.sock
log-output = file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/3307/slow.log
log-error = /data/3307/error.log
binlog_format = mixed
log-bin = /data/3307/mysql3307_bin

初始化数据库
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=MySQL

启动全部实例:/usr/local/mysql/bin/mysqld_multi start

查看全部实例状态:/usr/local/mysql/bin/mysqld_multi report 

启动单个实例:/usr/local/mysql/bin/mysqld_multi start 3306 

停止单个实例:/usr/local/mysql/bin/mysqld_multi stop 3306 

查看单个实例状态:/usr/local/mysql/bin/mysqld_multi report 3306 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值