mysql物理备份恢复搭建从库_RDS FOR MYSQL 各版本利用物理备份搭建从库方法

yum localinstall mysql80-community-release-el6-1.noarch.rpm -y

centos7下安装:

wget  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

yum localinstall mysql80-community-release-el7-1.noarch.rpm

2.配置yum源

yum -y install yum-utils

#根据选择安装需要的版本

yum-config-manager --disable   mysql80-community  默认是安装8.0版本的mysql需要关闭这个yum源

yum-config-manager --enable   mysql57-community  恢复5.7版本就执行这条 5.7执行

yum-config-manager --enable   mysql56-community   如果是恢复5.6版本执行这条 5.6执行

3.安装mysql server (yum安装完成后不慌启动mysql)

yum -y install mysql-community-server

4.替换/etc/my.cnf文件内容为以下内容,其中跳过权限表启动:[mysqld]

innodb_checksum_algorithm=crc32

innodb_data_file_path=ibdata1:200M:autoextend

innodb_log_files_in_group=2

innodb_log_file_size=524288000

innodb_undo_directory=/var/lib/mysql/

basedir=/usr

datadir=/var/lib/mysql

innodb_undo_tablespaces=0

server_id=55555

log_bin=mysql-log

gtid_mode=on

enforce_gtid_consistency=on

log-slave-updates=1

relay_log=relay-log

sql_mode=''

binlog_format=row

skip-grant-tables=1注意: server_id可以自己改,务必不要和RDS的一样了。

1).配置yum源

yum -y installhttp://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm2). 查看yum源,选择要安装的软件

yum list | grep percona

yum -y install percona-xtrabackup-24.x86_64   5.7版本需要安装这个

yum -y install percona-xtrabackup.x86_64        5.6版本需要安装这个

6.下载备份文件并恢复:

注意:1.要做物理备份的恢复最好临时RDS控制台做个物理备份,备份做好后下载备份文件并恢复(如果用以前的备份可能导致二进制日志已经被清理了无法获取二进制日志进而复制环境搭建失败)

2. 要下载备份和配置主从关系,需要把当前ECS的内网IP加入到RDS的白名单里面

wget -c 'rds备份文件下载地址' -O bak.tar.gz     这个到RDS控制台备份恢复里面去获取备份集下载地址,注意下载地址这里用wget下载需要用单引号引起来,否则会报403错误

tar -izxvf bak.tar.gz    -C   /var/lib/mysql       在下载的备份文件目录执行解压,-C指定解压到/var/lib/mysql目录,因为yum安装的datadir是这个

cd  /var/lib/mysql

innobackupex --defaults-file=backup-my.cnf --apply-log /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql

/etc/init.d/mysqld start

更新aliyun_root@127.0.0.1密码:

mysql     #shell里面执行mysql连接mysql并修改密码

mysql>select user,host from mysql.user;   查看是否有aliyun_root@127.0.0.1这个用户,可根据需要来设置根据这个sql查看到有的账号密码

mysql>flush privileges;

mysql>SET PASSWORD FOR 'aliyun_root'@'127.0.0.1' = PASSWORD('MyNewPass'); 5.7版本是aliyun_root@127.0.0.1mysql>SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('MyNewPass');  5.6版本是'root'@'127.0.0.1'

mysql>exit

删除/etc/my.cnf里面的skip-grant-tables=1​​​​​​

/etc/init.d/mysqld restart

账号也迁移过来了的,可以用账号云mysql的账号登陆了:

登陆:

mysql -ualiyun_root -h127.0.0.1 -pMyNewPass       5.7执行

mysql -uroot -h127.0.0.1 -pMyNewPass       5.6执行

mysql>use mysql;  5.6执行mysql>drop table slave_master_info;    5.6执行mysql>drop table slave_relay_log_info;   5.6执行mysql>drop table slave_worker_info;    5.6执行mysql>drop table innodb_index_stats;   5.6执行mysql>drop table innodb_table_stats;    5.6执行mysql>source /usr/share/mysql/mysql_system_tables.sql;  5.6执行

mysql>exit

/etc/init.d/mysqld restart 5.6版本必须重启,切记执行

查看/var/lib/mysql/xtrabackup_slave_info 里面的set global gtid_purged语句,把这个copy到后面复制用

9728f119ee57ac3fc2abd4d757bf0a14.pngmysql -uroot -h127.0.0.1 -pMyNewPass       5.6执行

mysql>reset master;   5.6执行mysql>set global gtid_purged=xxx 上面截图的复制过来执行一次  5.6执行

85904d067f46456883530c7658ad9d59.png

mysql>reset slave;

mysql>change master to master_host = 'rm-xxxxx.mysql.rds.aliyuncs.com', master_port = 3306, master_user = 'sadmin', master_password='Mypassword', master_auto_position = 1;

mysql>start slave;

mysql>show slave status\G

注意:上面的master_host  master_portmaster_user  master_password 根据RDS主库的信息各自填写自己的信息,不要照着上面执行;

搭建完成show slave status\G看到的结果应该如下,slave io/sql线程都是YES状态:

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: rm-xxxxx.mysql.rds.aliyuncs.com

Master_User: hkadmin

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000245

Read_Master_Log_Pos: 391176

Relay_Log_File: relay-log.000002

Relay_Log_Pos: 1588

Relay_Master_Log_File: mysql-bin.000245

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 391176

Relay_Log_Space: 1789

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 999098802

Master_UUID: a23bf85f-f20b-11e8-8268-7cd30abda240

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set: a23bf85f-f20b-11e8-8268-7cd30abda240:493276-493279

Executed_Gtid_Set: 937ca3af-f20b-11e8-9447-7cd30ab8a5d8:1-178841,

a23bf85f-f20b-11e8-8268-7cd30abda240:1-493279

Auto_Position: 1

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值