连接mysql集群_mysql集群
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集群相关推荐
- mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql
peewee连接mysql中文数据编码 系统是win7 x64 python 2.7.6的site.py里面编码设定为 utf-8 py文件首行指定 #coding:utf-8 mysql 5.5.3 ...
- mysql vb.net odbc_在VB.net中连接MySql的类库_MySQL
这是在VB.net中为连接MySql中编写的一个类库.你可以使用这个类库直接操作MySql数据库. 在使用这个类库之前,你必须安装 ODBC MYSQL 3.51下载地址:http://www.mys ...
- qtp 连接mysql_qtp 怎样连接mysql数据库操作_MySQL
1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc- 5.1.8-win32.msi 下载地址:http://mysql. ...
- 连接mysql数据库字符串_MySQL数据库中怎么将字符串连接操作
MySQL数据库中怎么将字符串连接操作 发布时间:2020-11-30 09:54:14 来源:亿速云 阅读:68 作者:小新 小编给大家分享一下MySQL数据库中怎么将字符串连接操作,相信大部分人都 ...
- go连接mysql集群_Mysql集群方案-Go语言中文社区
MySql集群原理 比如有三台mysql,当java使用数据源连接池进行连接的时候,应该连接哪台呢?其实连接哪台都不行,万一你连接的mysql,突然宕机了,那么数据都查询不到了,其实应该连接mycat ...
- mysql数据库rp集群_MySQL集群入门(PXC)
目标: 1.掌握PXC集群MySQL方案的原理: 2.掌握PXC集群的强一致性: 3.掌握PXC集群的高可用方案: 硬件要求: 1.Win10x64企业版/linux/MacOS: 2.Docker虚 ...
- mysql windows集群_Mysql集群windows服务器版搭建过程
此文就聊聊在windows服务器上搭建集群遇到的一些问题,具体的安装和配置解释我就不赘述了.供后续遇到问题的朋友们可以更快的找到问题所在,直接搞定以便避免占用太多不必要的时间. 服务器版本winsev ...
- mha如何管理多套mysql集群_Mysql 集群高可用方案 MHA
MHA是什么? MHA(master high availability) 是用来保证 Mysql 集群高可用性的,对 master 进行监控,发现 master 出现故障后,自动进行故障转移,从众多 ...
- mysql集群_MySQL集群
MySQL集群搭建之主从复制: 主从复制原理: 从库生成两个线程,一个I/O线程,一个SQL线程: i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) ...
- mysql有哪些集群_mysql集群有哪些方式
mysql集群的方式有:LVS和Keepalived和MySQL组合,MySQL Proxy,MySQL和MHA 组合,MySQL和MMM组合,MySQL Cluster等方式 组建MySQL集群的几 ...
最新文章
- asp.net中长内容自动分页的实现
- 刚发布!2020年AI人才发展报告,这三个暗示程序员一定要知道!
- 自定义定时器的一点总结
- secureCRT 右键的设置选中就copy or 选中即粘贴
- Eureka 简介和使用
- 读取设置config.ini配置
- DM***+GET***测试
- 端口目录Linux操作系统常用命令
- 【洛谷3368】树状数组模版题(区间修改,单点查询)
- linux 内核 addr2line,linux内核调试技巧之addr2line
- 【服务器数据恢复】服务器Raid5阵列mdisk磁盘离线的数据恢复案例
- 如何做好风险控制,规避项目中的风险
- 如何使用Outlook创建带有超链接的图片签名
- maya表情blendshape_【Maya】角色表情绑定-BlendShape的使用技巧
- 什么是零知识证明(ZK Proof)?Web2.0通往Web3.0的入口技术
- 三步必杀【洛谷P4231】
- Framebuffer子系统【转】
- FFmpeg源码分析:AVIOContext、IO模型与协议
- 超微服务器主板ipmi证书,超微服务器主板ipmi怎样恢复出厂设置
- java调用银联支付接口开发,银联在线Java接口开发