Linux企业运维--Mysql的主从复制

********Mysql主从复制***********

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,作用和使用场合一般有几个:

一是作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作。

二是可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能。

准备server1,server2

这里server1的数据库复制到server2
server1:
scp -rp mysql/ server2:/usr/local/    复制次目录以及给予权限
scp mysqld server2:/etc/init.d/
scp /etc/my.cnf server2:/etc/

 

vim /etc/my.cnf

/etc/init.d/mysqld restart    重启数据库
 mysql -p  ----登陆数据库查看建立的用户()
CREATE USER 'repl'@'%' IDENTIFIED BY 'westos';  --创建复制用户
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';       授权

 

 

mysqldump -pwestos(密码) westos(数据库用户) > dump.sql   ---将信息导入dump.sql
 
scp dump.sql  server2:     将dump.sql 复制到server2里

登陆mysql
show master status;   查看Position

 


server2:
建立用户组,以及用户
groupadd -g 1001 mysql
useradd -u 1001 -g mysql -M -d /data/mysql -s /sbin/nologin mysql

vi .bash_profile    添加mysql路径


source .bash_profile    ---重读

 

mkdir /data/mysql -p
chown mysql.mysql /data/mysql
 

mysqld --initialize --user=mysql------把复制过来的mysql初始化
mysql_secure_installation ---查看日志里的出使密码对mysql进行密码更改
mysql -h 172.25.14.1 -u repl -p  使用用户repl登陆,看到数据库已经大体复制完成


mysqladmin -pwestos create westos
mysql -pwestos westos < dump.sql    将复制的dump导入到数据库中
vi /etc/my.cnf

/etc/init.d/mysqld restart   重启mysql
--------------------------------------------------------------------
再次登陆数据库
mysql -p

 

CHANGE MASTER TO MASTER_HOST='172.25.14.1', MASTER_USER='repl',

MASTER_PASSWORD='westos',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=595;   (595在server1里看到)

 

start slave;

show slave status\G;

需要看到
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
表示搭建成功

 

 

 

---------------------------------------------------------
此时可以在server1数据库里添加数据,就会同步到server2的数据库中


***************Gtid实现主从复制******************

server1:
vim /etc/my.cnf

/etc/init.d/mysqld restart    -----重启数据库

 

在mysql中westos里随便添加一个数据
insert into userlist values ('user4','123');

 

server2:
vi /etc/my.cnf

/etc/init.d/mysqld restart
------------------------------------------------
登陆mysql
stop slave;
change master to master_host='172.25.14.1',master_user='repl',master_password='westos', MASTER_AUTO_POSITION = 1;  

 
start slave;
show slave status \G;     ----查看日志

 看到user4 同步到server2里

 


********************Mysql半同步复制**********************

server1:
开启数据库
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
下载主机的plugin

SELECT PLUGIN_NAME, PLUGIN_STATUS
    ->     FROM INFORMATION_SCHEMA.PLUGINS
    ->     WHERE PLUGIN_NAME LIKE '%semi%';

 

vim /etc/my.cnf

 

再进入mysql的westos建立新用户数据,在server2查看


server2:
开启数据库
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled = 1;
下载从机的plugin

vim /etc/my.cnf
 


再次开启数据库查看

 

***********延迟复制*******************

 mysql -p
STOP SLAVE IO_THREAD;
STOP SLAVE SQL_THREAD;
CHANGE MASTER TO MASTER_DELAY = 30;
START SLAVE SQL_THREAD;

 

 

*************并行复制****************

 vi /etc/my.cnf

 

mysql -p
show processlist;

 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值