一 、MySQL多实例部署方式

1)使用多个配置文件启动不同的进程来实现多实例,这种方式的优势逻辑简单,配置简单,缺点是管理起来不太方便;
2)通过官方自带的mysqld_multi使用单独的配置文件来实现多实例,这种方式定制每个实例的配置不太方面,优点是管理起来很方便,集中管理。

二、mysqld_multi搭建多实例

1.官网下载免编译tar包解压

1)下载地址:https://dev.mysql.com/downloads/mysql/
2)解压到本地目录/Library/Java/mysql-cluster/mysql-8.0.16-macos10.14-x86_64
3)方便查找配置可以设置的软链接,需要root权限, mac 所有涉及到添加删除登录的均需要root权限
sudo mkdir -p /usr/local/mysql
sudo ln -s /Library/Java/mysql-cluster/mysql-8.0.16-macos10.14-x86_64 /usr/local/mysql

2.配置环境变量

1)sudo vi ~/.bash_profile
2)添加:export PATH=$PATH:/usr/local/mysql/bin,保存退出
3)source ~/.bash_profile

3. 创建主从mysql data及log目录并初始化主从mysql

执行以下两条初始化命令,加上–initialize-insecure参数则生成的root用户没有密码,否则mysql初始化时随机生成一个密码并输入到日志文件中
mysqld --datadir=/Library/Java/mysql-cluster/master/data --initialize --initialize-insecure
mysqld --datadir=/Library/Java/mysql-cluster/slave/data --initialize --initialize-insecure

4.修改配置文件

1)mac版本的mysql没有my.cnf文件,创建一个主从共用的配置文件,文件随意命名, 执行以下命令,sudo touch /etc/cluster.cnf

[mysqld_multi]
#mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user       = root
password   = root1234[mysqld3307]
server-id=3307
port=3307#以下为binlog配置,备灾及从机复制
log-bin=mysql-bin
binlog_format=MIXED
expire_logs_days        = 7                        #binlog过期清理时间
max_binlog_size         = 100m                     #binlog每个日志文件大小
binlog_cache_size       = 4m                       #binlog缓存大小
max_binlog_cache_size   = 512m                     #最大binlog缓存大小log-error=/Library/Java/mysql-cluster/master/mysqld.log
tmpdir=/Library/Java/mysql-cluster/master
slow_query_log=on
slow_query_log_file =/Library/Java/mysql-cluster/master/mysql-slow.log
long_query_time=1socket=/Library/Java/mysql-cluster/master/mysql_3307.sock
pid-file=/Library/Java/mysql-cluster/master/mysql.pidbasedir=/Library/Java/mysql-cluster/master
datadir=/Library/Java/mysql-cluster/master/data[mysqld3308]
server-id=3308
port=3308
log-bin=mysql-binlog-error=/Library/Java/mysql-cluster/slave/mysqld.log
tmpdir=/Library/Java/mysql-cluster/slaveslow_query_log=on
slow_query_log_file =/Library/Java/mysql-cluster/slave/mysql-slow.log
long_query_time=1socket=/Library/Java/mysql-cluster/slave/mysql_3308.sock
pid-file=/Library/Java/mysql-cluster/slave/mysql.pidbasedir=/Library/Java/mysql-cluster/slave
datadir=/Library/Java/mysql-cluster/slave/dataread_only=1[mysqld]
character_set_server=utf8

2)启动主从实例,mysqld_multi --defaults-file=/etc/cluster.conf start
3)查看主从实例启动状态
ps -ef |grep mysql 或者 sudo mysqld_multi --defaults-file=/etc/cluster.conf report
此处插播:若需单独启动其中一台实例,指定端口即可,sudo mysqld_multi --defaults-file=/etc/cluster.conf start 3307
4)登录主机,创建从机账户及权限
sudo mysql -S /Library/Java/mysql-cluster/master/mysql_3307.sock
create user ‘slave’@’%’ identified by ‘slave1234’;
grant replication slave on . to ‘slave’@’%’;
flush privileges;
5)查看主机节点
show master status;这个命令会显示binlog文件名称及位置,是备机开始复制的节点。
mysql-bin.000001 | 689
6)配置备机
登录备机:sudo mysql -S /Library/Java/mysql-cluster/slave/mysql_3308.sock
关闭从库:stop slave;
配置主机:change master to master_host=‘127.0.0.1’,master_port=3307,master_user=‘slave’,master_password=‘slave1234’,master_log_file=‘mysql-bin.000001’,master_log_pos=689;
开启从库:start slave;
检查从库状态:show slave status\G;

Slave_IO_State: Connecting to masterMaster_Host: 127.0.0.1Master_User: slaveMaster_Port: 3307Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 689Relay_Log_File: AndydeMacBook-Pro-relay-bin.000001Relay_Log_Pos: 4Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: ConnectingSlave_SQL_Running: Yes

7)备机创建一个只读账号
create user ‘reader’@’%’ identified by ‘123456’;
GRANT Select ON . TO reader@’%’;

Mac单机多实例Mysql(8.0.16)主从配置相关推荐

  1. mysql_upgrade --force_社区投稿 | MySQL 8.0.16 告别mysql_upgrade升级方式

    最熟悉的命令要消失了! MySQL 8.0.16 开始,MySQL 不推荐使用mysql_upgrade.取而代之的是 server upgrade的升级方式. 一.为什么变更升级方式 官方为什么这么 ...

  2. mysql 5.0 乱码,解决MySQL 5.0.16的乱码问题

    导读:问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplifie ...

  3. MySQL 8.0.16 告别mysql_upgrade升级方式

    作者简介:田帅萌 京东数科DBA,爱可生开源社区志愿者. 最熟悉的命令要消失了! MySQL 8.0.16 开始,MySQL 不推荐使用mysql_upgrade.取而代之的是 server upgr ...

  4. CentOS下mysql 8.0.16 安装完整版教程

    CentOS下mysql 8.0.16 安装完整版教程 1. 下载安装包 由于下载过程较慢,所以先本地下载准备好安装包. MySQL 8.0下载链接(官网地址): https://dev.mysql. ...

  5. MySQL 8.0.16安装教程

    原 MySQL 8.0.16安装教程(windows 64位) 2018年08月15日 18:05:05 日日言谧 阅读数:140168 <span class="tags-box a ...

  6. MySQL 8.0.16定制路径安装

    MySQL 8.0.16定制路径安装 1.安装 安装的是社区版8.0.16 ,解压缩后按顺序安装即可. [root@mysql install_mysql_8.0.16]# rpm -ivh mysq ...

  7. mysql 8.0.18安装,mysql 8.0.18 安装配置方法图文教程

    mysql 8.0.18 安装配置方法图文教程 本文记录了mysql 8.0.18 安装配置图文教程,供大家参考,具体内容如下 第一步:下载MySql 下载地址:MySQL 第二步:安装MySql 打 ...

  8. mysql 8.0远程连接_安装mysql 8.0.17并配置远程访问的方法

    一.安装前准备 查看数据库版本命令: mysql --version mysql-community-common-8.0.17-1.el7.x86_64.rpm mysql-community-li ...

  9. ubuntu18.4中查看mysql_Ubuntu18.0.4下mysql 8.0.20 安装配置方法图文教程

    mysql 8.0.20 安装配置方法图文教程整理下,供大家参考. 一.准备工作 1.检查是否已经安装mysql 当前计算机没有安装mysql. 2.下载MySQL8.0. 根据MySQL安装指南,发 ...

最新文章

  1. oracle查看数据库名和实例名
  2. Cloudera Manager 术语和架构
  3. 如何用计算机做出折线图,曲线图怎么做-怎样在电脑上做曲线图电脑上如何做曲线图 – 手机爱问...
  4. Sparrow - Distributed, Low Latency Scheduling
  5. python调用外部程序 退出_Python调用外部程序——os.system()和subprocess.call
  6. 为什么都建议学java而不是python-为什么入门大数据选择Python而不是Java?
  7. 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
  8. Start Developing iOS Apps Today系列之应用程序(七)
  9. SqlDataReader.GetFloat出错,类型无法转换
  10. 计算机的存储功能是什么原因,电脑储存的意义是什么
  11. webpack项目运用(一)打包压缩css文件
  12. altium Designer使用方法大总结
  13. c语言line函数编写画六边形,canvas 画六边形
  14. 小程序设置整个页面的背景颜色
  15. 软件测试前景怎么样?大概要学什么?
  16. android开发百度地图步行导航
  17. python 自然语言处理 形态学
  18. 什么是反射,反射能干嘛?
  19. 【JHOK-ZBL1+DH-30L漏电继电器】
  20. 如何录制电脑正在播放的声音及音乐?

热门文章

  1. DaVinci:调色版本
  2. 2021-03-23 sgn函数
  3. dd error: resource busy
  4. 【计算机毕业设计】512网上商城购物系统
  5. 微信订阅号推广只要这一个标题就够了!
  6. 怎么实现使用手机号、邮箱、用户名登录
  7. js 取小数点后两位的几种方法 取整
  8. 手机怎么使用涂鸦?分享几个手机视频怎么添加涂鸦的妙招
  9. Dota 2 with Large Scale Deep Reinforcement Learning翻译
  10. 免费顶级域名.OVH注册申请全过程附成功注册小技