如何进行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自己使用,就简单实用就行啦~您也可以找前端帮助美化~
如何进行mysql备份平台及django实践
 
1.2.2、检查库信息的界面
:在此处输入库名,例如my,点击检查库名对应记群号,即可获取此库对应的集群信息
即 1号集群
 如何进行mysql备份平台及django实践
1.2.3、SQL备份方式
:选择SQL备份方式,在输入框输入具体SQL
下面确定集群号,输入1,点击提交即可
因:html不太熟悉,暂时不知如何点击1@my  来确定集群,后期优化下
 如何进行mysql备份平台及django实践

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

 如何进行mysql备份平台及django实践
1.2.4、table模式备份
注:选择TABLE,选择table备份模式:
只导表结构,只导数据,表结构和数据全部
填入集群号 1
输入表名,多个表名以空格 分隔即可
例如: my_db my_cluster my_database
 如何进行mysql备份平台及django实践
备份结果如图
注:
即3张表都备份到中控机的地址
文件名:库名_表名_时间
 如何进行mysql备份平台及django实践

二、具体实现

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.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.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:端口
如何进行mysql备份平台及django实践
<7>测试使用
http://IP:端口号/sql_export_search_form/
具体使用方式如上面图即可

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

上述就是小编为大家分享的如何进行mysql备份平台及django实践了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/204226.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论