MySQL基础教程(18)MySQL多实例部署方法

TangLu MySQL 2021-09-29 2538 0

一、MySQL一机多实例应用场景

· 物理机资源强劲,多实例充分利用空余资源

· 限制单个实例数据库大小,缩短备份时间

· 资源隔离,减少相互影响

· 分担性能压力


二、MySQL多实例部署

MySQL官方推荐配置多实例的方法是配置[mysqld_multi]模块,这种方法是将多个实例的配置信息写在一个配置文件中,通过作用域进行区分。但是该方法在5.7之后就没有在维护了,所以本文讲解的是为每个MySQL实例单独创建配置文件的方式实现多实例部署

1、首先为每个实例创建好配置文件,这里创建了一个端口3306的实例,注意后续每个实例信息需要自行调整,如果需要指定日志等信息的话,一定要精确到文件名,只写到目录的话初始化会失败并且不会给任何反馈

vi /etc/my3306.cnf
[client]
socket = /tmp/mysql_3306.sock

[mysqld]
basedir=/usr/local/mysql
datadir=/data/3306
port=3306
pid-file=/tmp/mysql_3306.pid
socket=/tmp/mysql_3306.sock
server-id=6
log-error=/data/3306/error.log
log-bin=/data/3306/master.bin



2、使用配置文件初始化每个实例

mysqld --defaults-file-/etc/my3306.cnf --initialize --user=mysql
mysqld --defaults-file-/etc/my3307.cnf --initialize --user=mysql



3、使用mysqld_safe来启动多个实例

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf



4、登录数据库

/usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/3307/3307.sock



5、修改初始密码,否则无法对数据库进行其他操作

mysql > alter user root@'localhost' identified by 'Newp@ssword'



6、关闭服务的方法

mysqladmin -uroot -p123456 -S /data/mysql/3307/3307.sock shutdown



评论