mysql 单实例部署_Mysql 数据库单机多实例部署手记
最近的研发机器需要部署多个环境,包括数据库。为了管理方便考虑将mysql数据库进行隔离,即采用单机多实例部署的方式。
找了会资料发现用的人也不是太多,一般的生产环境为了充分发挥机器性能都是单机单实例运行,再进行一系列的配置调优..
多实例的运行机制
通过mysqld_multi启动多个mysqld实例进程,每个实例拥有独立的配置、监听端口、数据库文件、临时文件(日志、socket)等
实现步骤
1 初始化数据目录
mysql_install_db --datadir=/web/mysql/prd/data --user=mysql
mysql_install_db --datadir=/web/mysql/dev/data --user=mysql
//当然数据目录也可以拷贝已有的
2 配置多实例文件
multi.cnf:
#multi server
[mysqld_multi]
mysqld = /home/root/local/mysql/bin/mysqld_safe
mysqladmin = /home/root/local/mysql/bin/mysqladmin
#mysqld_multi log
log = /web/mysql/multi.log
#用户名密码,用以mysqld_multi操作时透传给mysqladmin(初始化时一般为匿名访问,注释掉即可)
#user=root
#password=
#dev server
[mysqld3306]
user = mysql
port = 3306
socket = /web/mysql/dev/var/mysql.sock
pid-file = /web/mysql/dev/var/mysqld.pid
log-error = /web/mysql/dev/var/mysqld.log
datadir = /web/mysql/dev/data
max_connections = 200
default-storage-engine = innodb
character_set_server = utf8mb4
#prd server
[mysqld3307]
user = mysql
port = 3811
socket = /web/mysql/prd/var/mysql.sock
pid-file = /web/mysql/prd/var/mysqld.pid
log-error = /web/mysql/prd/var/mysqld.log
datadir = /web/mysql/prd/data
max_connections = 1000
default-storage-engine = innodb
character_set_server = utf8mb4
3 启动多实例
mysqld_multi --defaults-extra-file=multi.cnf start
4 管理多实例
检查运行情况
mysqld_multi --defaults-extra-file=multi.cnf report
当然也可以通过网络端口检查:
netstat -ntlp tcp
tcp 0 0 :::3306 ::: * LISTEN 3919/mysqld
tcp 0 0 :::3307 ::: * LISTEN 15027/mysqld
停止多实例:
mysqld_multi --defaults-extra-file=multi.cnf stop
修改密码(针对某个实例):
mysqladmin -uroot -S /web/mysql/prd/var/mysql.sock password 123456
连接某个实例:
mysql -uroot -S /web/mysql/prd/var/mysql.sock -p
常见问题
mysqld_multi执行之后无法启动实例, 执行report发现实例没有运行 。
原因:mysql实例目录缺少读写权限,将多实例的数据目录设置为mysql:mysql的用户组,并支持读写权限;
启动实例之后无法停止,mysqld_multi stop不生效
原因: mysqld实例的数据库管理员密码与mysqld_multi透传的管理员密码不一致(见multi.conf),通过修改密码可解决。
TIPS
msyqld_multi命令仅仅对配置文件做语法检查,排查问题时需结合multi.log(见配置文件),以及具体实例的错误日志进行;
实例标号必须为整数,如msyqld3307中3307必须为数字标号;
mysql 单实例部署_Mysql 数据库单机多实例部署手记相关推荐
- mysql特殊字符波浪号_mysql数据库特殊字符
关于 mysql数据库特殊字符的搜索结果 回答 详细解答可以参考官方帮助文档 说明 部分RDS for MySQL实例的账号管理机制已升级.使用本文前,请先检查您的实例是否已升级,检查方式如下: 登录 ...
- 配置MySQL数据库单机多实例
一.什么是MySQL多实例 简单的说就是在一台机器上开启多个不同的服务端口(例如:3306.3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务 ...
- mysql数据库5.7配置文件_mysql数据库5.7版本部署
mysql数据库5.7版本部署 1.安装前准备: (mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 二进制安装包 + centos7.4系统,有yum环境,可以在 ...
- mysql 多配置文件实例安装_mysql安装之多实例多配置文件安装
一.多实例安装简介 所谓多实例安装其实是指在一台机器上开启多个不同的mysql服务端口(3306,3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自 ...
- mysql dump工具升级_MySQL数据库升级
当前不少系统的数据库依旧是MySQL5.6,由于MySQL5.7及MySQL8.0在性能及安全方面有着很大的提升,因此需要升级数据库.本文通过逻辑方式.物理方式原地升级来介绍MySQL5.6 升级至M ...
- mysql 脏数据查询_MySQL数据库02
MySQL数据库 前言: 前面我们了解了什么是数据库,什么是MySQL数据库以及如何运用,接下来我们接着深入学习MySQL. (提前声明,以下所提供的事例不标准,仅供参考) 数据库的备份与还原: 备份 ...
- 如何查看mysql备份的情况_MySQL数据库备份详解(示例代码)
原文:MySQL数据库备份详解 对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据 ...
- mysql 查找数据过程_mysql数据库查询过程探究和优化建议
查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...
- mysql数据基本指令_mysql数据库常用命令(详细)
mysql数据库常用命令(详细) *************************************************** windows下mysql的启动与停止 启动MYSQL服务 n ...
最新文章
- 自制树莓派“防松鼠神器”在Reddit火了,13行代码就能让AI替你护食,成本300+元...
- RESTful API的理解
- JDK版本不匹配...
- 如何优雅的使用fbx sdk
- drf版本控制 和django缓存,跨域问题,
- 功能强大的pdf控件,用户无需安装任何软件即可使用
- 倍福PLC控制台达EtherCAT伺服案例分析
- python中标点符号大全及名字_常见的标点符号大全及名字
- 非常好用的离线地图手机app
- 记一次Mysql并发死锁,引出的问题及讨论
- 别让用户发呆—设计中的防呆的6个策略
- 上网行为管理系统”有什么样的功能?
- 每日一学—CSS3 word-wrap 属性
- 编程之美 - 烙饼问题
- 优酷端侧弹幕穿人技术实战之:PixelAI移动端实时人像分割
- 完全开源Android项目:PDF电子书架软件——不动的大图书馆
- 大连东软信息学院计算机排名,一骑绝尘!大连东软信息学院排名怎么样?
- 计算机教案三维目标,教案三维目标
- JSObject.getWindow()方法找不到问题( 类 netscape.javascript.JSObject.getWindow)
- vue2 使用 alias 简化路径