MySQL5.5主从同步配置及问题
安装网上的一些文章配置MySQL的主从同步机制,无奈重启从MySQL时出现异常,说不认识参数master_host /usr/sbin/mysqld: unknown variable master_host=10.0.2.160 原来我使用的是MySQL5.5,而大部分配置是基于5.5之前的版本的,Mysql版本从5.1.7以后开始就不
安装网上的一些文章配置MySQL的主从同步机制,无奈重启从MySQL时出现异常,说不认识参数master_host
/usr/sbin/mysqld: unknown variable ‘master_host=10.0.2.160′
原来我使用的是MySQL5.5,而大部分配置是基于5.5之前的版本的,Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数。详情可以查看http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html
MySQL 复制配置主从同步
A B 为两台 MySQL 服务器,均开启二进制日志,数据库版本 MySQL 5.5。
在两台服务器上编辑配置文件,以下配置添加到[mysqld]
一.MySQL数据库迁移
首先如果要同步已经存在的MySQL数据,我们最好先通过全量同步到从库。
同步的方法可以参考:
1.
2.MySQL下的数据库迁移
二.服务器配置
[A 主服务器10.0.2.160]
server-id = 1 binlog-ignore-db = mysql binlog-ignore-db =?information_schema sync-binlog = 1
[B 从服务器10.0.2.151]
server-id = 2 replicate-ignore-db = mysql replicate-ignore-db =?information_schema
重新启动MySQL服务。
使用命令?SHOW MASTER STATUS
查看主服务状态:
mysql> SHOW MASTER STATUS; +---------------------+----------+--------------+--------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------------+----------+--------------+--------------------------+ | mysql-binlog.000001 | 525 | | mysql,information_schema | +---------------------+----------+--------------+--------------------------+ 1 row in set (0.00 sec)
主服务器A授权同步账户:
GRANT REPLICATION SLAVE ON *.* TO 'root'@'10.0.2.151' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
slave?start开启复制:
CHANGE MASTER TO MASTER_HOST='10.0.2.160',MASTER_USER='root', MASTER_PASSWORD='password',MASTER_LOG_FILE='?mysql-binlog.000001',MASTER_LOG_POS=106;
停止slave同步:mysql>slave?start
停止slave同步:mysql> slave stop
在slave服务器上使用show slave status查看slave同步的状态
mysql主从同步
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果上面为yes表示同步成功。
很不幸的是我第一次实验,上述参数都为No
解决:MySQL主从同步位置不一致
1.首先停掉Slave服务:
mysql> slave stop
2.到主服务器上查看主机状态:
记录File和Position对应的值。
mysql> SHOW MASTER STATUS; +---------------------+----------+--------------+--------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------------+----------+--------------+--------------------------+ | mysql-binlog.000002 | 958 | | mysql,information_schema | +---------------------+----------+--------------+--------------------------+ 1 row in set (0.00 sec)
3.到slave服务器上执行手动同步:
CHANGE MASTER TO MASTER_HOST='10.0.2.160',MASTER_USER='root', MASTER_PASSWORD='password',MASTER_LOG_FILE='?mysql-binlog.000002',MASTER_LOG_POS=958;
启动slave同步:slave start
再次查看slave状态发现:
Slave_IO_Running: Yes Slave_SQL_Running: Yes
如果上面为yes表示同步成功。
我们知道,因为DATA REPLICATION机制完全是基于在主上执行的增量SQL要被传播到辅服务器上,并且被成功运行。这就势必要求:在运行此机制前,主辅数据库中数据是一致的;以及在运行此机制中,辅数据库禁止来自其他的SQL(非主上传播过来SQL)的写操作。但是在运行中仍然可能遇到不一致的产生,这会导致通信无法正常继续下去。因此一旦主从出现问题,首先应该解决同步位置的问题,修复丢失的数据。
MySQL 复制配置双机互为主从
在两台服务器上编辑配置文件,以下配置添加到[mysqld]
一、服务器参数
[A 服务器 192.168.1.100]
server-id = 1 binlog-do-db = test binlog-ignore-db = mysql replicate-do-db = test replicate-ignore-db = mysql sync-binlog = 1
[B 服务器 192.168.1.101]
server-id = 2 binlog-do-db = test binlog-ignore-db = mysql replicate-do-db = test replicate-ignore-db = mysql sync-binlog = 1
二、操作步骤
# A B 服务器停止同步
STOP SLAVE;
# A B 服务器清空MASTER日志
RESET MASTER;
# A B 服务器清空SLAVE日志
RESET SLAVE;
# A 服务器授权同步账户 (我们会同步一次复制数据库文件,所以授权为192.168.1%)
GRANT REPLICATION SLAVE ON *.* TO 'master_slave'@'192.168.1%' IDENTIFIED BY 'master_slave123!@#'; FLUSH PRIVILEGES;
# A 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;
# 如果使用SSH,需要重新开启,复制数据库文件。
tar -cvf /tmp/mysql-data.tar /www/mysql tar -xvf /tmp/mysql-data.tar -C /
# 查看 A 服务器主机状态(记录二进制开始文件,位置)
SHOW MASTER STATUS;
# B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
FLUSH TABLES WITH READ LOCK;
# 修改 B 服务器配置 (修改为A服务器的主机状态)
CHANGE MASTER TO MASTER_HOST='192.168.1.100',MASTER_USER='master_slave', MASTER_PASSWORD='master_slave123!@#',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=106;
# 开启 B 服务器同步进程
START SLAVE;
# 查看 B 服务器同步状态是否正常
SHOW SLAVE STATUS;
# 查看 B 服务器主机(记录二进制开始文件,位置)
SHOW MASTER STATUS;
# 修改 A 服务器配置 (修改为B服务器的主机状态)
CHANGE MASTER TO MASTER_HOST='192.168.1.101',MASTER_USER='master_slave',MASTER_PASSWORD='master_slave123!@#',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=106;
# 开启 A 服务器同步进程
START SLAVE;
# 分别查看 A B 服务器同步状态,确定是否成功
SHOW SLAVE STATUS;SHOW MASTER STATUS;
# 解锁 A B 服务器
UNLOCK TABLES;
# 数据测试分别在 A B 服务器上创建表插入数据测试
DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `value` varchar(100) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; INSERT INTO `test` VALUES ('1', 'Hello');
注意:
1. 数据库目录下的master.info的内容会覆盖命令行或my.cnf中指定的部分选项,更改配置需删除master.info
2. my.cnf中的master配置在MySQL 6.0以后会取消,官方建议使用动态的CHANGE MASTER
3. 如果只指定ignore-db而不指定do-db。则新创建数据库的操作也会同步。
互为同步配置实例:
1. A B 互为主从同步test, 不同步mysql:
两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql
2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步
两个数据库配置中均设置:binlog-do-db=test,replicate-do-db=test
3. A B 互为主从不同步mysql, 同步其他数据库,譬如创建的新数据库也会同步
两个数据库配置中均设置:binlog-ignore-db=mysql,replicate-ignore-db=mysql
4. A B 互为主从同步所有数据库,包括新建的数据库
两个数据库配置中均不设置上述四项。
参考:
官网:http://dev.mysql.com/doc/refman/5.5/en/replication-howto-mysqldump.html
5.17之前的版本配置:http://www.drupal001.com/2012/03/mysql-master-slave-troubles/
MySQL 复制配置双机互为主从:http://www.ncq8.com/2010/10/250.html
原文地址:MySQL5.5主从同步配置及问题, 感谢原作者分享。

핫 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)

뜨거운 주제











Win11 시스템에서 중국어 언어 팩을 설치할 수 없는 문제 해결 Windows 11 시스템이 출시되면서 많은 사용자들이 새로운 기능과 인터페이스를 경험하기 위해 운영 체제를 업그레이드하기 시작했습니다. 그러나 일부 사용자는 업그레이드 후 중국어 언어 팩을 설치할 수 없어 경험에 문제가 있다는 사실을 발견했습니다. 이 기사에서는 Win11 시스템이 중국어 언어 팩을 설치할 수 없는 이유에 대해 논의하고 사용자가 이 문제를 해결하는 데 도움이 되는 몇 가지 솔루션을 제공합니다. 원인 분석 먼저 Win11 시스템의 무능력을 분석해 보겠습니다.

OracleVirtualBox의 가상 머신에 게스트 추가 기능을 설치하지 못할 수도 있습니다. Devices>InstallGuestAdditionsCDImage를 클릭하면 아래와 같이 오류가 발생합니다. VirtualBox - 오류: 가상 디스크를 삽입할 수 없습니다. C: 우분투 시스템에 FilesOracleVirtualBoxVBoxGuestAdditions.iso 프로그래밍 이 게시물에서는 어떤 일이 발생하는지 이해합니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. VirtualBox에 게스트 추가 기능을 설치할 수 없습니다. Virtua에 설치할 수 없는 경우

동기화 폴더에 있는 하나 이상의 항목이 Outlook의 오류 메시지와 일치하지 않는 경우 모임 항목을 업데이트하거나 취소했기 때문일 수 있습니다. 이 경우 로컬 버전의 데이터가 원격 복사본과 충돌한다는 오류 메시지가 표시됩니다. 이 상황은 일반적으로 Outlook 데스크톱 응용 프로그램에서 발생합니다. 동기화한 폴더에 있는 하나 이상의 항목이 일치하지 않습니다. 충돌을 해결하려면 프로젝트를 열고 작업을 다시 시도하십시오. 동기화된 폴더에 있는 하나 이상의 항목이 Outlook 오류와 일치하지 않는 문제 해결 Outlook 데스크톱 버전에서는 로컬 일정 항목이 서버 복사본과 충돌할 때 문제가 발생할 수 있습니다. 하지만 다행히도 도움을 줄 수 있는 몇 가지 간단한 방법이 있습니다.

바이두 넷디스크 설치 파일을 성공적으로 다운로드 받았으나 정상적으로 설치가 되지 않는 경우, 소프트웨어 파일의 무결성에 문제가 있거나, 잔여 파일 및 레지스트리 항목에 문제가 있을 수 있으므로, 본 사이트에서 사용자들이 주의깊게 확인해 보도록 하겠습니다. Baidu Netdisk가 성공적으로 다운로드되었으나 설치가 되지 않는 문제에 대한 분석입니다. 바이두 넷디스크 다운로드에 성공했지만 설치가 되지 않는 문제 분석 1. 설치 파일의 무결성 확인: 다운로드한 설치 파일이 완전하고 손상되지 않았는지 확인하세요. 다시 다운로드하거나 신뢰할 수 있는 다른 소스에서 설치 파일을 다운로드해 보세요. 2. 바이러스 백신 소프트웨어 및 방화벽 끄기: 일부 바이러스 백신 소프트웨어 또는 방화벽 프로그램은 설치 프로그램이 제대로 실행되지 않도록 할 수 있습니다. 바이러스 백신 소프트웨어와 방화벽을 비활성화하거나 종료한 후 설치를 다시 실행해 보세요.

Linux에 Android 애플리케이션을 설치하는 것은 항상 많은 사용자의 관심사였습니다. 특히 Android 애플리케이션을 사용하려는 Linux 사용자의 경우 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 익히는 것이 매우 중요합니다. Linux에서 직접 Android 애플리케이션을 실행하는 것은 Android 플랫폼에서만큼 간단하지는 않지만 에뮬레이터나 타사 도구를 사용하면 여전히 Linux에서 Android 애플리케이션을 즐겁게 즐길 수 있습니다. 다음은 Linux 시스템에 Android 애플리케이션을 설치하는 방법을 소개합니다.

Linux Bashrc 이해: 기능, 구성 및 사용법 Linux 시스템에서 Bashrc(BourneAgainShellruncommands)는 시스템 시작 시 자동으로 실행되는 다양한 명령과 설정이 포함된 매우 중요한 구성 파일입니다. Bashrc 파일은 일반적으로 사용자의 홈 디렉토리에 있으며 숨겨진 파일입니다. 해당 기능은 사용자를 위해 Bashshell 환경을 사용자 정의하는 것입니다. 1. Bashrc 기능 설정 환경

Docker를 사용해 본 적이 있다면 데몬, 컨테이너 및 해당 기능을 이해해야 합니다. 데몬은 컨테이너가 시스템에서 이미 사용 중일 때 백그라운드에서 실행되는 서비스입니다. Podman은 Docker와 같은 데몬에 의존하지 않고 컨테이너를 관리하고 생성하기 위한 무료 관리 도구입니다. 따라서 장기적인 백엔드 서비스 없이도 컨테이너를 관리할 수 있는 장점이 있습니다. 또한 Podman을 사용하려면 루트 수준 권한이 필요하지 않습니다. 이 가이드에서는 Ubuntu24에 Podman을 설치하는 방법을 자세히 설명합니다. 시스템을 업데이트하려면 먼저 시스템을 업데이트하고 Ubuntu24의 터미널 셸을 열어야 합니다. 설치 및 업그레이드 프로세스 중에 명령줄을 사용해야 합니다. 간단한

고등학교에서 공부하는 동안 일부 학생들은 매우 명확하고 정확한 필기를 하며, 같은 수업을 받는 다른 학생들보다 더 많은 필기를 합니다. 어떤 사람들에게는 노트 필기가 취미인 반면, 어떤 사람들에게는 중요한 것에 대한 작은 정보를 쉽게 잊어버릴 때 필수입니다. Microsoft의 NTFS 응용 프로그램은 정규 강의 외에 중요한 메모를 저장하려는 학생들에게 특히 유용합니다. 이 기사에서는 Ubuntu24에 Ubuntu 애플리케이션을 설치하는 방법을 설명합니다. Ubuntu 시스템 업데이트 Ubuntu 설치 프로그램을 설치하기 전에 Ubuntu24에서 새로 구성된 시스템이 업데이트되었는지 확인해야 합니다. 우분투 시스템에서 가장 유명한 "a"를 사용할 수 있습니다
