mysql-数据库恢复步骤+主从搭建

  • A+
所属分类:Nginx

总耗时3个小时左右
准备:避免恢复时环境干扰前往官网下载相同版本的mysql
    URL:https://downloads.mysql.com/archives/community/

步骤一:创建虚机

步骤二:配置虚机(分配ip地址、分配存储)

步骤三:关闭selinux( SELINUX=disabled )和 关闭防火墙
    关闭selinux
        getenforce #查看当前selinux状态
        setenforce 0  #设置selinux状态为Permissive
        永久关闭selinux :重启才生效 
            vim /etc/sysconfig/selinux
            SELINUX=enforcing 改为 SELINUX=disabled
    关闭防火墙:
        iptables -F
        service iptables stop
        chkconfig --level 2345 iptables off #设置在2345模式下开机关闭iptables
        chkconfig iptables off  #设置iptables在所有模式下都关闭

步骤四:安装VMwareTools(如需增加磁盘存储需要先安装vmtools)
    mount /dev/sr0 /mnt/   #挂载至mnt目录下
    #mount: block device /dev/sr0 is write-protected, mounting read-only  
     ls  /mnt/ 
        manifest.txt     VMwareTools-10.1.5-5055683.tar.gz  vmware-tools-upgrader-64
        run_upgrader.sh  vmware-tools-upgrader-32
    mkdir /opt/vmtool
    cp * /opt/vmtool/
    cd /opt/vmtool/
    tar -zxvf VMwareTools-10.1.5-5055683.tar.gz 
    cd vmware-tools-distrib/
    ./vmware-install.pl  #执行后直接全部回车默认即可

步骤五:上传mysql --rpm包
    这里使用的是MySQL-5.5.47-1.el6.x86_64.rpm-bundle.tar离线mysql安装包
        scp MySQL-5.5.47-1.el6.x86_64.rpm-bundle.tar root@IP:/dir

步骤六:配置代理转发(受生产环境网路限制,使用代理打补丁)
    Vim /etc/yum.conf  #增加一行
        proxy=http://192.168.5.1:1234

步骤七:在存放mysql的rpm包目录下执行离线yum安装
    ls |for n in * ; do mv $n `echo $n | tr '[A-Z]' '[a-z]'`; done  #重命名文件将大写转换成小写
    cd /opt/myrpm
    yum install mysql-*

步骤八:解压需要恢复的数据包压缩文件(必须加i参数否则解压失败报错)
    mkdir -pv /opt/mydb
    tar -izxvf full_2018-10-08.tar.gz -C /opt/mydb/

步骤九:使用相对应的恢复工具恢复数据库数据(安装数据恢复工具)
    #percona-xtratest-2.2.3-4982-Linux-x86_64.tar.gz
    tar -zxvf percona-xtratest-2.2.3-4982-Linux-x86_64.tar.gz
    cd /tmp/percona-xtratest-2.2.3-Linux-x86_64/bin
    yum -y  install perl-Time-HiRes  #安装一个依赖包
    mv /tmp/percona-xtratest-2.2.3-Linux-x86_64/bin/* /usr/local/bin/ #修改环境bin

步骤十:停掉数据库恢复数据
    service mysql stop
    mv /var/lib/mysql /var/lib/mysql.bak  #备份原始数据目录
    mkdir -pv /var/lib/mysql
    innotestex --apply-log --rebuild-indexes /opt/mydb
    innotestex  --defaults-file=/etc/my.cnf --copy-back --rsync /opt/mydb
    chown -R mysql:mysql /var/lib/mysql
    service mysql start

步骤十:登录mysql检查


*****************************************************************************************

mysql主从

    主授权从访问

    mysql> GRANT REPLICATION SLAVE ON *.* to 'test'@'192.168.227.%' identified by '654321';

    mysql> flush privileges;

    mysql> show master status\G

    从服务指定master:

    change master to master_host='192.168.227.9',
        master_user='test',
        master_password='654321',
        master_log_file='mysql-bin.000641',
        master_log_pos=115458329;

    mysql>start slave;
    mysql> show slave status\G



预计时间:
    本次恢复数据量大小50G(压缩文件)
    copy:09:20---09:41  21
    解压:11:07---12:01     54
    恢复:13:52---14:40     48
    调整:14:45---14:50     05
    共计:128分钟 
avatar

发表评论

您必须登录才能发表评论!