linux下mysql主从复制搭建
目标:搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制
环境:
主数据库: 192.168.1.1
从数据库: 192.168.1.2
mysql安装可参考:https://www.cnblogs.com/merely/p/9714681.html
配置步骤:
1、保证两个数据库中的库和数据是一致的;
2、在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。
1)、创建一个账号,账号:master 密码: 123456
CREATE USER 'master'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE ON *.* TO 'master'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
3、配置主数据库
1)要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。
2)主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。
3)复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。
4)配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。
5)下面是启用二进制日志,日志文件名以“mysql-bin”作为前缀,Server ID配置为1,如下:
[mysqld] log-bin=mysql-bin server-id=1 #网络上还有如下配置 #binlog-do-db=mstest //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名 #binlog-ignore-db=mysql //要忽略的数据库 innodb_flush_log_at_trx_commit=1 sync_binlog=1
4、重启mysql
5、查看主服务器状态:
cd /usr/local/mysql/bin ./mysql -uroot -p mysql> show master status;
注意:记录好File和Position,后面要用
6、配置从数据库:
1)从服务器,同理,要分配一个唯一的Server ID,需要关闭MySQL,修改好后再重启,如下:
[mysqld] server-id=2 #可以指定要复制的库 replicate-do-db=test-xxx #在master端不指定binlog-do-db,在slave端用replication-do-db来过滤 replicate-ignore-db=mysql #忽略的库 #网上还有下面配置 #relay-log=mysqld-relay-bin
2)配置连接主服务器的信息:
进入sqlplus:
cd /usr/local/mysql/bin ./mysql -uroot -p
mysql> stop slave; mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.1', -> MASTER_USER='master', -> MASTER_PASSWORD='123456', -> MASTER_PORT=3309, -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=154; mysql> start slave;
3)查看状态
mysql> show slave status \G;
Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.1.1Master_User: masterMaster_Port: 3309Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 2950Relay_Log_File: localhost-relay-bin.000007Relay_Log_Pos: 320 Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: test-xxxReplicate_Ignore_DB: mysql... Seconds_Behind_Master: 0 #表示已同步...
4)若 Slave_SQL_Running: no 请重复执行以下内容,直至yes:
stop slave; set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; start slave;
参考的资料:
1、https://blog.csdn.net/envon123/article/details/76615059
2、https://blog.csdn.net/xiaoxinla/article/details/7679578
转载于:https://www.cnblogs.com/merely/p/9714827.html
linux下mysql主从复制搭建相关推荐
- lnmp mysql主从_LNMP linux下mysql主从复制 _好机友
mysql主从复制主要作用是为了降低主服务器mysql的读压力. 文章背景: 1.在本地搭建两个linux虚拟机,其主服务器ip为192.168.0.1,从服务器ip为192.168.0.2. 2.主 ...
- linux 数据库数据同步,linux下mysql主从复制,实现数据库同步
运行环境: 查看linux版本命令:lsb_release -a 主服务器:centos release 6.5 mysql 5.6.10-log IP:172.17.200.25 从服务器:cen ...
- Linux下mysql主从复制配置(CentOS7)
主从复制需要注意: 1.数据库版本必须一致 2.数据库名称必须一致 例如db888 3.配置主数据库开启二进制日志 4.主数据库.从数据库必须具有一个唯一的server-id 配置主从数据库复制: ...
- mysql主从复制中间件_linux下mysql主从复制(第二篇读写分离) mycat 中间件
linux下mysql主从复制(第二篇读写分离) mycat 中间件 接着上篇文档补全,mysql 读写分离,在上篇文章案例下准备好Mycat-server-1.4-release-201510192 ...
- 【MySQL】基于Docker的Mysql主从复制搭建
基于Docker的Mysql主从复制搭建 为什么基于Docker搭建? 资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相 ...
- linux下mysql乱码_linux下mysql中文乱码
登录mysql执行 mysql> show variables like 'character%'; 发现编码有些不是utf-8 修改/etc/mysql/my.cnf,网上说的是/etc/my ...
- linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一
Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...
- php linux下开发教程,linux下php环境搭建教程_后端开发
linux下php环境搭建要领:起首猎取PHP.Apache以及MySQL装置包:然后装置Apache,并修正设置文件httpd.conf:接着装置MySQL,并做基础设置:末了装置PHP,并设置ph ...
- 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记
写在前面 和小伙们分享一些Mysql集群主从同步相关的笔记 博文内容涉及: 为什么需要mysql集群主从同步 主从同步原理 部署不同主从结构的Mysql集群 同步使用的复制模式介绍配置 理解不足小伙伴 ...
最新文章
- 阿里跳槽拼多多,80万年薪涨到160万,值不值得去?
- 学历案与深度学习电子书
- 三星emcp型号详解_Samsung eMCP(三星eMCP).pdf
- mysql5.5 datetime默认值不能为NOW或者CURRENT_TIMESTAMP
- mysql set类型 查询,MYSQL SET字段类型怎么查询
- 开源音乐播放器_如何选择开源音乐播放器
- 备案 前置或专项审批的内容
- kinect二次开发_Kinect2.0动作捕捉Super Mocap K2
- 什么是域名系统DNS
- Android aab打包报错(持续更新中~),android插件开发过时
- 如何设置浏览器标签图标
- linux kde vga参数1366,Archlinux+KDE 下双屏VGA高分辨率设置
- Numpy中数据的常用的保存与读取方法
- 老男孩python 2018最新_2018最新老男孩全栈python第3期视频教程 完整版 附源码与笔记 | 52download...
- 输入一个字符,判断其是否为大写字母,如果是,将他转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
- cudnn 版本查看
- Python——函数练习题
- FPS手游逆向分析--------矩阵
- Mac 删除当前目录下所有.DS_Store文件
- Android核心破解原理详解
热门文章
- AI一分钟 | “钢铁侠”马斯克冒冷汗直面跳票尴尬;Apollo2.0确定下个月初出征美国,李彦宏发力全球梦
- 颜值绝绝子的swagger-ui
- 如何轻松搞定 CRUD 的创建人、修改人、时间等字段的赋值
- 分库分表:如何做到永不迁移数据和避免热点?
- 动态代理竟然如此简单!
- 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?
- KDD'20 Workshop 来了!学术竞赛,发表Paper,针对疫情设计隔离策略
- Datahwhale第三期集训团队成员
- 删库跑路大神「后悔」了?我只不过犯了大家都会犯的编程错误!
- 100%抄袭!ICLR 2022投稿竟公然剽窃两篇顶会,程序主席放「实锤」严词拒稿