Mac单机多实例Mysql(8.0.16)主从配置
一 、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)主从配置相关推荐
- mysql_upgrade --force_社区投稿 | MySQL 8.0.16 告别mysql_upgrade升级方式
最熟悉的命令要消失了! MySQL 8.0.16 开始,MySQL 不推荐使用mysql_upgrade.取而代之的是 server upgrade的升级方式. 一.为什么变更升级方式 官方为什么这么 ...
- mysql 5.0 乱码,解决MySQL 5.0.16的乱码问题
导读:问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplifie ...
- MySQL 8.0.16 告别mysql_upgrade升级方式
作者简介:田帅萌 京东数科DBA,爱可生开源社区志愿者. 最熟悉的命令要消失了! MySQL 8.0.16 开始,MySQL 不推荐使用mysql_upgrade.取而代之的是 server upgr ...
- CentOS下mysql 8.0.16 安装完整版教程
CentOS下mysql 8.0.16 安装完整版教程 1. 下载安装包 由于下载过程较慢,所以先本地下载准备好安装包. MySQL 8.0下载链接(官网地址): https://dev.mysql. ...
- MySQL 8.0.16安装教程
原 MySQL 8.0.16安装教程(windows 64位) 2018年08月15日 18:05:05 日日言谧 阅读数:140168 <span class="tags-box a ...
- MySQL 8.0.16定制路径安装
MySQL 8.0.16定制路径安装 1.安装 安装的是社区版8.0.16 ,解压缩后按顺序安装即可. [root@mysql install_mysql_8.0.16]# rpm -ivh mysq ...
- mysql 8.0.18安装,mysql 8.0.18 安装配置方法图文教程
mysql 8.0.18 安装配置方法图文教程 本文记录了mysql 8.0.18 安装配置图文教程,供大家参考,具体内容如下 第一步:下载MySql 下载地址:MySQL 第二步:安装MySql 打 ...
- mysql 8.0远程连接_安装mysql 8.0.17并配置远程访问的方法
一.安装前准备 查看数据库版本命令: mysql --version mysql-community-common-8.0.17-1.el7.x86_64.rpm mysql-community-li ...
- ubuntu18.4中查看mysql_Ubuntu18.0.4下mysql 8.0.20 安装配置方法图文教程
mysql 8.0.20 安装配置方法图文教程整理下,供大家参考. 一.准备工作 1.检查是否已经安装mysql 当前计算机没有安装mysql. 2.下载MySQL8.0. 根据MySQL安装指南,发 ...
最新文章
- oracle查看数据库名和实例名
- Cloudera Manager 术语和架构
- 如何用计算机做出折线图,曲线图怎么做-怎样在电脑上做曲线图电脑上如何做曲线图 – 手机爱问...
- Sparrow - Distributed, Low Latency Scheduling
- python调用外部程序 退出_Python调用外部程序——os.system()和subprocess.call
- 为什么都建议学java而不是python-为什么入门大数据选择Python而不是Java?
- 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
- Start Developing iOS Apps Today系列之应用程序(七)
- SqlDataReader.GetFloat出错,类型无法转换
- 计算机的存储功能是什么原因,电脑储存的意义是什么
- webpack项目运用(一)打包压缩css文件
- altium Designer使用方法大总结
- c语言line函数编写画六边形,canvas 画六边形
- 小程序设置整个页面的背景颜色
- 软件测试前景怎么样?大概要学什么?
- android开发百度地图步行导航
- python 自然语言处理 形态学
- 什么是反射,反射能干嘛?
- 【JHOK-ZBL1+DH-30L漏电继电器】
- 如何录制电脑正在播放的声音及音乐?