当前位置: 首页 > 编程日记 > 正文

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必须为数字标号;

相关文章:

用python做一个图片验证码

看一下做出来的验证码长啥样 验证码分析 1. 有很多点 2. 有很多线条 3. 有字母,有数字 需要用到的模块: 1. random 2. Pillow (python3中使用pillow) 安装pillow : pip install pillow pillow的用法: 创建一张图片: from PIL im…

地图测量面积工具app_全站仪的使用面积测量

测量与地图制作见习全站仪使用11 / 20#2020 #全站仪是全站型电子速测仪的简称,是电子经纬仪、光学测距仪及微处理器相结合的光电仪器。其可直接测量距离、角度、坐标,根据三角函数原理,已知两点坐标信息推算出无数个第三点的坐标信息。下面让…

Palette使用

1.定义: Palette:可以在一张图片里面分析出一些色彩特性:主色调、鲜艳的颜色、柔和颜色等等…… 2.使用: 1). 2).效果图 3.获取颜色样品: 1). 2).颜色组装算法: 3).效果图:转载于:https://www.cnblogs.com/jeffery336699/p/9294681.html

PYTHON 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者...

def a2(arg):if len(arg) > 2:del arg[2:]li [12,13,14,15] a2(li) print(li) 转载于:https://www.cnblogs.com/zgyc/p/6229722.html

文件流能转换格式吗_amr转换mp3格式文件

MP3是非常标准的音频数字编码格式。区别于其他格式的优势在于,它可以在不降低音质的前提下,大幅的降低文件的大小。因此MP3格式应用范围极广,我们日常生活中用到的歌曲格式也多为MP3。今天要给大家说的是如何把amr格式的音频文件转换成mp3格式…

1196: 数星星(二)(结构体专题)_福利:最新导数6大专题!高分段提分有困扰?听北大状元漫谈提分...

这是一篇适合数学120分以上的高中生深度研读的随感。文末有福利!振宇老师从教的十几年中,遇到高分段学生最大的困扰便是:130分以上每提一分便需要付出极大的努力。究其原因,便是思维不够严谨全面,无法拿全分&#xff0…

RTMP协议中的Chunk Stream ID (CID)的作用

一、协议分层 RTMP包是以Message的结构封装的,结构如下所示: 1)Message Type ID在1-7的消息用于协议控制,这些消息一般是RTMP协议自身管理要使用的消息,用户一般情况下无需操作其中的数据。 Message Type ID为8&#x…

fceux源码解析_fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)...

1. 原理1) deb包通常包含两部分:控制信息(DEBIAN目录)、安装内容(模拟"/"目录)2) 通过解开已有的deb包看其中内容i. 释放安装内容到dirname目录中$ dpkg-X xxx.deb dirnameii. 释放控制信息到当前目录下的DEBIAN子目录中$ dpkg-e xxx.deb2. 准备1) 安装相…

Centos 7 意外断电如何处理

拔U盘的时候,不小心碰到了主机上的开机键…… 还好默认的响应动作是睡眠…… 还不知道 CentOS 怎么样应对意外断电呢?! 转载于:https://www.cnblogs.com/liaozt/p/6232189.html

静茹docker容器的几种方法_Docker介绍及使用

什么是容器?容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的系统文件,ip地址,主机名等,kvm虚拟机,linux,系统文件程序:代码&#…

Elasticsearch 6.3.1、Head插件 安装及配置

安装Elasticsearch Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch 也可以直接使用wget下载到某目录下, 本文所有下载的包都放在 /home/tools 中, 解压后移到 /home/apps目录下  wget https://artifacts.elastic.co/downloa…

Android中的eventBus传值

第一步:在build.gradle中添加依赖dependencies { compile org.greenrobot:eventbus:3.0.0} 第二步:创建一个 Event类: 注意:enum 不是classpublic enum Event {//消息名,可以根据这个名字判断是哪个消息 IMAGE_LOA…

mysql 优化器算法_SQL 查询优化器底层原理解析【MySQL 篇】

前言SQL 执行流程中有一个模块叫做查询优化器,这个模块的功能主要是对 SQL 语法树进行逻辑优化和物理优化,最终生成执行计划交给执行引擎执行 SQL。查询优化器主要分为两部分:一部分是逻辑优化,一部分是物理优化。逻辑优化会将 SQ…

gprs发送信号对方如何接收_和接收缓冲区比较:Netty发送缓冲区是如何设计的,why?...

点击上方蓝字关注我吧!本篇文章大概3300字,阅读时间大约10分钟前面文章,透彻分析了Netty的接收缓冲区优化的套路和实现细节,以及写数据和刷新数据的宏观流程和细节:从源码出发:在宏观上把握Netty写数据到应…

原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)

转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/ 本文出自方志朋的博客 转载请标明出处: Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间…

python读取数据校验数据_Python通过Schema实现数据验证方式

Schema是什么?不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据。意味着我们要对用户输入进行严格的验证,web开发时一般输入数据都以JSON形式发送到后端API,API要对输入数据做验证。…

String,StringBuffer

String类代表不可变的字符序列。 String s1 "hello"; String s2 "hello"; s1 s2 > true "hello"是字符串常量,存在data seg中,编译器对data seg有优化,对于已经有的数据,不是重新分配空间&a…

蒙特卡洛粒子滤波定位算法_粒子滤波——来自哈佛的详细的粒子滤波器教程【1】...

本文原版链接:https://www.seas.harvard.edu/courses/cs281/papers/doucet-johansen.pdf本文是哈佛大学相关研究人员于2008年发表的一篇关于粒子滤波的详细教程,至今已被引用1687次。目录:介绍Introduction1.1 序言Preliminary remarks1.2 教…

人脸识别的一些资源

人脸识别的全部源代码(在Visual C6.0下可以运行识别)http://www.61ic.com/Download/DaVinci/Code/201304/121592.html 智能分析接口(支持车牌识别,人脸识别等智能类型)提供DEMO和源码,供参考!http://www.61ic.com/Down…

mysql where关键字_MySQL WHERE 子句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。语法以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:SELECT field1, field2,...fieldN FROM table_name…

mac远程连接windows工具_Windows远程MAC系统

第一步、在 Mac 上设置好屏幕共享1. 1先请在苹果 Mac 电脑上的“系统偏好设置”窗口中打开“共享”功能,如图所示接着在共享窗口中的左侧点击启用“屏幕共享”选项,如图所示当屏幕共享功能打开以后,请点击“电脑设置”按钮,如图所…

Tomcat虚拟目录设置

ssh $host "rm -fr /var/www/$tomcat_name/webapps/*" 远程分发war包部署tomcat项目时&#xff0c;需要先清除项目目录。 --------------------------------------------------------------------------------------- <context path"" docBase"&qu…

30005 rust_Steam三连冠老游戏《腐蚀(RUST)》为什么突然火起来了?

Steam新一周(1月18日-1月24日)销量榜公开&#xff0c;《赛博朋克2077》跌落至第五&#xff0c;《荒野大镖客2》前进到第六&#xff0c;而第一人称僵尸生存网络游戏《Rust》已经三连冠了&#xff0c;腐蚀是2013年的老游戏了&#xff0c;很多人问这个游戏值不值得购买&#xff0c…

(6)解构赋值的用途

解构赋值的用途1.交换变量的值 var a 100; var b 200; var t; t a; a b; b t; //解构赋值的写法完成【ES6交换变量的值】 var x 100; var y 200; [x, y] [y, x]; console.log(x); console.log(y); 优点1:直观 优点2:一一对应 优点3:节省内存空间(不用多申请变量) 2.从函…

python lstm_python-Keras中LSTM的补充

好的,所以您的问题让我开始思考,我想我已经解决了,但是什么都没有.这是我为获取LSTM实现背后的一些见识而编写的代码段.from keras.layers import LSTMfrom keras.models import Sequentialmodel Sequential()model.add(LSTM(10, input_shape(20, 30), return_sequencesTrue))…

Jtabbedpane设置透明、Jpanel设置透明

摘自https://zhidao.baidu.com/question/983204331427010139.htmljava中如何设置Jtabbedpane为透明 20在Jtabbedpane下有背景图片&#xff0c;如何设置让他透明呢&#xff1f;0oo宝贝xxX |浏览 1147 次 |举报我有更好的答案2014-12-30最佳答案你好&#xff0c;你可以增加以下代…

mysql 按日期删除数据库_DAY11 - MySQL入门(数据库的增、删、改、查 基本操作)...

一、 数据库的介绍二、 MySQL的基本语法l 注释&#xff1a;单行注释&#xff1a; #注释内容单行注释&#xff1a; -- 注释内容(注意&#xff0c;两个“--”之后有一个空格)多行注释&#xff1a; /*注释内容*/l 语句行&#xff1a;一条语句也称为一条命令&#xff0c;通常用一个…

LeetCode之461. Hamming Distance

------------------------------------------------------------------ AC代码&#xff1a; public class Solution {public int hammingDistance(int x, int y) {return Integer.toString(x^y,2).replaceAll("0","").length();} } 题目来源&#xff1a; h…

机器学习模型 知乎_机器学习:模型评估之评估方法

​机器学习已经成为了人工智能的核心研究领域之一&#xff0c;它的研究动机就是为了让计算机系统具有人的学习能力以便实现人工智能。目前&#xff0c;关于机器学习定义的说法比较多&#xff0c;而被广泛采用的定义是“利用经验来改善计算机系统自身的性能”​。由于“经验”的…

NSDate NSCalendar NSString之间的故事以及转换

1.NSDate 和 NSString 之间的转换 这之间的转换主要依靠NSDateFormatterNSDate <------> NSStringNSDateFormatter *formatter [[NSDateFormatter alloc]init];formatter.dateFormat "yyyy-MM-dd HH:mm:ss";NSString *strDate [formatter stringFrom:date];…