• ADADADADAD

    如何进行mysql备份平台及django实践[ mysql数据库 ]

    mysql数据库 时间:2024-11-26 22:11:40

    作者:文/会员上传

    简介:

    mysql备份平台--django实践一、mysql备份平台1.1、mysql备份平台说明<1>功能:实现界面化备份表、SQL导出备份<2>方法:利用django,bootstrap,mysqldump,html 来搭建利用mysqldump

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    mysql备份平台--django实践

    一、mysql备份平台

    1.1、mysql备份平台说明
    <1>功能:
    实现界面化备份表、SQL导出备份
    <2>方法:
    利用django,bootstrap,mysqldump,html 来搭建
    利用mysqldump优先选择从库进行导出备份
    <3>适用场景:
    上线前的备份,日常备份等

    1.2、平台界面如下

    1.2.1、最初界面
    注:被屏蔽的为IP地址与端口,自己测试的时候更改即可
    界面丑了点,主要只是作者本人所做,没有开发、前端等帮助,且只有DBA自己使用,就简单实用就行啦~您也可以找前端帮助美化~


    1.2.2、检查库信息的界面
    注:在此处输入库名,例如my,点击检查库名对应记群号,即可获取此库对应的集群信息
    即 1号集群

    1.2.3、SQL备份方式
    注:选择SQL备份方式,在输入框输入具体SQL
    下面确定集群号,输入1,点击提交即可
    因:html不太熟悉,暂时不知如何点击1@my 来确定集群,后期优化下


    备份结果如图:
    注:
    备份地址为中控机的地址
    表名不好获取,暂时为空


    1.2.4、table模式备份
    注:选择TABLE,选择table备份模式:
    只导表结构,只导数据,表结构和数据全部
    填入集群号 1
    输入表名,多个表名以空格 分隔即可
    例如: my_db my_cluster my_database

    备份结果如图:
    注:
    即3张表都备份到中控机的地址
    文件名:库名_表名_时间

    二、具体实现

    2.1、python2.7安装
    tar zvf Python-2.7.10.tar
    cd Python-2.7.10
    ./configure --enable-shared --prefix=/usr/local/python27
    make && make install
    cp /usr/local/python27/lib/libpython2.7.so.1.0 /usr/local/lib
    cd /usr/local/lib
    ln -s libpython2.7.so.1.0 libpython2.7.so


    2.2、django环境搭建
    tar zxvfDjango-1.11.3.tar.gzcdDjango-1.11.3
    python setup.py install

    2.3、安装 MySQL-python
    tar xvfMySQL-python-1.2.3.tarcd MySQL-python-1.2.3/
    python setup.py build
    python setup.py install
    测试是否ok
    Python 2.7.5 (default, Nov 6 2016, 00:28:07)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import django
    >>> import MySQLdb
    >>>
    2.4、数据库

    <1>、创建好mysql数据库,此处忽略

    <2>、建立数据库my,创建元信息表,具体可参考博客:mysql多层元信息与查询实践(http://blog.itpub.net/28823725/viewspace-2142234/)
    create user dumper@'127.0.0.1' identified by '123456';
    grant select on *.* to dumper@'127.0.0.1';
    grant show view on *.* to dumper@'127.0.0.1';
    grant lock tables on *.* to dumper@'127.0.0.1';
    grant trigger on *.* to dumper@'127.0.0.1';
    查询用户
    create user dba_read@'127.0.0.1' identified by '123456';
    grant select on *.* to dba_read@'127.0.0.1';
    注:次处只有一个mysql,只做元信息库与测试备份库
    <4>、构建数据:
    insert into my_server values(1,'127.0.0.1','127.0.0.1','lcl','1','idc1','2017-07-24 10:00:00','A',now());
    insert into my_ip values(1,'127.0.0.1','lcl','1','idc1','2017-07-24 10:00:00','A',now())
    insert into my_cluster values(1,'my',6001,'db info',0,1,now(),now(),'1',10,10,'5.7.19',1,1,'db info');
    insert into my_db values(1,1,'127.0.0.1',6001,1,now(),now(),1,'w,r','Master',1,1,0,1,'/data/mysql/','1G','5.7.19','my','succ','db info');
    insert into my_database values(1,1,'my','my','lcl',1,1,now(),now(),'dba','dba','succ','db info');
    2.5、django详细

    <1>创建项目
    cd/chunlei/django/
    django-admin.pystartprojectdba_backup
    会产生目录dba_backup
    cd/chunlei/django/dba_backup
    ls
    drwxr-xr-x. 3 root root 4096 Jul 24 17:18 dba_backup
    -rwxrwxr-x. 1 root root 808 Jul 24 14:56 manage.py

    <2>设置配置文件
    cd/chunlei/django/dba_backup/dba_backup
    vi settings.py
    ALLOWED_HOSTS = ['可以访问的IP地址,也可以写*即不限制']
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'dba_backup',
    ]
    EMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': ['/chunlei/chunlei/django/dba_backup/dba_backup/templates'],
    'APP_DIRS': True,
    'OPTIONS': {
    'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    ],
    },
    },
    ]

    TIME_ZONE = 'Asia/Shanghai'

    <3>、设置django的url文件
    from django.conf.urls import url
    from django.contrib import admin
    from dba_backup.views import sql_export_search_form
    from dba_backup.views import sql_export_result
    from dba_backup.views import sql_export_sql
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^sql_export_search_form/$',sql_export_search_form),
    url(r'^sql_export_result/$', sql_export_result),
    url(r'^sql_export_search_form/sql_export_sql/$', sql_export_sql),
    ]
    <4>、编写django的view文件
    如附件
    <5>、django的template的网页文件
    /chunlei/django/dba_backup/dba_backup
    mkdirtemplates
    文件如附件
    <6>、启动django
    cd/chunlei/django/dba_backup
    python manage.py runserver IP:端口

    <7>测试使用
    http://IP:端口号/sql_export_search_form/
    具体使用方式如上面图即可

    三、其他
    3.1、优点
    简单方便DBA备份,可以在上线前备份,或者日常备份
    优先找备份库备份,防止影响主库性能
    导出限制条数,防止影响从库性能
    3.2、缺点
    界面简单,后期可以优化下界面
    代码不整洁,为刚学时所做,后期可以优化下

    如何进行mysql备份平台及django实践.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: djangomysql