Menu
Woocommerce Menu

每台机器都安装msyql,1)备份还原

0 Comment


 
联级复制

 
注意:

配置从

  • 安装mysql
  • 查阅my.cnf,配置server-id=132,供给和主不相似
  • 改正完配置文件后,运转或然重启mysqld服务
  • 把主上aming库同步到从上
  • 能够先创建aming库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入aming库
  • mysql -uroot
  • stop slave;
  • change master to master_host=”, master_user=’repl’,
    master_password=”, master_log_file=”, master_log_pos=xx,
  • start slave;
  • 还要到主上实践 unlock tables

修正my.cnf配置文件,增多原委如下(id必要和主上不平等),保存退出

图片 1

图片 2

重启mysql

图片 3

将主上备份的数码拷贝到从当中,做数据苏醒

图片 4

创建库

图片 5

图片 6

图片 7

下一场做数据苏醒

图片 8

福寿双全基本同步

图片 9

图片 10

图片 11

反省立中学央是还是不是配备成功

图片 12

图片 13

回去主上实施unlock tables,解锁主库的表

图片 14

如此那般基本配置搭建达成。

 
半联机复制

MySQL主从介绍

  • MySQL主从又称为Replication、AB复制。轻便讲正是A和B两台机械做主从后,在A上写多少,其它大器晚成台B也会随之写多少,两者数据实时同步的
  • MySQL主从是基于binlog的,主上须开启binlog才具开展基本。
  • 基本进程大约有3个步骤
  • 1)主将改良操作记录到binlog里
  • 2)从将主的binlog事件(sql语句卡塔尔国同步到从本机上并记录在relaylog里
  • 3)从依据relaylog里面包车型大巴sql语句按梯次实践
  • 主上有二个log dump线程,用来和从的I/O线程传递binlog
  • 从上有五个线程,此中I/O线程用来同步主的binlog并生成relaylog,此外三个SQL线程用来把relaylog里面的sql语句落榜

MySQL主从常理图

图片 15

mysql主从利用情形

1、数据备份

2、作为二个读的库,缓和主库数据读取压力

b卡塔尔(قطر‎从库还原
主库远程连选取从库,使用source还原
从库加多主库白名单:
mysql> grant all on *.* to root@192.168.1.101 WITH GRANT OPTION;
 
安装密码:
mysql> set password for root@’localhost’=password(‘000000’);
Query OK, 0 rows affected (0.00 sec)
主库增加从库白名单:

预备职业

策画两台机械,每台机械都安装msyql,并运转mysql服务;

安装步骤可参谋:mysql安装

若是mysql运营退步,能够去查看错误日志,会开采 /data/mysql
目录下的文本的属主属组不是mysql,所以须求转移属主属组,执行命令chomd
mysql:mysql /data/mysql

下一场能够再起步就可以,试行命令 /etc/init.d/mysql start


配置主

  • 安装mysql
  • 修改my.cnf,增加server-id=130和log_bin=aminglinux1
  • 匡正完配置文件后,运维或然重启mysqld服务
  • 把mysql库备份并回复成aming库,作为测量试验数据
  • mysqldump -uroot mysql > /tmp/mysql.sql
  • mysql -uroot -e “create database aming”
  • mysql -uroot aming < /tmp/mysql.sql
  • 创办作为同步数据的顾客
  • grant replication slave on . to ‘repl’@slave_ip identified by
    ‘password’;
  • flush tables with read lock;
  • show master status;

改过my.cnf配置文件,增多内容如下,保存退出

图片 16

图片 17

下一场重启mysql

图片 18

查阅/data/mysql/目录下转移的文书

图片 19

以aminglinux1前缀的文件极其主要,是兑现宗旨的根本

先是备份叁个数据库

图片 20

始建一个新的数据库

图片 21

大张旗鼓数据

图片 22

创办多个用于协同数据的客商

图片 23

锁定数据表(指标是不让表继续写,保持最近事态,方便实行同步),然后记住binlog的filename,退出

图片 24

备份其余的数据库

图片 25

  • 备份还原
    • 使用mysqldump或者xtrabackup
    • 把主库现成底子数据复苏到从库
  • 授权

    • grant replication slave on *.*
    • 给从库三个复制binlog的账号
  • 安排复制,并运营

    • 从库上布署复制消息,并针对master
  • 查阅主从复制消息

    • show slave status \G

扩展

境遇主从不能够健康同步,提醒uuid形似的失实。那是因为仿制机器招致。

 

测量试验中央同步

多少个构造参数

  • 主服务器上
  • binlog-do-db= //仅同步钦点的库
  • binlog-ignore-db= //忽视钦赐库
  • 从服务器上
  • replicate_do_db=  //同步钦命的库
  • replicate_ignore_db=  //忽视钦赐的库
  • replicate_do_table=
  • replicate_ignore_table=
  • replicate_wild_do_table= //如aming.%, 支持通配符%
  • replicate_wild_ignore_table=

注:进行从服务器的配置时,尽量选拔replicate_wild_do_table和replicate_wild_ignore_table多少个参数

测试大旨

  • 主上 mysql -uroot aming
  • select count(*) from db;
  • truncate table db;
  • 到从上 mysql -uroot aming
  • select count(*) from db;
  • 主上继续drop table db;
  • 从上查看db表

主服务器:

图片 26

图片 27

清空表格wp_users

图片 28

图片 29

删除表格wp_users

图片 30

从服务器:

图片 31

主库登入从库并回复数据:

 
宗旨安顿步骤:

 

 
 
布局mysql半一齐复制 semi-sync
 
查看有怎样插件

 

#从库:show variables like '%slave_par%';set global slave_parallel_workers=10; 设置sql线程数为10#重启 slavestop slave;start slave;#查看线程show processlist;(十个worker线程)
aiapple@ubuntu:~$ mysql -uroot -p -h 192.168.1.100 mysql> source all_master.sql

 
部分数量复制:
在陈设文件中设置
主库增加参数内定到库:
binlog_do_db=db1
binlog_ignore_db=db1
binlog_ignore_db=db2
 
或从库增多参数
能够到表;
replicate_do_db=db1
replicate_ignore_db=db1
replicate_do_table=db1.t1
replicate_wild_do_table=db%.%          #配备安装
replicate_wild_ignore_table=db1.%     #1一马超越的表
 
注:提议采取在从库增加参数,那样越来越灵敏能够内定到表等第;
 
后生可畏对复制

mysql> grant replication slave on *.* to repl@192.168.1.100 identified by 'repl';Query OK, 0 rows affected (0.00 sec)

 
4)启动:

1)主库安装插件show plugins;install PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';2)从库安装插件show plugins;INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';3)参数设置主库:show variables like '%semi%';SET GLOBAL rpl_semi_sync_master_enabled=1;从库:SET GLOBAL rpl_semi_sync_slave_enabled=1;4)重启主从复制从库:stop slave;start slave;5)状态检查show global status like '%semi%';6)复制检查主库:use db1;insert into t1 values(100);从库:use db1;select * from t1;(获得数据)7)测试延迟从库:stop slave;主库:use db1;insert into t1 values(1);(被卡10s)set global rpl_semi_sync_master_timeout=1000;(设置主等从时间1秒)从库:start slave;stop slave;主库:use db1;insert into t1 values(88);(被卡1s)

 
联级复制(A->B->C)

#查看帮助信息? change master to mysql> change master to MASTER_USER='repl';Query OK, 0 rows affected, 2 warnings (0.03 sec) mysql> change master to MASTER_PASSWORD='repl';Query OK, 0 rows affected, 2 warnings (0.02 sec) mysql> change master to MASTER_HOST='192.168.1.101';Query OK, 0 rows affected (0.03 sec) mysql> change master to MASTER_LOG_FILE='mysql-bin.000001';

 
3卡塔尔国 从库配置复制

 

  • 主从server_id应该例外;
  • 着力开启binlog日志
  • MASTER_LOG_FILE钦点主库bin_log首个文件;

aiapple@ubuntu:~$ mysqldump -uroot -p --socket=/tmp/mysqldata/node1/mysql.sock --master-data --all-databases > all_master.sql--master-date:记录备份时binlog位置aiapple@ubuntu:~$ cat all_master.sql | less ---- Position to start replication or point-in-time recovery from-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=6125; ---- Current Database: `db1`--

并行复制

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图