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

网友投稿 220 2023-12-27

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

这期内容当中小编将会给大家带来有关如何进行mysql备份平台及django实践,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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

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 zxvf Django-1.11.3.tar.gzcd Django-1.11.3

python setup.py install

2.3、安装 MySQL-python

tar xvf MySQL-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-/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.py   startproject   dba_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

mkdir templates

文件如附件

<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实践了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:nodejs后端框架(node为基础的后端框架)
下一篇:如何理解slave库写redo、binlog不实时丢数据的场景
相关文章

 发表评论

暂时没有评论,来抢沙发吧~