设置mysql同步

【NAS for PVE _04】安装TrueNAS 前篇说到如何调试 Proxmox VE 8.2 为安装虚拟机做准备,本篇主要讲述如何在 Proxmox VE 上安装 TrueNAS 系统,并开启NFS供其他系统挂载使用官网下载好TrueNAS系统镜像。 阅读详情

預設環境
Master 
= 192.168.1.102
Slave
 = 192.168.1.103
要進行資料同步的資料庫
 = shian
Mysql 安裝位置
 = /usr/local/mysql
注意:
 我所安裝的Mysql是用Tarball方式安裝,所以下面的Mysql路徑會有所不一樣 , 請依照你的主機路徑做變更
安裝流程
1. 在Master上開一個帳號給Slave
2. 關閉 Master 的 MySQL
3. 備份要同步化的資料庫
4. 編輯 /etc/my.cnf 檔
5. 啟動 Master 的MySQL
6. 查看Master 是否有設定正確
7. 將備份的資料庫檔  scp 到 Slave
8. 關閉 Slave 的 MySQL
9. 編輯 /etc/my.cnf 檔
10. 解開備份資料庫檔案
11. 啟動 Slave 的 MySQL
12. 測試同步化是否成功


開始安裝

一. 設定Master:
1. 開放一個帳號給Slave連接使用
# /usr/local/mysql/bin/mysql -u root -p
# GRANT REPLICATION SLAVE on *.* to cslave@192.168.1.103 identified by 'cslave0504';
註:
GRANT REPLICATION SLAVE 為MySQL 4.0.2 以後的版本,如果是之前的版本則使用 GRANT FILE
cslave = 帳號 
192.168.1.103 = Slave ip 
cslave0504 = 密碼
# quit

2. 將MySQL關掉

# /usr/locale/mysql/share/mysql/mysql.server stop

3. 備份要同步化的資料庫

# cd /usr/locale/mysql/var/
# tar -zcpf shian.tar.gz shian/
註:
 tar 指令加了參數 p, 將檔案權限一併記錄起來, 解壓縮的時候才不用再變更檔案屬性

4. 編輯 /etc/my.cnf
註:
 如果在/etc下沒有my.cnf檔,可以從/usr/local/mysql/share/mysql下複製 *.cnf 到 /etc/my.cnf
# cp /usr/local/mysql/share/mysql/my-small.cnf /etc/my.cnf 
# vi /etc/my.cnf
在 [mysqld] 區段加入下面這些參數:
server-id = 1
log-bin = /usr/local/mysql/var/vmcentos-bin
binlog-do-db = shian

註:
server-id = 1 <= x其中x為主機id=1,2,3 1為最大所以在master上設server-id為1
log-bin = /usr/local/mysql/var/vmcentos-bin <= 記錄 Master 所有更動 LOG 記錄下來,讓 Slave 過來同步, 上面所寫的位置為我MySQL的位置 ,vmcentos:主機名稱
binlog-do-db = shian <= 對 shian 這資料庫做同步化的記錄 ,如需多個資料庫則必須再新增一行 binlog-do-db = XXX

5. 啟動Mysql
# /usr/local/mysql/share/mysql/mysql.server start 

6. 查看 Master 是否有同步化 shian 資料庫

# /usr/local/mysql/bin/mysql -u root -p
# SHOW MASTER STATUS;
+---------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------------+----------+--------------+------------------+
| vmcentos-bin.000001 | 596 | shian |                           |
+---------------------+----------+--------------+------------------+

如果在 Binlog_Do_DB 有出現所指定要同步化的資料庫如shian , 則表示 Master 正在同步化 shian 資料庫

7. 將備份的資料庫 shian 丟給其它的 Slave server 上
# cd /usr/local/mysql/var
# scp shian.tar.gz shian@192.168.1.103:/tmp

二. 設定Slave:
1. 將MySQL關掉
# /usr/locale/mysql/share/mysql/mysql.server stop

2. 編輯 /etc/my.cnf
如果在/etc下沒有my.cnf檔,可以從/usr/local/mysql/share/mysql下複製 *.cnf 到 /etc/my.cnf
# cp /usr/local/mysql/share/mysql/my-small.cnf /etc/my.cnf
# vi /etc/my.cnf
在 [mysqld] 區段加入下面這些參數:
server-id=3
log-bin=suse-bin
relay-log=suse-relay-bin
replicate-do-db=shian
replicate-same-server-id
master-host=192.168.1.102
master-user=cslave
master-password=cslave0504
master-port=3306
master-connect-retry=60

註:
server-id=3 <= 為主機id=3
log-bin=suse-bin <= Slave 二進位記錄檔
relay-log=suse-relay-bin <= Slave 二進位記錄檔
replicate-do-db=shian <= 指定要同步化的資料庫, 如需多個資料庫則多加 replicate-do-db=xxx 即可
replicate-same-server-id
master-host=192.168.1.102 <= Master ip
master-user=cslave <= Master 所給的帳號
master-password=cslave0504 <= Master 所給的密碼
master-port=3306 <= Master 的 MySQL port
master-connect-retry=60 <= 錯誤發生重試的間隔時間(60秒)


3. 解開 Master 備份好的資料庫檔案
# cd /usr/local/mysql/var
# tar -zxvf /tmp/shian.tar.gz
註: 如果解出來的檔案、目錄權限不對的話, 可以用 chown、chmod 來變更

4. 啟動 MySQL
# /usr/local/mysql/share/mysql/mysql.server star

三. 測試是否同步化成功
進入Mysql後下 SHOW SLAVE STATUS/G; 這指令 ,
查看 Slave_IO_Running: Yes , Slave_SQL_Running: Yes, 這二個選項都為Yes表示同步化成功,
然後在 Master 主機上 新增一個 table 後並新增一筆資料, 然後在 Slave 如也有新增同樣的 table 並 也有相同的資料,則表示同步化成功,
如果 Slave 主機出問題或關機 ,並不會影響 Master 運作, 等 Slave 恢復正常後會自己做同步化Master的動作

四. 錯誤訊息
1. No argument was provided to --log-bin, and --log-bin-index was not used; so replication may break when this MySQL server acts as a master and has his hostname changed!! Please use '--log-bin=suse-bin' to avoid this problem.
A: 在 /etc/my.cnf 的[mysqld]裡加上這參數 log-bin=suse-bin, (suse為我的主機名,所以每一台會不一樣)

2. Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=suse-relay-bin' to avoid this problem.
A: 在 /etc/my.cnf 的[mysqld]裡加上這參數 relay-log=suse-relay-bin (suse為我的主機名,所以每一台會不一樣)

3. [ERROR] The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
A: 在 /etc/my.cnf 的[mysqld]裡加上這參數 replicate-same-server-id

參數說明可以參考這篇 http://twpug.net/docs/mysql-5.1/replication.html

另外需要注意的就是binlog产生后,如何设置同步点的问题。由于mysql 只会在第一次设置my.ini/my.conf文件的时候读取默认mysqld段中replications信息。因此一但产生了master.info信息,那么以后每次读取同步点信息都是从这个文件里读取,你怎么改mysqld里的配置信息都没有。所以才需要mysql 命令 master chang to +相应变量修改来修改同步点信息。 master.info信息在 data目录下,我没试过linux下mysql 的实际文件产生位置,应该差不多。如果需要修改同步配置信息。2个方法。最省事情的方法就是停掉mysql 的服务,然后删除master.info和log信息文件。这样mysql再下次启动的时候会重新读取mysqld里的信息。当然这有个前提,replication 动作已经是成功的。否则如故master_log_file和master_log_pos等等信息不对,那么就算重新配置了,你还是需要用change master to 来修改。 第二个方法就是用change master to 来修改。这个修改动作都是在slave 机器上进行的。首先你需要用 slave stop 停掉slave 服务,然后是change master to ,最后slave start. 



五. 結語
如果在啟動MySQL失敗或無法同步化資料庫時,可以先查看LOG檔, /usr/local/mysql/var/vmcentos.err 這是我的記錄檔的位置, 如果有記錄檔裡有error or waring訊息,表示有錯誤必須排除,訊息不難懂看一下就可知道哪裡有錯誤

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)? 这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用; 阅读详情

相关推荐

Android音频子系统分析-car_audio_configuration.xml

先附上一个例子,再逐一解释。概括来说,该文件描述了车里有哪些区域,每个区域划分了多少组,每个组包含了哪些设备,每个设备接收哪些类型的音频流。

不定时记录分享一些有用没用的东西 989

转:设置mysql同步

預設環境Master = 192.168.1.102Slave = 192.168.1.103要進行資料同步的資料庫 = shianMysql 安裝位置 = /usr/local/mysql注意: 我所安裝的Mysql是用Tarball方式安裝,所以下面的Mysql路徑會有所不一樣 , 請依照你的主機路徑做變更安裝流程1. 在Master上開一個帳號給Slave2. 關閉 Master 的 MyS

eyejava的专栏 1156

WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法

WSL运行make提示/lib//modules/xxx文件或目录不存在。 WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。

weixin_45668903的博客 1万+

mysql replication复制错误(zt)

本文转自:http://www.hiadmin.com/mysql-replication%C3%A5%C2%A4%C2%8D%C3%A5%C2%88%C2%B6%C3%A9%C2%94%C2%99%C3%A8%C2%AF%C...

cuizhu0832的博客 395

数字蓝牙功放

数字蓝牙功放(TPA3110+BK8000L),基于D类数字功放芯片TPA3116蓝牙功放,HIFI级带滤波15Wx2蓝牙数字功放,支持有线和蓝牙两种音源输入

runweipa的博客 1419

如何设计QR反激变换器

摘要:本文分析了基于GaN技术的PD适配器市场现状,重点探讨了准谐振反激变换器(QR Flyback)的工作原理及设计方法。文章首先介绍了反激变换器的三种工作模式(CCM、DCM、CRM/QR)及其特点,指出QR模式通过谷底开通技术能显著降低开关损耗。随后以65W适配器为例,详细阐述了变压器参数设计流程,包括匝比确定、原边电感计算和绕组匝数设计等关键步骤。文章强调QR反激变换器凭借高效率、小体积和低成本优势,已成为20W-65W PD适配器的主流拓扑方案,配合GaN技术进一步提升了功率密度和便携性。

m0_62868254的博客 1496

linux读取iso,Linux下iso文件的读取,创建

chinaunix网友2009-07-13 14:05我是Mysql 数据库同步:现状是:slave_io_running:no, slave_sql_running:yeslast_err: 是[Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication ...

weixin_30249953的博客 139

Unity零基础到进阶 ☀️| Unity中的 GC及优化 超级全面解析 ☆(ゝω・)v 建议收藏!

介绍: 在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。 Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。 本文我们主要学习垃圾回收的机制,垃圾回收如何被触发以及如何提GC收效率来提高游戏的性能。 Unity内存管理机制简介 要想了解垃圾回收如何工作以及何时被

努力前行,总会成为自己心中的那道光 6万+

linux软链接上传svn,svn 软链接问题

chinaunix网友2009-07-13 14:05我是Mysql 数据库同步:现状是:slave_io_running:no, slave_sql_running:yeslast_err: 是[Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication ...

weixin_42144554的博客 497

1、2022 应用密码学与网络安全会议亮点与关键技术解读

2022年应用密码学与网络安全会议(ACNS 2022)在意大利罗马成功举办,会议涵盖了密码学与网络安全的多个前沿领域,包括键控全同态加密、隐私保护技术、区块链、后量子密码学和多方计算等。会议共收录44篇论文,展示了众多创新的研究成果,为学术研究和实际应用提供了新的思路和方法。本次会议促进了学术界和工业界的交流与合作,推动了密码学与网络安全行业的发展。

blue的专栏 182

一键开关机电路

一键开关机电路

让你爱上电路设计 4180

mysql-5.7.10-winx64 MySQL服务无法启动,服务没有报告任何错误的解决办法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34306676的博客 215

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

mysql设置数据库同步_简单的设置mysql同步的方法

如何正确设置MySQL同步?今天给大家系统介绍mysql同步的设置,在实际的应用中体会设置mysql同步的操作。我们今天主要向大家描述的是正确设置MySQL同步(replication)的实际操作步骤,下面就是文章的主要内容的描述。此文章主要向大家描述的是设置MySQL同步(replication)的实际操作流程,其中包括准备服务器,设置同步服务器,如果你对其实际操作步骤有兴趣了解的话,你就可以通...

weixin_30452659的博客 5534

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

mysql设置主从同步只读_MySql主从同步设置

主MySql服务器A:192.168.1.3从MySql服务器B:192.168.1.41、编辑A的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加log-bin=mysql-bin //开启MYSQL二进制日志server-id=1 //服务器ID不能重复binlog-do-db=lsnphp //需要主从同步的数据库,需要同步多个数据库,复制多次这个参数binlog-ig...

weixin_28893221的博客 694

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mysql设置同步_mysql设置主从同步

1、主从同步定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。使用主从同步的好处:通过增加从服务器来提高数...

weixin_35880510的博客 334

Mysql时间同步设置

最后我们讲解了怎样利用具名时间来设定时区,并提醒了在使用具名时间前需要确保mysql服务器已经加载了time zone tables。首先,我们需要了解MySQL中有两种主要类型的时间:系统时区和会话时区。如果你希望使用具名时间(如'Asia/Shanghai')而不是偏移量来设定时间,需要确保mysql服务器已经加载了time zone tables。MySQL是一种广泛使用的关系型数据库管理系统,它的时间同步设置是一个重要的操作,可以确保数据库中存储的时间数据与实际系统时间保持一致。

高性价比服务器就选:蓝易云 651

MYSQL 设置主从同步

MYSQL 设置主从同步

TaylorY的博客 350

mysql同步时间设置_mysql数据同步设置

使用的mysql版本:mysql4.0.Xmaster: 192.168.1.102slave: 192.168.1.109如果是win机子修改c:\winnt\my.ini 如果是linux的机子请修改 /etc/my.cnf一、master操作1、修改my.ini##############server-id=1log-bin=c:\mysql\logs\mysql_binary_logbin...

weixin_27038701的博客 721

设置 MySql 数据同步

  mysql从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。  数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf)  在unix环境下在/etc/mysql/my.cnf 或者在mysql用户的home目录下面的my.cnf。  window环境中,如果c:根目录下有my.cnf文件则取该

Lee的专栏 633

mysql 命令行 设置同步_MySQL同步(二) 设置同步

File 字段显示了二进制日志文件名,Position 字段显示了日志偏移位置。在这个例子中,日志文件是 mysql-bin.003,偏移位置是 73。记下这些值,在后面设置slave的时候就需要用到它们了。它们表示了slave要从master的哪个偏移位置开始处理更新操作。取得快照和记录下日志名及偏移位置后,就可以让master释放读锁了:mysql> UNLOCK TABLES;如果用到...

weixin_36164428的博客 591

mysql同步 linux_linux下的mysql 同步设置

一.设主服务器IP:10.35.51.1从服务器IP:10.35.51.2二. 主服务器端1.设置用户(目的是在从服务器上用此用户登录能够访问主服务器上要同步的那个数据库):GRANT FILE ON *.* TO 'yeshb'@'%' IDENTIFIED BY ‘123456’;//创建用户:yeshb;密码:123456GRANT REPLICATION slave ON *.* TO ‘...

weixin_33736210的博客 338

mysql 设置同步写_mysql数据库设置主从同步

mysql主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不负责,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力mysql主从同步的机制mysql主从同步是在mysql主从复制基础上实现的,通过设置在master mysql上的binlog(使其处于打开状态),slave mysql上通过一个I/O线程从master mysql上读取binlog,然后传输到slave...

weixin_35649605的博客 281

如何设置MySQL同步(Replication)

原贴:http://www.imysql.cn/node/73如何设置MySQL同步(Replication) 周一, 2006/07/03 - 09:15 — yejrMySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾、备份、恢复、负载均衡等都是有极大帮助的。本文描述了常见的同步设置方法。一、准备服务器由于MySQL不同版本之间的(二进制日

最实用的Linux博客 924

MySQL主从同步设置和同步错误处理

MySQL主从同步设置和同步错误处理   注意: 1、两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本。 2、MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同步。所以同步开始前,两端的数据要保持一致。 Master服务器:192.168.0.1 Slave服务器:192.168.0.2 ===

痞子的solitude专栏 568

MySQL同步(二) 设置同步

6.4 设置同步 以下描述了如何快速设置MySQL同步服务器。假设你打算同步全部的数据库,并且之前没有设置过。需要关闭master服务器以完成全部的步骤。 本章描述的过程可以用于一个slave的情况,也可以用于多个slave的情况。 这只是一个最直接设置slave的办法,并不是只有一个。例如,已经有了master的数据快照(snapshot),master已经设...

weixin_30835933的博客 87
上一篇: master to master replication
下一篇: Sql List
名茶
博客等级 码龄17年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值