데이터 베이스 MySQL 튜토리얼 小记一次mysql主从配置解决方案_MySQL

小记一次mysql主从配置解决方案_MySQL

May 30, 2016 pm 05:10 PM
mysql

  今天研究了个开源项目,数据库是mysql的,其中的脚本数据需要备份,由于本人的机器时mac pro,而且mac下的数据库连接工具都不怎么好用,就想着如何利用windows下的数据库连接工具使用,并做相关备份,另外windows系统下的sqlyog工具还是非常强大的,在此推荐。

  因此为了使用sqlyog等windows系统下的连接工具,便开始了一天的折腾。

  首先两种思路,其一是利用另外一台宏碁笔记本电脑,直接在其上安装sqlyog使用,通过无线局域网进行连接使用,这种方式太过麻烦,而且来回换电脑很麻烦,远程连接使用也很慢。其二是安装虚拟机,在虚拟机上安装连接工具。

  由于本人的mac pro已经安装mysql数据库,并且已经安装了virtualbox虚拟机并安装了windows7系统,并在windows7系统中也安装了mysql。

  1.在虚拟机win7系统中安装sqlyog,直接连接mac系统的mysql,并导出备份,这个很简单。(当然要注意虚拟机与mac机器的网络连接是通的)

    1)首先要设置虚拟机网卡设置,选择桥接模式,virtualbox这类虚拟机的桥接模式的概念是虚拟机作为网络中的一台单独的机器,有自己的ip,与局域网中的ip是想通的,

      设置virtualbox的桥接模式如图所示

     !

      

这样按照图中的设置,虚拟机根主机就可以相互访问了。

  2)利用sqlyog进行连接

  

对了 还有一点需要注意的是,由于局域网ip可能不会固定,正好本人用的是小米路由器,有绑定设备ip的功能,这样ip就固定啦

从上面的图中可以看出,主机ip跟虚拟机ip是独立的啦。

2.mysql主从备份的方式,mac pro为主master,虚拟机为从slave

1)首先由于mac电脑mysql客户端安装完成后,默认是没有my.cnf文件的,即使修改了/usr/local/mysql/的相关配置也是没有用的,这就需要自定义mysql配置了,将/usr/local/mysql/support-files/中的my-default.cnf 文件 拷贝到/etc目录下,当然这里也遇见问题了,服务启动不了了

这就需要在配置文件中加入explicit_defaults_for_timestamp=true

2)修改配置文件,如下所示

3)修改虚拟机中的mysql目录中的my.cnf

修改mysqld节点

4)重启master及slave并查看状态

查看master状态

查看slave状态

当看到上面两张图片的时候则证明配置成功,当然本人并没有那么顺利,中途遇到了很多问题

其一:Got fatal error 1236 from master when reading data from binary log
这中问题按照网上大部分的解决方法是,首先查看master的状态,并记录下相关信息
比如信息为:


要记录下file:mysql-bin.000002 position:16093
并在slave中执行:

这种方式应该是没有问题的。如果上面这种方式不行,可以试试下面这种,本人试了试应该是没问题,

(这种方式本人可以可能是因为本人配置的时候没有按照规范来,导致主从不一致的原因)

其二:Slave can not handle replication events with the checksum that master is configured to log
  这个错误一般出现在master5.6,slave在低版本的情况下。这是由于5.6使用了crc32做binlog的checksum。除了把master的设置从crc32改到none
  binlog-checksum = none [my.cnf]

其三:本人今天花费了大量的时间主要原因便是这点了,本人在虚拟机里查看slave状态显示都正确,

但是本人通过虚拟机的连接工具,将master数据库中添加了一张表并插入数据,但是总是没有同步到从mysql,于是查看进程
从mysql进程

master进程

这点问题也就是纠结了一天的问题,当然也没有找出具体原因,看提示原因貌似是什么进程已经睡眠的原因,但是为啥睡眠没搞明白,查看slave hosts也没有查到

当然最后,没办法了,纠结了很久也没有发现什么原因的情况下,本人直接在mac机器上直接通过终端插入数据,居然成功了。。。无语。。不过最终能够同步了至少还有点欣慰。至于什么出现这个问题要找时间好好查找原因了。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP의 빅데이터 구조 처리 능력 PHP의 빅데이터 구조 처리 능력 May 08, 2024 am 10:24 AM

빅 데이터 구조 처리 기술: 청킹(Chunking): 데이터 세트를 분할하고 청크로 처리하여 메모리 소비를 줄입니다. 생성기: 전체 데이터 세트를 로드하지 않고 데이터 항목을 하나씩 생성하므로 무제한 데이터 세트에 적합합니다. 스트리밍: 파일을 읽거나 결과를 한 줄씩 쿼리하므로 대용량 파일이나 원격 데이터에 적합합니다. 외부 저장소: 매우 큰 데이터 세트의 경우 데이터를 데이터베이스 또는 NoSQL에 저장합니다.

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 03, 2024 pm 08:11 PM

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

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 12:19 PM

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

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? Jun 02, 2024 pm 02:26 PM

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

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

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

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? Jun 02, 2024 pm 02:13 PM

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

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? Jun 04, 2024 pm 01:57 PM

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

오라클 데이터베이스와 mysql의 차이점 오라클 데이터베이스와 mysql의 차이점 May 10, 2024 am 01:54 AM

Oracle 데이터베이스와 MySQL은 모두 관계형 모델을 기반으로 하는 데이터베이스이지만 호환성, 확장성, 데이터 유형 및 보안 측면에서 Oracle이 우수하고, MySQL은 속도와 유연성에 중점을 두고 중소 규모 데이터 세트에 더 적합합니다. ① Oracle은 광범위한 데이터 유형을 제공하고, ② 고급 보안 기능을 제공하고, ③ 엔터프라이즈급 애플리케이션에 적합하고, ① MySQL은 NoSQL 데이터 유형을 지원하고, ② 보안 조치가 적고, ③ 중소 규모 애플리케이션에 적합합니다.

See all articles