MySQL 8 在一台机器上运行多个MySQL实例
可以为每个实例使用一个MySQL Server二进制程序,也可以为不同实例使用同一个MySQL Server二进制程序。
不管哪一种选择,部分参数可能需要不同配置,以避免多个实例之间的冲突。
可能需要为每个实例分别配置的参数包括:
--datadir=dir_name
--port=port_num
注:如果机器上有多个网络地址,可以通过bind_address系统变量使得每个Server监听不同的地址。
--socket=file_name
--pid-file=file_name
如果使用了下面的日志选项,这些参数也是需要配置:
--general_log_file=file_name
--log-bin[=file_name]
--slow_query_log_file=file_name
--log-error[=file_name]
为了更好的性能,分散物理磁盘的负载,可以为每个Server配置下面的参数:
--tmpdir=dir_name
注:在Slave Server中,slave_load_tmpdir 系统变量默认取值与tmpdir相同,由于slave_load_tmpdir指定的临时目录用于将复制的LOAD DATA语句存储在该临时目录下。所有如果tmpdir指定的临时目录如果是基于内存或者重启机器后自动删除的位置,可以将slave_load_tmpdir指定到一个永久性存储位置。
补充:
如果如果有多个MySQL Installations安装到不同的位置,可以指定basedir 系统变量。这样会使得每个Instance自动使用不同的数据目录、日志文件、PID文件,因为这些参数默认是与basedir关联的。在这种情况下,仅需要指定socket、port即可。
设置多个数据目录
通过 datadir 系统变量指定数据目录位置。
有两种方法为新的Instance设置数据目录:
生成新的数据目录
拷贝现有的数据目录
生成新的数据目录的方法:
操作同数据库安装中的数据目录初始化一样。
拷贝现有的数据目录的方法:
通过这样的方法,会将现有的用户账号以及用户数据拷贝到新的Instance中。
步骤1、停掉现有的MySQL Instance。必须使用clean shutdown,这样Instance会将pending changes刷新到磁盘上。比如:
mysql> set global innodb_fast_shutdown=0;
mysql> shutdown;
步骤2:拷贝现有的数据目录到新的位置。有时候,仅拷贝datadir目录下文件是不够的,因为有些文件可能被定义到非默认位置。
步骤3:拷贝my.cnf配置文件
步骤4:修改my.cnf配置文件
步骤5:启动新的数据库实例
通过如下脚本可以快速搭建一个测试实例:
shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> bin/mysqld --initialize --user=mysql
shell> mysqld_safe --datadir=/path/to/datadir &
MySQL 8 在一台机器上运行多个MySQL实例的更多相关文章
- 如何在同一台机器上安装多个MySQL的实例
转自:'http://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的 ...
- 如何在同一台机器上安装多个MySQL的实例 转
https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...
- 如何在同一台机器上安装多个MySQL的实例(转)
最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例). 先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务 ...
- 一台机器上运行多个ActiveMq
由于业务需要一台机器上运行多个ActiveMq,这里主要说一下有什么地方不重复: 1.brokerName名称不能重复 2.端口号不能重复uri = tcp://localhost:50509 3.k ...
- 如何在一台机器上安装两个MYSQL数据库
1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy ...
- 一台机器,运行两个mysql版本 实例
一.问题 1.学习mysql时,我先安装了一个mysql5.5.27: 2.然而学习php时,当我安装wampserver2.2时,wampserver2.2又在电脑上安装了mysql5.5.20: ...
- 一台机器同时运行多个appium实例
测试需要同时在多个android设备上运行,就需要启动多个appium 第一台是运行微信: DesiredCapabilities capabilities = new DesiredCapabili ...
- 关于同一台机器上安装多个sql实例的连接方法
由于客户需要在一台服务器上安装了两个sql服务器(一个sql2000,一个是sql2005,其实例名不同),默认的端口1433被先安装的sql2000使用,后来安装的的随机启用了一个3045端口.其中 ...
- Erlang中如何在同一台机器上运行多个erlang节点?
首先打开shell,然后在打开cmd输入:erl -sname bilbo 这样就启动了一个gandal的erlang节点. 如图:
随机推荐
- SQLException:The server time zone
报错信息如下: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represen ...
- 解决IDEA使用lombok注解无效,@Data不生效问题
在settings设置启用注解即可:
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- 仅主机、NAT、桥接模式
三种模式区别: 桥接模式 :通过主机映射一个ip给虚拟机,只要主机可以访问外网.虚拟机也可以访问,两机可以相互通信. NAT模式:主机和虚拟机在同一个地址,原则上两者不能相互通信,但是通过修改NAT配 ...
- caffe 指定GPU
caffe默认使用编号为0的gpu, 若它的内存不够或正忙, 即使有其余gpu空闲, caffe也不会使用. 要用哪个gpu, 就要明确指定哪个. 不指定则使用默认. 命令行 ./build/tool ...
- oracle查询表空间的空间占用情况
,) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespac ...
- HTTP&HTTPS协议详解之HTTP篇
一.HTTP简介 01.什么是HTTP HTTP(HyperText Transfer Protocol ,超文本传输协议),是一个基于请求与响应的,无状态的,应用层的协议,常基于TCP/IP协议传输 ...
- 20200115--python学习第九天
今日内容 三元运算 函数 考试题 1.三元运算(又称三目运算) v= 前面 if 条件 else 后面 if 条件: v = '前面' else: v ='后面' 示例:让用户输入值,如果值是整数,则 ...
- 2019SACC中国系统架构师大会 day1总结
早上:一. 爱奇艺的大数据中台战略: a) 介绍爱奇艺的产业文化.b) 通过大中台,可以进行部分数据的沉淀,用于后续的分析处理等等.. 从数据中台和业务中台,建立一种“苹果园“的生态系统.从原始的长视 ...
- 详解CopyOnWrite容器及其源码
详解CopyOnWrite容器及其源码 在jave.util.concurrent包下有这样两个类:CopyOnWriteArrayList和CopyOnWriteArraySet.其中利用到了Cop ...