主从复制

2019-08-19  本文已影响0人  zxhChex

1.主从复制
主服务器
vim /etc/my.cnf
[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1

mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql

systemctl restart mysqld

show variables like '%skip_networking%';

创建授权用户
mysql> GRANT REPLICATION SLAVE ON . TO 'repl'@'%' identified by
'QFedu123!';

 注意防火墙   selinux   授权的来源


 如果有数据
 先备份数据

shell> mysqldump -u用户名 -p密码 --all-databases --master-data=1 > dbdump.sql

         =1 # dump 文件中含有  主服务器二进制日志的文件名和位置
         =2 # 也有上面提到的信息  但是  语句是被注释的状态

6跟werb
把备份文件传到从服务器上
scp dbdump.sql root@mysql-slave1:/root/

从服务器

vim /etc/my.cnf

[mysqld]
server-id=2

systemctl restart mysqld

导入数据
1. mysql -u  -p  <  dbdump.sql
    配置复制通道时候
    mysql > change master to
            master_host='主服务器的ip',
            master_user='主服务器已授权的用户',
            master_password='授权用户的密码',
            mastet_log_file='mysql-bin.000002',
            master_log_pos=345;
    mysql >  start slave;
    mysql >  show slave status;

IO threading : yes
SQL threading : yes

2.  mysql > source dbdump.sql
 mysql > change master to
            master_host='主服务器的ip',
            master_user='主服务器已授权的用户',
            master_password='授权用户的密码';
    mysql >  start slave;
    mysql >  show slave status;

    IO  threading : yes
    SQL threading : yes

show full processlist\G
kill 15

基于 GTID
不用配置二进制日志的文件名和具体位置信息了
自动协商

5.7

并且支持多线程复制

上一篇下一篇

猜你喜欢

热点阅读