MySQL 提供 Master/Slave 機制讓您輕易的完成多個 MySQL Server 之間的資料同步,有了多個資料同步的 MySQL Server 在管理上會較有彈性,例如你可以建置備援主機或是進行負載平衡等等。但是要注意:一台 Master Server 可以擁有很多台 Slave Server;但一台 Slave Server 只可對應到一台 Master Server。
架設步驟:
[事前準備]
1. 確保 Master 與 Slave 之間的資料一致
[Master Server 方面]
1. 設定 Server-id
2. 開啟 Binary Log
3. 設定 Replication Slave 權限
[Slave Server 方面]
1. 設定 Server-id
2. 將 Master_Host 設定為 Master Server
3. 啟動與檢查 Slave Server 的狀態
在此範例中我們假設:
[Master Server]
1. IP 為 192.168.1.1
2. server-id 為 1
3. 進行資料同步時所使用的帳號資訊:
帳號: slave_server
密碼: 12345678
[Slave Server]
1. IP 為 192.168.1.2
2. server-id 為 2
Master/Slave Server 架設
一、Master Server 方面
A.設定 Server-id
首先要設定 server-id。基本上沒有什麼特別的限制,只要 Master 和 Slave 的 server-id 不一樣即可,但其值必需為 1 至 2^32-1 之間。但為了方便識別,通常我們會把這個值設定為 IP 的最後一組數字,例如若 IP 為 192.168.1.1,則 server-id 設定為 1;若 IP 為 192.168.1.2,則 server-id 設定為 2。
[mysqld]
server-id=1
B.開啟 Binary Log
修改 MySQL Server 的系統設定檔,在 [mysqld] 下方加上 log-bin=mysql-bin,例如:
引用
[mysqld]
log-bin=mysql-bin
MySQL 的 Binary Log 會將所有對於資料庫的修改操作全部記錄起來,而 Slave 與 Master 之間進行資料同步的方式很簡單,就是 Slave 會把 Master Server 的 Binary Log 拿過來執行,也就是說 Slave Server 會 "重做" 在 Master Server 上發生的各種修改操作。因此 Master Server 勿必要開啟 Binary Log 功能,否則 Master/Slave 架構無法運作。
C.設定 Replication Slave 權限
我們必須要在 Master Server 上做設定,讓 Slave 具有可以從 Master Server 上 Copy 資料的權限(正式的說法為 Replication Slave Priviledges),所需使用的指令如下:
GRANT REPLICATION SLAVE ON *.* TO 'slave_server'@'192.168.1.2',IDENTIFIED BY '12345678'
意思為:
1. 允許 192.168.1.2 這個 IP 使用 slave_server 帳號,來進行資料同步(Replication)。
2. slave_server 這個帳號的密碼為 12345678。
此時您可以從 Slave Server(192.168.1.2) 使用 mysql client program 進行驗證,看是否有正確的開啟權限,例如使用以下的指令:(注意,是在 Slave Server 上進行驗證)
引用
mysql -h 192.168.1.1 -u slave_server -p
接著系統會要求您輸入密碼,若可以順利登入即表示設定成功。
二、Slave Server 方面
A.設定 Server-id
在 Slave 我們將其設定為 2:
引用
[mysqld]
server-id=2
B.將 Master_Host 設定為 Master Server
我們必須要明確的告訴 Slave Server 哪一台 Server 才是 Master Server,使用以下的指令即可:
引用:
CHANGE MASTER TO MASTER_HOST='192.168.1.1',
MASTER_PORT=3306, MASTER_USER='slave_server',
MASTER_PASSWORD='12345678';
意思為:
1. Master Server 是 192.168.1.1
2. 使用 TCP Port 3306 連接
3. 使用 slave_server 這個帳號登入
4. 登入時使用的密碼為 12345678
C.啟動與檢查 Slave Server 的狀態
設定好後,Master/Slave 機制仍未啟動,您必須要使用以下的指令來開啟或關閉 Master/Slave 機制:
1. START slave; (啟動 Master/Slave 機制)
2. STOP slave; (停止 Master/Slave 機制)
當你執行 'START slave;' 後,可使用以下的指令來檢查執行狀態:
引用:
SHOW SLAVE STATUS \G
執行後應該會看到如下的報表:
引用
mysql> SHOW SLAVE STATUS \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.1
Master_User: slave_server
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000019
Read_Master_Log_Pos: 16492717
Relay_Log_File: www-relay-bin.000018
Relay_Log_Pos: 16492854
Relay_Master_Log_File: mysql-bin.000019
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: example
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 16492717
Relay_Log_Space: 16492854
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
重點是紅色那三行:
Slave_IO_Running:
是否要從 Master Server 複製 Binary Log 資料,必須為 Yes。
Slave_SQL_Running:
是否要執行從 Master Server 複製過來的 Binary Log 資料,必須為 Yes。
Seconds_Behind_Master:
Slave 的資料落後了 Master 多少秒,執行一段時間後應該會是零。
Master/Slave 的應用
vbulletin 原本即內建支援多台 MySQL Server 之間的負載平衡,只要你事先建立好 MySQL Master/Slave Server,並在 Slave Server 開放 Master Server 的權限,接下來只要在 vbb 的設定檔中做一些簡單的修改即可。
一、在 Master Server 方面
在此我們假設 Master 使用以下的帳號資訊登入 slave:
帳號: vbb_user
密碼: 12345678
修改 vbb 的系統設定檔:
引用
$config['Database']['dbtype'] = 'mysql_slave';
$config['SlaveServer']['servername'] = '192.168.1.2';
$config['SlaveServer']['port'] = 3306;
$config['SlaveServer']['username'] = 'vbb_user';
$config['SlaveServer']['password'] = '12345678';
二、在 Slave Server 方面
記得要開啟 Master 的權限:
GRANT ALL ON example.* to 'vbb_user'@'192.168.1.1',
IDENTIFIED BY '12345678';
然後再使用以下的指令確認是否正常運作:
引用
SHOW FULL PROCESSLIST;
分享到:
相关推荐
- 在进行slave配置修改时,如要改变配置,需先删除mysql数据库目录下的master.info文件,否则修改不会生效。 - 当同步出现错误时,错误信息会记录在*.err日志文件中。错误修复后,需要运行slave start命令来恢复同步...
4.4 修改从库的`/etc/my.cnf`文件,同样设置`server-id`,并开启`slave-skip-thread-id`,以允许从库连接主库。 4.5 在主库上执行操作系统级别的快照,使用`tar`命令打包整个MySQL数据目录,形成一个gz压缩文件。 ...
最后,使用`CHANGE MASTER TO`命令设置从库为SLAVE状态,开始实时复制主库的变更。 以上就是VMware Debian环境下MySQL的安装和数据库复制的基本流程。在实际操作中,还需要关注安全、性能优化和监控等方面,以确保...
基于arm64版本的docker-compose文件
台区终端电科院送检文档
埃夫特机器人Ethernet IP 通讯配置步骤
rv320e机器人重型关节行星摆线减速传动装置研发
气缸驱动爬杆机器人的设计().zip
56tgyhujikolp[
内容概要:本文档提供了基于OpenCV的数字身份验证系统的Python代码示例,涵盖人脸检测、训练和识别三个主要功能模块。首先,通过调用OpenCV的CascadeClassifier加载预训练模型,实现人脸检测并采集多张人脸图像用于后续训练。接着,利用LBPH(局部二值模式直方图)算法对面部特征进行训练,生成训练数据集。最后,在实际应用中,系统能够实时捕获视频流,对比已有的人脸数据库完成身份验证。此外,还介绍了必要的环境配置如依赖库安装、文件路径设置以及摄像头兼容性的处理。 适合人群:对计算机视觉感兴趣的研发人员,尤其是希望深入了解OpenCV库及其在人脸识别领域的应用者。 使用场景及目标:适用于构建安全认证系统的企业或机构,旨在提高出入管理的安全性和效率。具体应用场景包括但不限于门禁控制系统、考勤打卡机等。 其他说明:文中提供的代码片段仅为基本框架,可根据实际需求调整参数优化性能。同时提醒开发者注意隐私保护法规,合法合规地收集和使用个人生物识别信息。
内容概要:本文档详细介绍了Java并发编程的核心知识点,涵盖基础知识、并发理论、线程池、并发容器、并发队列及并发工具类等方面。主要内容包括但不限于:多线程应用场景及其优劣、线程与进程的区别、线程同步方法、线程池的工作原理及配置、常见并发容器的特点及使用场景、并发队列的分类及常用队列介绍、以及常用的并发工具类。文档旨在帮助开发者深入理解和掌握Java并发编程的关键技术和最佳实践。 适合人群:具备一定Java编程经验的研发人员,尤其是希望深入了解并发编程机制、提高多线程应用性能的中级及以上水平的Java开发者。 使用场景及目标:①帮助开发者理解并发编程的基本概念和技术细节;②指导开发者在实际项目中合理运用多线程和并发工具,提升应用程序的性能和可靠性;③为准备Java技术面试的候选人提供全面的知识参考。 其他说明:文档内容详尽,适合用作深度学习资料或面试复习指南。建议读者结合实际编码练习,逐步掌握并发编程技巧。文中提到的多种并发工具类和容器,均附有具体的应用场景和注意事项,有助于读者更好地应用于实际工作中。
这个数据集包含了日常步数统计、睡眠时长、活跃分钟数以及消耗的卡路里,是个人健康与健身追踪的一部分。 该数据集非常适合用于以下实践: 数据清洗:现实世界中的数据往往包含缺失值、异常值或不一致之处。例如,某些天的步数可能缺失,或者存在不切实际的数值(如10,000小时的睡眠或负数的卡路里消耗)。通过处理这些问题,可以学习如何清理和准备数据进行分析。 探索性分析(发现日常习惯中的模式):可以通过分析找出日常生活中的模式和趋势,比如一周中哪一天人们通常走得最多,或是睡眠时间与活跃程度之间的关系等。 构建可视化图表(步数趋势、睡眠与活动对比图):将数据转换成易于理解的图形形式,有助于更直观地看出数据的趋势和关联。例如,绘制步数随时间变化的趋势图,或是比较睡眠时间和活动量之间的关系图。 数据叙事(将个人风格的追踪转化为可操作的见解):通过讲述故事的方式,把从数据中得到的洞察变成具体的行动建议。例如,根据某人特定时间段内的活动水平和睡眠质量,提供改善健康状况的具体建议。
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
nginx
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
模拟知识付费小程序,可流量主运营模式
什么是普通上传 调用接口一次性完成一个文件的上传。 普通上传2个缺点 文件无法续传,比如上传了一个比较大的文件,中间突然断掉了,需要重来 大文件上传太慢 解决方案 分片上传
英二2010-2021阅读理解 Part A 题干单词(补).pdf
2023-04-06-项目笔记-第四百五十五阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.453局变量的作用域_453- 2025-04-01