MySQL의에서 기본 및 백업 데이터베이스

의 image.png


콜드 백업 :

  콜드 백업 부품, 정지 촬영 서비스 패키지 디렉토리 데이터 mysql을 직접, tar 명령,

의 image.png

> hellodb.sql이 방법은 데이터베이스를 삭제 한 후 hellodb, 당신은 테이블 및 데이터 복구 내부의 라이브러리 안에 넣을 수 있지만, 라이브러리를 복원 할 수 있도록하는 경우, 백업 라이브러리를 만들 수있는 방법이 아니다 hellodb (라이브러리 이름) mysqldump에;

mysqldump를 hellodb -B (라이브러리 명)> hellodb.sql이 방법뿐만 아니라 백업 할 저장소 테이블의 내부 데이터 및 것 또한 백업 라이브러리를 만드는 방법;

mysqldump에 백업 부품 데이터 라이브러리 -A, 백업 부품 MySQL을 자동으로 부여 감지 데이터 베이스를 , 그것을 촬영하는 것이 좋습니다. MySQL의 라이브러리와 라이브러리는 아래로 데이터 백업 등 사용자 정의 생성 될 것입니다;


mysqldump에 백업 부품 데이터 라이브러리 , -R 백업 모든 메모리 복사본 저장 관통 프로세스 자동 설정 -defined 기능;


mysqldump를 -A 전체 백업 + mysqlbinlog로 구성보기 바이너리 로그 현재 전체 백업 플래그 전에 전체 백업 후 바이너리 로그 증분 백업을 만드는 데 사용되는 라이브러리를 계속 작동하는 경우

   > mysqldump는 -A> xx.sql (케이스보기 마스터 로그의 MySQL-bin.000001 위이다 8099 참조)

   > mysqlbinlog --start-position=8099 /data/bin/mysql-bin.000001 > /data/backup/inc.sql(这个操作会将标记位8099后的对数据库的操作记载下来,不会记载8099前的)

 > 在恢复数据时,先恢复全局备份,然后再恢复增量备份;



InnoDB选项

  支持热备,可用温备但不建议用 --single-transaction 此选项Innodb中推荐使用,不适用MyISAM,此选项会开始备份前,先执行START TRANSACTION指令开启事务 此选项通过在单个事务中转储所有表来创建一致的快照。 仅适用于存储在支持多版本控制的存储引擎中的表(目 前只有InnoDB可以); 转储不保证与其他存储引擎保持一致。 在进行单事务转储时,要确保有效的转储文件(正 确的表内容和二进制日志位置),没有其他连接应该使用以下语句:ALTER TABLEDROP TABLERENAME TABLETRUNCATE TABLE此选项和--lock-tables(此选项隐含提交挂起的事务)选项是相互排斥备份大型表 时,建议将--single-transaction选项和--quick结合一起使用

 InnoDB建议备份策略 mysqldump –uroot –A –F –E –R --single-transaction --master-data=1 --flush-privileges -- triggers --default-character-set=utf8 --hex-blob > $BACKUP/fullbak_$BACKUP_TIME.sql

   推荐的InnoDB选项 mysqldump -A --single-transaction --master-data=1 --hex-blob > /data/backup/fullbak_`date +%F`.sql


  一个Innodb分库备份的脚本

      #!/bin/bsah 

      for db in `mysql -e 'show databases'|grep -Evi 'information_schema|performance_schema|test|Database'`;do 

               mysqldump -B ${db} --single-transaction --master-data=2 |gzip > /data/backup/${db}_`date +%F`.sql.gz 

      done


MyISAM选项

   支持温备;不支持热备,所以必须先锁定要备份的库,而后启动备份操作 锁定方法如下: -x,--lock-all-tables:加全局读锁,锁定所有库的所有表,同时加--singletransaction--lock-tables 选项会关闭此选项功能 注意:数据量大时,可能会导致长时间无法并发访问数据库 -l,--lock-tables:对于需要备份的每个数据库,在启动备份之前分别锁定其所有表,默认为on,--skip-locktables选项可禁用,对备份MyISAM的多个库,可能会造成数据不一致 注:以上选项对InnoDB表一样生效,实现温备,但不推荐使用 

  MyISAM建议备份策略 mysqldump –uroot –A –F –E –R –x --master-data=1 --flush-privileges --triggers --defaultcharacter-set=utf8 --hex-blob > $BACKUP/fullbak_$BACKUP_TIME.sql





mysql的主从

在主节点上开启二进制日志,从节点上开启中继日志,而且server_id的编号主从不能相同,

主例子:

의 image.png

从:


의 image.png


在主服务器上创建一个有权限同步的用户

  GRANT REPLICATION SLAVE ON * * '로 식별 TO의 repluser@'192.168.23.148. 123456' ';   

서버에서 :

CHANGE MASTER TO MASTER_HOST = 'master2.mycompany.com', MASTER_USER = '복제', MASTER_PASSWORD = 'bigs3cret', MASTER_PORT = 3306, MASTER_LOG_FILE = 'MASTER2-bin.001', MASTER_LOG_POS = 4;

노예를 시작합니다;










  

추천

출처blog.51cto.com/14240018/2449503