mysql多实例部署

多实例概述

mysql多实例其实就是在同一台服务器上开启不同的端口,运行多个msyql服务进程,通过不同的socket来监听不同的服务端口,提供不同的服务

多实例部署

多实例部署时通过配置文件的相互隔离来实现的

1、先安装MySQL常用的依赖包,并下载所需MySQL对应版本安装包下面准备的是5.7.27二进制的包

yum install -y libaio libnuma* perl

2、解压、创建mysql用户、数据目录

# tar xf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
# ln -s mysql-5.7.27-linux-glibc2.12-x86_64/ mysql
创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
创建mysq数据目录
mkdir -p /mysql/{3306,3307}/data
chown -R mysql.mysql /mysql

3、准备相应的MySQL配置文件

vim /mysql/3306/my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/mysql/3306/data
socket=/mysql/3306/mysql.sock
log-error=/mysql/3306/mysql.err
pid-file=/mysql/3306/mysql.pid

slow_query_log = ON
slow_query_log_file = /mysql/3306/slow.log
long_query_time = 1

#character config
character_set_server=utf8mb4
symbolic-links=0

cp /mysql/3306/my.cnf /mysql/3307/

sed -i 's/3306/3307/g' /mysql/3307/my.cnf

4、初始化数据库

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/3306/data --initialize

/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/3307/data --initialize

初始化之后数据库root账号密码会直接输出到终端显示,记录mysql.err日志中  也可查看

由于初始化时未指定配置文件,所以在mysql.err没有生成 可手动创建一下,注意之后要重新授权,否则会启动失败

 

 

5、启动多实例

/usr/local/mysql/bin/mysqld_safe --defaults-file=/mysql/3306/my.cnf &

/usr/local/mysql/bin/mysqld_safe --defaults-file=/mysql/3307/my.cnf &

 

 6、连接实例

mysql -uroot -p -S /mysql/3306/mysql.sock

 7、停止实例

mysqladmin -S /mysql/3306/mysql.sock -uroot -p123123 shutdown

 

posted @ 2020-06-27 17:27  太阳的阳ฅ  阅读(378)  评论(0编辑  收藏  举报