深入浅出MySQL双向复制技能
配置MySQL数据同步(单向双向)由于公司的业务需求,须要网通和电信的数据同步,就做了个MySQL的双向同步,记下流程,以后用得到再翻出来,也贴出来供大家参考。 一、准备服务器 由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配
配置 MySQL数据同步(单向&双向)由于公司的业务需求,须要 网通和电信的数据同步,就做了个MySQL的双向同步,记下流程 ,以后用得到再翻出来,也贴出来供大家参考。
一、准备服务器
由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
more.. less.. 本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.27,操作系统是RedHat Linux 9。
假设同步Master的主机名为:A(IP:192.168.0.1),Slave主机名为:B(IP:192.168.0.2),2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/var/lib/mysql。
二、配置 同步服务器
1、配置 同步Master
修改 f 文件,在
# Replication Master Server (default)<br><br># binary logging is required for replication
添加如下内容:
log-bin=/var/log/mysql/updatelog<br><br>server-id = 1<br><br>binlog-do-db=test<br><br>binlog-ignore-db=mysql<br><br>
重启MySQL,建立 一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.2 IDENTIFIED BY 'back' ;<br><br>FLUSH PRIVILEGES ;<br><br>2、配置
同步Slave<br><br>修改f文件,添加<br><br>server-id = 2<br><br>master-host = 192.168.0.1<br><br>master-user = back<br><br>master-password = back<br><br>master-port = 3306<br><br>replicate-ignore-db=mysql (我的是Ver 14.14 Distrib 5.1.22-rc版,这个参数好像用不上)<br><br>replicate-do-db=test
重启MySQL
3、启动同步
在主服务器A MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+<br><br> File Position Binlog_Do_DB Binlog_Ignore_DB <br><br>+------------------+----------+-------------------+------------------+<br><br> updatelog.000028 313361 test mysql <br><br>+------------------+----------+-------------------+------------------+
在从服务器A MySQL命令符下:
slave stop;<br><br>CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;<br><br>slave start;<br><br>用show slave statusG;看一下从服务器的同步情况<br><br>Slave_IO_Running: Yes<br><br>Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步
往表里面写点数据测试一下看能不能 同步成功,如果不成功,绝对不是你的RP问题,再检查一下操作步骤!
4、配置 双向同步
修改B服务器的f,添加
log-bin=/var/log/mysql/updatelog<br><br>binlog-do-db=test<br><br>binlog-ignore-db=mysql
重启MySQL,建立 一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.1 IDENTIFIED BY 'back' ;<br><br>FLUSH PRIVILEGES ;
修改A服务器的f,添加
master-host = 192.168.0.2<br><br>master-user = back<br><br>master-password = back<br><br>master-port = 3306<br><br>replicate-ignore-db=mysql<br><br>replicate-do-db=test
重启MySQL
在主服务器B MySQL命令符下:
show master status;<br><br>+------------------+----------+-------------------+------------------+<br><br> File Position Binlog_Do_DB Binlog_Ignore_DB <br><br>+------------------+----------+-------------------+------------------+<br><br> updatelog.000028 13753 test mysql <br><br>+------------------+----------+-------------------+------------------+
在服务器A MySQL命令符下:
slave stop;<br><br>CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=13753;<br><br>slave start;
其实也就是A->B单向同步的反向操作!双向同步,就这么基本 啦!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











선형 복잡성에서 로그 복잡성까지 조회 시간을 줄이는 인덱스를 구축하여 MySQL 쿼리 성능을 최적화할 수 있습니다. SQL 삽입을 방지하고 쿼리 성능을 향상하려면 PREPAREDStatements를 사용하세요. 쿼리 결과를 제한하고 서버에서 처리되는 데이터의 양을 줄입니다. 적절한 조인 유형 사용, 인덱스 생성, 하위 쿼리 사용 고려 등 조인 쿼리를 최적화합니다. 쿼리를 분석하여 병목 현상을 식별하고, 캐싱을 사용하여 데이터베이스 로드를 줄이고, 오버헤드를 최소화합니다.

PHP에서 MySQL 데이터베이스를 백업하고 복원하는 작업은 다음 단계에 따라 수행할 수 있습니다. 데이터베이스 백업: mysqldump 명령을 사용하여 데이터베이스를 SQL 파일로 덤프합니다. 데이터베이스 복원: mysql 명령을 사용하여 SQL 파일에서 데이터베이스를 복원합니다.

MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? 데이터베이스에 연결: mysqli를 사용하여 데이터베이스에 대한 연결을 설정합니다. SQL 쿼리 준비: 삽입할 열과 값을 지정하는 INSERT 문을 작성합니다. 쿼리 실행: query() 메서드를 사용하여 삽입 쿼리를 실행하면 확인 메시지가 출력됩니다.

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

PHP에서 MySQL 저장 프로시저를 사용하려면: PDO 또는 MySQLi 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 저장 프로시저를 호출하는 문을 준비합니다. 저장 프로시저를 실행합니다. 결과 집합을 처리합니다(저장 프로시저가 결과를 반환하는 경우). 데이터베이스 연결을 닫습니다.

PHP를 사용하여 MySQL 테이블을 생성하려면 다음 단계가 필요합니다. 데이터베이스에 연결합니다. 데이터베이스가 없으면 작성하십시오. 데이터베이스를 선택합니다. 테이블을 생성합니다. 쿼리를 실행합니다. 연결을 닫습니다.

2025 년에 Global Digital Virtual Currency Trading Platform은 2025 년에 트랜잭션 볼륨, 보안 및 사용자 경험과 같은 지표를 기반으로 전 세계 10 대 디지털 가상 통화 거래 플랫폼을 권위있게 발표합니다. OKX는 강력한 기술 강점과 글로벌 운영 전략으로 1 위를 차지했으며 Binance는 높은 유동성과 낮은 수수료와 밀접한 관련이 있습니다. Gate.io, Coinbase 및 Kraken과 같은 플랫폼은 각각의 장점과 함께 최전선에 있습니다. 이 목록에는 Huobi, Kucoin, Bitfinex, Crypto.com 및 Gemini와 같은 거래 플랫폼이 각각 고유 한 특성을 지니고 있지만 투자는 신중해야합니다. 플랫폼을 선택하려면 보안, 유동성, 수수료, 사용자 경험, 통화 선택 및 규제 준수와 같은 요소를 고려해야합니다.

PHP는 MySQL 테이블의 데이터를 삭제하기 위해 다음 방법을 제공합니다. DELETE 문: 테이블에서 조건과 일치하는 행을 삭제하는 데 사용됩니다. TRUNCATETABLE 문: 자동 증가된 ID를 포함하여 테이블의 모든 데이터를 지우는 데 사용됩니다. 실제 사례: HTML 양식과 PHP 코드를 사용하여 데이터베이스에서 사용자를 삭제할 수 있습니다. 양식은 사용자 ID를 제출하고 PHP 코드는 DELETE 문을 사용하여 사용자 테이블에서 ID와 일치하는 레코드를 삭제합니다.
