mysql之mysql主从复制

1)mycat安装准备

  • 主数据库

  • 下载

    wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz 
    解压

    tar zxf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

  • 创建mycat用户 
    adduser mycat

  • 移动mycat
    mv mycat/ /usr/local/

  • 修改mycat权限
    chown mycat:mycat -R mycat/

  • 修改mycat配置

conf下
vim wrapper.conf

  • 修改系统下环境变量 ⚠️ --可略过
     

    vim /etc/profile

    export PATH=/usr/local/mycat/bin:

    export MYCAT_HOME=/usr/local/mycat

    source /etc/profile

然后 系统崩溃

2)mysql-mysql复制

  • 从数据库

  • 备份数据库到其它实例

  1. 备份原数据库并记录相关事物点

  2. 在原数据库中建立复制用户

  3. 在新实例上恢复备份数据库

  4. 在新实例上配置复址链路

  5. 在新实例上启动复制

  • 导出数据库

mysqldump -u root -p 数据库名 > 导出的文件名.sql 

  • 还原 

切换到数据库

source 导出的文件名.sql

  • 建立数据库主从复制-导出主数据库,记录事务日志点

mysqldump --master-data=2 --single-transaction --routines --triggers --events -uroot -p 数据库名 > 导出的文件名.sql

mysqldump --master-data=2 --single-transaction --routines --triggers --events -uroot -p overseas_medical > overseas_medical_copy.sql

  • 前提条件

开启日志

server-id = 1

log_bin=mysql-bin

重启

/etc/init.d/mysql restart

  • 向其他服务器拷贝

scp overseas_medical_copy.sql [email protected]:/root

  • 数据库导入

mysql -uroot -p overseas_medical_copy < overseas_medical_copy.sql

  • 创建主从复制数据库用户

create user ‘over'@'120.78.216.%' identified by ‘123456’;

create user 'admin'@'%' identified by 'admin';

  • 赋权

grant replication slave on *.* to ‘over’@‘120.78.216.%’;

grant replication slave on *.* to 'admin'@'%';

  • 建立复制链路-进入mysql-配置复制链路

change master to master_host=‘120.78.216.%’,master_user=‘admin’,master_password=‘admin’,master_log_file='mysql-bin.000001', MASTER_LOG_POS=154;

 

change master to master_host='120.78.216.%',master_user='root',master_password='sqlpass',master_log_file='mysql-bin.000001', MASTER_LOG_POS=40729;

master_host         主数据地址

master_user         复制数据库用户

master_password复制数据库用户密码

master_log_file     开始同步的日志文件名 overseas_medical_copy.sql中查看、

MASTER_LOG_POS 开始复制日志点

  • 建立主从复制链路过滤-配置数据库名转换

change replication filter replicate_rewrite_db=((overseas_medical,overseas_medical_copy));

  • 查看状态

show slave status \G;

  • 启动复制链路

start slave;

 

你可能感兴趣的:(mysql)