Mysql
Mysql入门系列
Mysql字典
Mysql安装部署
原有环境部署多个版本
从头部署多个版本
Mysql-5.6 二进制多实例部署
centos7部署二进制mysql-5.6
centos7部署mysql-5.7
Mysql原理说明
索引的数据结构及算法原理
千万的数据,你是怎么查询的?
分库分表方案
Mysql资料 视图
Mysql资料 查询条件
Mysql资料 存储索引
Mysql资料 数据类型
Mysql资料 主键
Mysql资料 索引
Mysql资料 锁机制
Mysql资料 查询SQL执行顺序
Mysql资料 用户权限详解
Mysql资料 慢查询
Mysql服务维护
shell脚本 mysql-binlog分析
shell脚本 binlog方式增量备份mysql
shell脚本 mysqldump方式全备份mysql
阿里云RDS备份 恢复到本地
xtra+binlog增量备份脚本
xtrabackup备份脚本
mysqldump备份容灾脚本
Mysql资料 xtrabackup
Mysql资料 mysqldump
数据恢复binlog2sql
数据备份类型简介
Mysql资料 Binlog
Mysql安全检查
Mysql配置文件
shell脚本 比较mysql配置文件
Mysql脚本 优化检测
Mysql配置文件 16c64g优化
Mysql配置文件 4c8g优化
Mysql配置文件 innodb引擎
Mysql配置文件 binlog和慢日志
Mysql配置文件 扩展详细配置
Mysql配置文件 基本设置
Mysql配置文件 客户端
show_slave_status参数详解
Mysql_SQL语句
Mysql状态信息查询
用户和密码管理操作
表和字段管理操作
库管理操作
基本操作
Mysql集群
Innodb Cluster集群部署配置
什么是mysql innodb cluster?
主从复制参数详解
Mysql配置 主主同步
Mysql配置 主从同步
Mysql新闻
Mysql使用案例
shell脚本 安全删除MySQL大表
shell脚本 检查mysql节点数据一致性
shell脚本 批量查看mysql表条目数
Mysql报错合集
Mysql一致性效验_pt工具
mysqlslap基准测试
Mysql实例 数据库优化
Mysql解决主从慢同步问题
Mysql实例 表设计
Mysql脚本 生成测试数据
本文档使用 MrDoc 发布
-
+
home page
Mysql-5.6 二进制多实例部署
[TOC] ## 一.简介 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务: 特点: 1. 有效利用服务器资源,当单个服务器资源有剩余时,可以充分利用剩余的资源提供更多的服务。 2. 节约服务器资源 3. 资源互相抢占问题,当某个服务实例服务并发很高时或者开启慢查询时,会消耗更多的内存、CPU、磁盘IO资源,导致服务器上的其他实例提供服务的质量下降; 部署方式: 第一种是使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便 第二种是通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理 同一开发环境下安装两个数据库,必须处理以下问题 - 配置文件安装路径不能相同 - 数据库目录不能相同 - 启动脚本不能同名 - 端口不能相同 - socket文件的生成路径不能相同 ## 二.环境声明 1.环境 ```python [mysql-Server] 主机名 = host-1 系统 = centos-7.3 地址 = 1.1.1.1 软件 = mysql-5.6.39 3306 ``` ## 三.程序部署 1.安装依赖 `yum -y install autoconf libaio bison ncurses-devel` 2.创建用户 `groupadd mysql` `useradd -g mysql -s /sbin/nologin mysql` 3.清理centos7 默认自带数据库 `yum -y remove mariadb mariadb-server` 4.下载 `wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz` `tar -xf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz` `mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql` 创建相关目录,确保区分开 `mkdir -p /data/mysql/{mysql_3306,mysql_3307}` `mkdir /data/mysql/mysql_3306/{data,log,tmp}` `mkdir /data/mysql/mysql_3307/{data,log,tmp}` mysql即使root启动还是mysql用户运行的,所以要给权限 `chown -R mysql:mysql /usr/local/mysql` `chown -R mysql:mysql /data/mysql` 5.添加环境变量 `echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile` `source /etc/profile` 6.复制my.cnf文件到etc目录 `rm -rf /etc/my.cnf` `cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf` 修改my.cnf(在一个文件中修改即可) `vim /etc/my.cnf` ```python [client] port=3306 socket=/tmp/mysql.sock [mysqld_multi] #一定要配置的,管理多实例 mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin log = /data/mysql/mysqld_multi.log [mysqld] #服务端公用配置 user=mysql basedir = /usr/local/mysql sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld3306] #3306实例的私有配置 mysqld=mysqld mysqladmin=mysqladmin datadir=/data/mysql/mysql_3306/data port=3306 server_id=3306 socket=/tmp/mysql_3306.sock log-output=file slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql_3306/log/slow.log log-error = /data/mysql/mysql_3306/log/error.log binlog_format = mixed log-bin = /data/mysql/mysql_3306/log/mysql3306_bin [mysqld3307] #3307私有配置 mysqld=mysqld mysqladmin=mysqladmin datadir=/data/mysql/mysql_3307/data port=3307 server_id=3307 socket=/tmp/mysql_3307.sock log-output=file slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql_3307/log/slow.log log-error = /data/mysql/mysql_3307/log/error.log binlog_format = mixed log-bin = /data/mysql/mysql_3307/log/mysql3307_bin ``` 7.初始化数据库 初始化3306数据库 `/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3306/data --defaults-file=/etc/my.cnf` 初始化3307数据库 `/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql/mysql_3307/data --defaults-file=/etc/my.cnf` 检查数据库是否初始化成功 出现两个”OK”  8.设置启动文件 `cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql` 9.mysqld_multi进行多实例管理 启动全部实例:`/usr/local/mysql/bin/mysqld_multi start` 查看全部实例状态:`/usr/local/mysql/bin/mysqld_multi report` 启动单个实例:`/usr/local/mysql/bin/mysqld_multi start 3306` 停止单个实例:`/usr/local/mysql/bin/mysqld_multi stop 3306` 查看单个实例状态:`/usr/local/mysql/bin/mysqld_multi report 3306` 10.启动全部实例 `/usr/local/mysql/bin/mysqld_multi start` `/usr/local/mysql/bin/mysqld_multi report` 11.配置密码 mysql的root用户初始密码是空,所以需要登录mysql进行修改密码,下面以3306为例: 登陆,也可以正常的加端口用ip登陆 `mysql -S /tmp/mysql_3306.sock` `set password for root@'localhost'=password('123456');` `flush privileges;`
日行一善
Dec. 10, 2020, 2:13 p.m.
Share documents
Collection documents
Last
Next
Scan wechat
Copy link
Scan your mobile phone to share
Copy link
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
QQ粉丝交流群:882382311
Markdown文件
share
link
type
password
Update password