欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql主從及遇到的問題解決

 更新時間:2025年01月04日 10:09:20   作者:與民更始  
本文詳細介紹了如何使用Docker配置MySQL主從復制,首先創(chuàng)建了兩個文件夾并分別配置了`my.cnf`文件,通過執(zhí)行腳本啟動容器并配置好主從關系,文中還提到了一些常見問題的解決方法,如配置路徑錯誤導致的沖突和slave的change連接錯誤

mysql主從及遇到問題解決

1.基于mysql 8.0的docker

2.配置mysql的配置

  • 創(chuàng)建master文件夾,并創(chuàng)建my.cnf文件:
[mysqld]
## 設置server_id,注意要在同一局域網(wǎng)內(nèi)唯一
server-id=1
## 開啟binlog
log-bin=mysql-bin
## binlog格式(mixed、statement、row,默認格式是statement)
binlog_format=mixed
  • 創(chuàng)建slaver文件夾,并創(chuàng)建my.cnf文件
[mysqld]
## 設置server_id,注意要唯一
server-id=2
## 可以開啟binlog,以備Slave作為其它Slave的Master時使用
#log-bin=mysql-bin
## relay_log配置中繼日志
relay_log=relay-bin
## 如果需要同步函數(shù)或者存儲過程
log_bin_trust_function_creators=true
## binlog格式(mixed、statement、row,默認格式是statement)
binlog_format=mixed
## 跳過主從復制中遇到的所有錯誤或指定類型的錯誤,避免slave端復制中斷
## 如:1062錯誤是指一些主鍵重復,1032錯誤是因為主從數(shù)據(jù)庫數(shù)據(jù)不一致
slave_skip_errors=1062   ## 跳過主從復制中遇到的錯誤,可配可不配
read-only=1 #1只讀,0讀寫
  • 同級可以創(chuàng)建sh文件
#!/bin/sh
# $0獲取執(zhí)行命令的文件;realpath獲取真實的路徑;dirname獲取該文件的絕對路徑
script_dir=$(dirname "$(realpath "$0")")
docker run -itd --name doyen$1 -p ${2}:3306 -e MYSQL_ROOT_PASSWORD=123456 \
-v ${script_dir}/${1}/my.cnf:/etc/my.cnf \
-v ${script_dir}/${1}/data:/var/lib/mysql \
-v ${script_dir}/${1}/log:/var/log --restart always mysql:8.0
  • 分別執(zhí)行sh:
#啟用master容器,master文件名,3306端口
sh mysql.sh master 3306

#啟用slaver容器,slaver文件名,3307端口
sh mysql.sh master 3307
  • 登錄master容器
#進入容器,如果失敗使用 sh
docker exec -it master bash
#登錄mysql
mysql -uroot -p123456
use mysql;
#可以移除root的所有地區(qū)登錄,只保留能本機登錄
drop user 'root'@'%';
#創(chuàng)建slaver用戶,使用明文密碼連接
create user 'slaver'@'%' identified with mysql_native_password by '123456';
grant replication SLAVE ON *.* TO 'slaver'@'%';
flush privileges;

#查看binlog的數(shù)據(jù),用于slaver的偏移量遷移
show master status;
  • 登錄slaver服容器
#master_log_file和master_log_pos 為master中show展示的數(shù)據(jù)
change master to master_host='master-ip',
                     master_port=3306,
					 master_user='slaver',
					 master_password='123456',
					 master_log_file='mysql-bin.000002',
					 master_log_pos=157;
start SLAVE;
show slave status\G;

主從mysql完成,Slave_IO_RunningSlave_SQL_Running 都為 Yes。

遇到的問題說明

一些博客提示mysql的配置位置不對,導致路徑映射不對,使用默認的配置,引發(fā)serverId都是1,會主從沖突,位置為 /etc/my.cnf,修改配置后需要docker restart。

查詢文件:

docker exec -it container find / -name "my.cnf"

如果slave的change連接master寫錯了,可以執(zhí)行stop slave;reset slave;再重新綁定。

這是重頭開始復制,如果master已經(jīng)運行了一段時間

#master容器:全量dump,--source-data=2表示生成的備份文件中包含 CHANGE MASTER TO 語句
#--single-transaction: 保證備份在一致性點上完成
#--flush-logs: 在備份開始時刷新 MySQL 的二進制日志
#--hex-blob: 處理二進制字段時使用十六進制表示

mysqldump -u root -p --all-databases --source-data=2 --single-transaction --flush-logs --hex-blob > /var/lib/mysql/full-backup.sql

#將master的該文件mv到slaver的映射路徑中,進入slaver容器

mysql -u root -p < full-backup.sql

#執(zhí)行完后再配置binlog同步點,從sql文件中找出偏移量

CHANGE MASTER TO 。。。

#-------------------------------二。數(shù)據(jù)太多,只dump表結構-------
mysqldump -u root -p123456 --no-data --databases your_database > schema-only.sql
mysql -u root -p123456 < schema-only.sql

start slave;

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL數(shù)據(jù)庫查看日志操作指南

    MySQL數(shù)據(jù)庫查看日志操作指南

    這篇文章主要介紹了MySQL數(shù)據(jù)庫查看日志操作的相關資料,文中講了MySQL中的四種日志,分別是錯誤日志、二進制日志、查詢?nèi)罩竞吐樵內(nèi)罩?需要的朋友可以參考下
    2025-02-02
  • 安全快速修改Mysql數(shù)據(jù)庫名的5種方法

    安全快速修改Mysql數(shù)據(jù)庫名的5種方法

    mysql中如何重命名數(shù)據(jù)庫?這篇文章主要介紹了安全快速修改Mysql數(shù)據(jù)庫名的5種方法,需要的朋友可以參考下
    2014-04-04
  • SQL中日期與字符串互相轉(zhuǎn)換操作實例

    SQL中日期與字符串互相轉(zhuǎn)換操作實例

    我們經(jīng)常出于某種目的需要使用各種各樣的日期格式,當然我們可以使用字符串操作來構造各種日期格式,下面這篇文章主要給大家介紹了關于SQL中日期與字符串互相轉(zhuǎn)換操作的相關資料,需要的朋友可以參考下
    2022-10-10
  • K8s 如何部署 MySQL 8.0.20 主從復制結構

    K8s 如何部署 MySQL 8.0.20 主從復制結構

    這篇文章主要介紹了K8s 如何部署 MySQL 8.0.20 主從復制結構,本次使用 OpenEBS 來作為存儲引擎,OpenEBS 是一個開源的、可擴展的存儲平臺,它提供了一種簡單的方式來創(chuàng)建和管理持久化存儲卷,需要的朋友可以參考下
    2024-04-04
  • 查看本地MYSQL數(shù)據(jù)庫IP地址的三種方法

    查看本地MYSQL數(shù)據(jù)庫IP地址的三種方法

    本文介紹了多種方法來查看連接到本地MySQL服務器的IP地址,括使用SQL查詢從`information_schema.processlist`獲取IP地址,并通過`group by`進行統(tǒng)計,以及通過命令行工具如`mysql`和`awk`進行過濾和計數(shù),這些方法有助于監(jiān)控和管理數(shù)據(jù)庫連接,需要的朋友可以參考下
    2024-10-10
  • MySQL分庫分表后路由策略設計詳情

    MySQL分庫分表后路由策略設計詳情

    這篇文章主要介紹了MySQL分庫分表后路由策略設計詳情,分庫分表后設計到的第一個問題就是,如何選擇路由key,應該如何對key進行路由
    2022-08-08
  • Mysql+Navicat16長期免費直連數(shù)據(jù)庫安裝使用超詳細教程

    Mysql+Navicat16長期免費直連數(shù)據(jù)庫安裝使用超詳細教程

    這篇文章主要介紹了Mysql+Navicat16長期免費直連數(shù)據(jù)庫安裝教程,這里下載的是mysql8版本,第一個安裝包比較小, 第二個安裝包比較大, 因為包含調(diào)試工具,我這里下載的是第一個,詳細介紹跟隨小編一起看看吧
    2023-11-11
  • MySQL中數(shù)據(jù)查詢語句整理大全

    MySQL中數(shù)據(jù)查詢語句整理大全

    查詢語句是以后在工作中使用最多也是最復雜的用法,如何精準的查詢出想要的結果以及用最合理的邏輯去查詢尤為重要,下面這篇文章主要給大家介紹了關于MySQL中數(shù)據(jù)查詢語句的相關資料,需要的朋友可以參考下
    2023-04-04
  • 深入分析MySQL 的備份和恢復機制

    深入分析MySQL 的備份和恢復機制

    備份對于數(shù)據(jù)庫來說是相當重要的工作。如果數(shù)據(jù)庫在使用過程中出現(xiàn)了問題,比如系統(tǒng)崩潰、硬件故障或錯誤的刪除了數(shù)據(jù)。這時,如果我們進行了數(shù)據(jù)備份,就能比較方便的使數(shù)據(jù)庫恢復工作,并使我們的數(shù)據(jù)損失到最小。下面我們來詳細探討下數(shù)據(jù)庫的備份與恢復。
    2016-11-11
  • MySQL查詢用戶權限的方法總結

    MySQL查詢用戶權限的方法總結

    這篇文章主要介紹了MySQL查詢用戶權限的方法總結內(nèi)容,需要的朋友們可以參考下。
    2020-03-03

最新評論