MySQL多实例.md
MySQL5.7多实例配置
数据库实例1配置文件
# cat /etc/my.cnf
[mysqld]
datadir=/data/mysql
port=3306
socket=/tmp/mysql.sock
log_error=error.log
user=mysql
skip-name-resolve
[client]
user = root
password = redhat
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
[mysqld1]
port = 3307
datadir = /data/mysql_1
socket = /tmp/mysql.sock1
数据库初始化
# mysqld --initialize-insecure --datadir=/data/mysql_1
mysql1多实例配置
在配置文件中新增如下内容:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /usr/local/mysql/mysqld_multi.log
多实例初始化:
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is not running
# mysqld_multi start 1
# ss -tnlp |grep mysql
LISTEN 0 80 :::3306 :::* users:(("mysqld",2094,16))
LISTEN 0 80 :::3307 :::* users:(("mysqld",3097,20))
# mysql -S /tmp/mysql.sock1 -u root -hlocalhost -p
Enter password:
(root@localhost) [(none)]> set password = "redhat";
Query OK, 0 rows affected (0.00 sec)
说明:实例启动后连接密码要么是空,要么是将密码生成在数据目录的错误日志中,其次在登录系统后最好将root密码设置成统一格式的,这样在今后登录就不用在输入密码了。
mysql2多实例配置
在配置文件中新增如下内容:
# cat /etc/my.cnf
[mysqld2]
port = 3308
datadir = /data/mysql_2
socket = /tmp/mysql.sock2
# mysqld --initialize-insecure --datadir=/data/mysql_2
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
# mysqld_multi start 2
# mysql -S /tmp/mysql.sock2 -uroot -hlocalhost -p
Enter password:
(root@localhost) [(none)]> set password = "redhat";
Query OK, 0 rows affected (0.00 sec)
# mysql -S /tmp/mysql.sock2
启动关闭注意事项
- 我们通过mysql 提供的/etc/inti.d/mysqld脚本启动的实例与mysqld_multi两种启动与关闭互不影响。他们的配置文件会先使用[mysqld]中配置的,但是如果多实例中自己配置和[mysqld]中的配置重合则会覆盖[mysqld]中的配置。
- mysqld_multi关闭实例一定要指定实例名称,不然会自动将所有的实例都给关闭了,这个需要注意。
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# mysqld_multi stop
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is not running
MySQL server from group: mysqld2 is not running
# mysqld_multi start 1
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
# mysqld_multi start 2
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# mysqld_multi stop 2
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
# mysqld_multi start 2
3.同时先前定义的3306端口的mysql 也是也是可以通过mysqld_multi的方式启动,需要将配置文件新增如下内容:
# cat /etc/my.cnf
···
[mysqld100]
port = 3306
datadir = /data/mysql
socket = /tmp/mysql.sock
···
# /etc/init.d/mysqld stop
Shutting down MySQL.. [ OK ]
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld100 is not running
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# /etc/init.d/mysqld status
MySQL is not running [FAILED]
# mysqld_multi start 100
# /etc/init.d/mysqld status
MySQL running (4700) [ OK ]
4.同时mysql还提供了mysqld_multi.server的系统服务启动脚本,如果有需要则可以拷贝到/etc/init.d/目录中进行启动与关闭。
5.在配置文件的mysqld_multi中,我们配置的mysql多实例的启动命令是mysqld_safe,关闭命令是mysqladmin。其中mysqld_safe是负责监控mysqld进程的脚本,如果mysqld意外挂掉是会将mysqld进程重新启动。意外挂掉例如:kill -9 ${mysql_pid}。
6.在配置mysqld_multi关闭多实例的时候我们使用的关闭的帐号密码是在[client]中定义的帐号密码,并且此帐号密码在所有mysql实例中必须都是相同且存在,不然是无法通过mysqld_multi命令管理mysql实例的启动与关闭。
7.mysqld_multi启动的帐号密码如果定义在[mysqld_multi]中,密码选项配置为pass而不是client端中配置的password选项。
多实例之不同版本安装
安装mysql5.6:
# tar xf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
# ln -sv /usr/local/mysql-5.6.31-linux-glibc2.5-x86_64 /usr/local/mysql56
# cd /usr/local/mysql56
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
配置5.6多实例:
[mysqld3]
server-id = 13
basedir=/usr/local/mysql56/
datadir=/data/mysql_3
socket = /tmp/mysql.sock3
port = 3356
启动5.6实例:
# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld100 is running
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
MySQL server from group: mysqld3 is not running
# mysqld_multi start 3
# mysql -S /tmp/mysql.sock3 -uroot -hlocalhost -p
Enter password:
(root@localhost) [(none)]> set password = password('redhat');
Query OK, 0 rows affected (0.05 sec)
MySQL多实例.md的更多相关文章
- MYSQL多实例配置方法 mysqld_multi方法
在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi 1.修改my.cnf 如一个定义两个实例的参考配置: [mysqld_ ...
- MySQL优化实例
这周就要从泰笛离职了,在公司内部的wiki上,根据公司实际的项目,写了一些mysql的优化方法,供小组里的小伙伴参考下,没想到大家的热情很高,还专门搞了个ppt讲解了一下. 举了三个大家很容易犯错的地 ...
- mysql 优化实例之索引创建
mysql 优化实例之索引创建 优化前: pt-query-degist分析结果: # Query 23: 0.00 QPS, 0.00x concurrency, ID 0x78761E301CC7 ...
- PHP调用MYSQL存储过程实例
PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = ...
- JDBC连接MySQL 方法 实例及资料收集
JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...
- mysql多实例的配置和管理
原文地址:mysql多实例的配置和管理 作者:飞鸿无痕 多实例mysql的安装和管理 mysql的多实例有两种方式可以实现,两种方式各有利弊.第一种是使用多个配置文件启动不同的进程来实现多实例,这种方 ...
- MySQL多实例,主从同步
由于背景原因,所做的主从同步还是要基于MySQL 5.1的版本,主从同步主要是一个数据库读写访问原来的数据库热度过大,需要做到使用从库对读分压. MySQL主从同步介绍 MySQL 支持单双向 ...
- mysql多实例(个人的情况,不是大众的)里面有配置好的脚本+主从复制
[root@DB-S ~]# ll /usr/local/|grep mysql lrwxrwxrwx. 1 root root 21 Jun 14 01:52 mysql -> /alidat ...
- mysql多实例部署
mysql 多实例常规来讲,主要有二种方案可以实现,这二种方案各有利弊,如下:1.基于多配置文件 通过使用多个配置文件来启动不同的进程,以此来实现多实例. 优点:逻辑简单,配置简单 缺点:管理起来不方 ...
随机推荐
- (一)java并发知识图谱
- Servlet基础知识点整理
常用注解 官方文档:https://docs.oracle.com/javaee/7/api/toc.htm WebServlet @WebServlet用于定义一个Servlet,等价于下面的xml ...
- ESB企业服务总线
ESB是企业服务总线(Enterprise Service Bus)的缩写,是中间件技术与Web Service等技术结合的产物,也是SOA系统中的核心基础设施.ESB就是一个服务的中介,形成服务使用 ...
- POJO、JAVABEAN、*O、EJB
POJO: 全称:Plain Old Java Object 解释:纯洁老式的java对象.从任何类继承.也没有实现任何接口,更没有被其它框架侵入的java对象 理解:通常我们常说的实体类 BEAN: ...
- 鼠标悬浮控制元素隐藏与显示 - css中鼠标的hover状态
需求:当鼠标移动到一个元素A身上时,另外一个元素B显示. 实现原理: A元素与B元素有一个相同的父级. B元素默认隐藏,A元素默认显示. 当鼠标移动到A元素身上时,也可以看做是移动到了A元素的父级身上 ...
- 2017年5月24日 HTML 基础知识(二)
1 快捷方式:html:xt +tab 过渡XHTML html:xs+tab 严格XHTML !+tab html5的标签结构 2.Charset 编码 <meta charset ...
- CSS 美化复选框 - 无图片方式
今天和大家分享一个不使用图片美化复选框的方式.来看下效果图吧,如下是3种不同状态下的效果: 一. Html结构 <div class="check-wrap"> < ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- 2018-10-27 22:44:33 c language
2018-10-27 22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译 ...
- Android Application中的Context和Activity中的Context的异同
一.Context是什么: 1.Context是维持Android程序中各组件能够正常工作的一个核心功能类,我们选中Context类 ,按下快捷键F4,右边就会出现一个Context类的继承结构图啦, ...