有时候,可能基于成本的考虑,我们希望在单台Linux机器上部署多个MySQL实例,比如用来做异地灾备数据库或者延迟从库。
这一节内容,就来聊一下怎样在一台Linux机器上启动多个实例。
1 分别启动多个实例
1.1 首先安装一个MySQL实例
使用脚本安装MySQL
1.2 复制数据目录和启动脚本
需要停掉之前的MySQL实例:
/etc/init.d/mysql.server stop
复制数据目录:
cp -rf /data/mysql /data/mysql3307
复制启动脚本:
cp /etc/init.d/mysql.server /etc/init.d/mysql3307.server
1.3 修改启动脚本和配置文件
编辑启动脚本
vim /etc/init.d/mysql3307.server
修改
:%s/\/data\/mysql/\/data\/mysql3307/glock_file_path="$lockdir/mysql3307"
修改配置文件
vim /data/mysql3307/conf/my.cnf
修改:
:%s/\/data\/mysql/\/data\/mysql3307/g:%s/mysql.sock/mysql3307.sock/g:%s/3306/3307/g
1.4 修改属组
chown mysql.mysql /data/mysql3307/ -R
1.5 启动MySQL
/etc/init.d/mysql.server start /etc/init.d/mysql3307.server start
1.6 测试登录两套MySQL
mysql -uroot -pmysql -uroot -p -P 3307
2 使用mysqld_multi部署多实例
2.1 目录和配置文件准备
创建数据目录
mkdir -p /data/{mysql3311,mysql3312}/data增加配置文件
mkdir -p /data/mysqld_multi/conf/mkdir /data/mysqld_multi/log/vim /data/mysqld_multi/conf/my.cnf
加入如下内容:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /data/mysqld_multi/log/mysqld_multi.log
user = root
pass = martin
[mysqld3311]
socket = /data/mysql3311/data/mysql3311.sock
port = 3311
pid-file = /data/mysql3311/data/mysql3311.pid
datadir = /data/mysql3311/data/
user = mysql
[mysqld3312]
socket = /data/mysql3312/data/mysql3312.sock
port = 3312
pid-file = /data/mysql3312/data/mysql3312.pid
datadir = /data/mysql3312/data/
user = mysql
2.2 初始化
mysqld --datadir=/data/mysql3311/data/ --user=mysql --initialize mysqld --datadir=/data/mysql3312/data/ --user=mysql --initialize
2.3 启动多实例
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf start
2.4 修改所有实例的root密码
登录MySQL
mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock
修改root密码:
alter user user() identified by 'martin';
修改密码之后,查看多实例状态:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf report

2.5 关闭和启动其中一个实例
比如我们关闭其中一个实例,执行
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf stop 3311
再查看一次实例状态
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf report

在启动关闭的实例
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf start 3311
2.6 登录多实例的方式
mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock
匿名
2025-10-22
盖楼盖楼!
匿名
2025-08-11
沙发沙发
匿名
2025-08-10
https://at.oiik.cn/bing.html
匿名
2025-02-21
实用,我在开发https://minmail.app/时候使用到了
王飞翔
2024-12-30
亲爱的朋友:您好!中国疫情持续蔓延,很多人症状非常严重持久不愈,医院人满为患,各年龄段随地倒猝死的现象暴增,多省感染手足口、甲流、乙流、支原体、合胞及腺病毒的儿童不断攀升,目前各种天灾人祸,天气异象频发。古今中外的很多预言都说了这几年人类有大灾难,如刘伯温在预言中说 “贫者一万留一千,富者一万留二三”,“贫富若不回心转,看看死期到眼前”, 预言中也告诉世人如何逃离劫难的方法,真心希望您能躲过末劫中的劫难,有个美好的未来,请您务必打开下方网址认真了解,内有躲避瘟疫保平安的方法。网址1:https://github.com/1992513/www/blob/master/README.md?abhgc#1 网址2:bitly.net/55bbbb 网址3:https://d3ankibxiji86m.cloudfront.net/30gj 如打不开请多换几个浏览器试
匿名
2024-12-12
Backdata 搜索引擎网址提交入口:https://backdata.net/submit-site.html