mysql集群

1.主从复制原理

(1)mysql主(master)从(slave)复制的原理?(面试题)

① master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这

些记录叫作二进制日志事件,binary log events)

② slave将master的binary log events拷贝到它的中继日志(relay log);

③ slave重做中继日志中的事件,将改变反映他自己的数据(数据重演);

(2)主从配置注意点:

主DB server 和从 DB server 数据库版本一致;

主DB server和从 DB server数据库数据一致;

主DB server 开启二进制日志,主DB server 和从DB server 的server_id 都必须一致。

2.主库配置文件 my.conf

(1)开启主从复制

[mysqld] log-bin = mysql-bin

#指定主库

serverid server-id=1

#记录同步的数据库,如果不指定则记录全部数据库以及同步全部数据库

binlog-do-db=db_a

(2)执行SQL语句查询状态

SHOW MASTER STATUS

3.在主库创建同步用户

(1)授权用户slave01使用123456 密码登入mysql

grant replication slave on *.* to 'slave01'@'ip 地址' identified by 'kgc';

(2)刷新配置

flush privileges;

4.从库配置文件 my,conf

(1)指定serverid,只要不复制即可,从库也只有这一个配置,其他都在

[mysqld] server-id=2

(2)Navicat中执行同步数据库配置操作

CHANGE MASTER TO

master_host='127.0.0.1',

#从数据库中查询得来 (show master status;)

master_user='slave01',

master_password='123456',

master_port=3306,

master_log_file='mysql-bin.000006',

master_log_pos=1120;

(3)启动slave同步

START SLAVE;

(4)查看同步状态

SHOW SLAVE STATUS;

5.搭建主库

(1)创建目录

mkdir /data/mysql/master01 -p

cd /data/mysql/master01

mkdir conf data

chmod 777 * -R

(2)创建配置文件

cd /data/mysql/master01/conf

vim my.conf

#在文件中写入

[mysqld]

log-bin=mysql-bin #开启二进制日志

server-id=1#服务 id,不可重复

附注:#出现[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and 错误解决方案,在 my.cnf 配置文件中设置

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

(3)创建容器

docker create --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

(4)启动容器

docker start percona-master01 && docker logs -f percona-master01

(5)创建同步账号以及授权打开(navicat连接)

create user 'kgc'@'%' identified by 'kgc'; grant replication slave on *.* to 'kgc'@'%'; flush privileges;

(6)重新启动容器

docker restart percona-master01 && docker logs -f percona-master01

(7)查看配置是否成功

① 查看master状态

show master status;

② 查看二进制日志相关的配置

show global variables like 'binlog%';

③ 查看server相关的配置项

show global variables like 'server%';

6.搭建从库

(1)创建目录

mkdir /data/mysql/slave01

cd /data/mysql/slave01

mkdir conf data

chmod 777 * -R

(2)创建配置文件

cd /data/mysql/slave01/conf

vim my.cnf

#输入内容

[mysqld] server-id=2 #服务 id,不可重复

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

(3)创建容器

docker create --name percona-slave01 -v /data/mysql/slave01/data:/var/lib/mysql -v /data/mysql/slave01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

(4)启动容器

docker start percona-slave01 && docker logs -f percona-slave01

(5)设置 master 相关信息(navicat 连接 mysql3307 端口)

set sql_mode = ''; set sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES';

# user:主数据库名 password : 主服务器密码

...file pos:主数据库中的参数

CHANGE MASTER TO

master_host='192.168.115.188',

master_user='kgc',

master_password='kgc',

master_port=3306,

master_log_file='mysql-bin.000002',

master_log_pos=648;

(6)启动同步

start slave;

(7)查看master状态

show slave status;

(8)测试

连接mysql集群_mysql集群相关推荐

  1. mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql

    peewee连接mysql中文数据编码 系统是win7 x64 python 2.7.6的site.py里面编码设定为 utf-8 py文件首行指定 #coding:utf-8 mysql 5.5.3 ...

  2. mysql vb.net odbc_在VB.net中连接MySql的类库_MySQL

    这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mys ...

  3. qtp 连接mysql_qtp 怎样连接mysql数据库操作_MySQL

    1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc- 5.1.8-win32.msi 下载地址:http://mysql. ...

  4. 连接mysql数据库字符串_MySQL数据库中怎么将字符串连接操作

    MySQL数据库中怎么将字符串连接操作 发布时间:2020-11-30 09:54:14 来源:亿速云 阅读:68 作者:小新 小编给大家分享一下MySQL数据库中怎么将字符串连接操作,相信大部分人都 ...

  5. go连接mysql集群_Mysql集群方案-Go语言中文社区

    MySql集群原理 比如有三台mysql,当java使用数据源连接池进行连接的时候,应该连接哪台呢?其实连接哪台都不行,万一你连接的mysql,突然宕机了,那么数据都查询不到了,其实应该连接mycat ...

  6. mysql数据库rp集群_MySQL集群入门(PXC)

    目标: 1.掌握PXC集群MySQL方案的原理: 2.掌握PXC集群的强一致性: 3.掌握PXC集群的高可用方案: 硬件要求: 1.Win10x64企业版/linux/MacOS: 2.Docker虚 ...

  7. mysql windows集群_Mysql集群windows服务器版搭建过程

    此文就聊聊在windows服务器上搭建集群遇到的一些问题,具体的安装和配置解释我就不赘述了.供后续遇到问题的朋友们可以更快的找到问题所在,直接搞定以便避免占用太多不必要的时间. 服务器版本winsev ...

  8. mha如何管理多套mysql集群_Mysql 集群高可用方案 MHA

    MHA是什么? MHA(master high availability) 是用来保证 Mysql 集群高可用性的,对 master 进行监控,发现 master 出现故障后,自动进行故障转移,从众多 ...

  9. mysql集群_MySQL集群

    MySQL集群搭建之主从复制: 主从复制原理: 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) ...

  10. mysql有哪些集群_mysql集群有哪些方式

    mysql集群的方式有:LVS和Keepalived和MySQL组合,MySQL Proxy,MySQL和MHA 组合,MySQL和MMM组合,MySQL Cluster等方式 组建MySQL集群的几 ...

最新文章

  1. asp.net中长内容自动分页的实现
  2. 刚发布!2020年AI人才发展报告,这三个暗示程序员一定要知道!
  3. 自定义定时器的一点总结
  4. secureCRT 右键的设置选中就copy or 选中即粘贴
  5. Eureka 简介和使用
  6. 读取设置config.ini配置
  7. DM***+GET***测试
  8. 端口目录Linux操作系统常用命令
  9. 【洛谷3368】树状数组模版题(区间修改,单点查询)
  10. linux 内核 addr2line,linux内核调试技巧之addr2line
  11. 【服务器数据恢复】服务器Raid5阵列mdisk磁盘离线的数据恢复案例
  12. 如何做好风险控制,规避项目中的风险
  13. 如何使用Outlook创建带有超链接的图片签名
  14. maya表情blendshape_【Maya】角色表情绑定-BlendShape的使用技巧
  15. 什么是零知识证明(ZK Proof)?Web2.0通往Web3.0的入口技术
  16. 三步必杀【洛谷P4231】
  17. Framebuffer子系统【转】
  18. FFmpeg源码分析:AVIOContext、IO模型与协议
  19. 超微服务器主板ipmi证书,超微服务器主板ipmi怎样恢复出厂设置
  20. java调用银联支付接口开发,银联在线Java接口开发

热门文章

  1. javascript设置cookie高级篇可跨域访问
  2. si4438使用stm32f103配置调试成功!
  3. STM32CubeMX 安装提示需要java环境(1.8.0_45)
  4. zoiper 软件_zoiper软件下载
  5. 【计算机图形学02】b-spline(b-样条曲线)
  6. 华为手机root过程
  7. 数电基础-数字电路芯片种类
  8. tcpdf开发文档(中文翻译版)
  9. h5 点击按钮生成图片分享微信朋友圈
  10. 自回归模型的两种策略——马尔科夫假设与隐变量自回归模型