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

62次阅读
没有评论

共计 3900 个字符,预计需要花费 10 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关如何进行 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.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: 端口

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

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

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

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计3900字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)