首页 > 数据库 >python-备份mysql数据库

python-备份mysql数据库

时间:2023-01-13 10:45:20浏览次数:46  
标签:python 备份 mysql devel sql backup 数据库

python-备份mysql数据库

1. python-备份mysql数据库

  • 源码安装python3环境

    • 下载版本:https://www.python.org/downloads/source/
      image

      wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
      yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
      tar zxvf Python-3.8.6.tgz
      cd Python-3.8.6
      ./configure
      make && make install
      
    • liunx下执行命令尝试
      image

  • 使用pip3安装连接mysql工具

    pip3 install pymysql
    
  • 创建mysql备份文件

    cd /root/
    touch backup_db.py
    
  • 编写backup_db.py备份mysql数据库文件

    #!/usr/bin/env python
    # coding: utf-8
    
    import os
    import pymysql
    import time
    
    ''' 定义变量 '''
    databases = ["test-cmdb","vuecli_shop"]  # 定义要备份的数据库名
    sql_host = '127.0.0.1'
    sql_user = 'root'  # 数据库登陆用户
    sql_pwd = '123456'  # 数据库登陆密码
    root_dir = '/tmp/baksql/'  # 存放sql文件的地址
    
    
    ''' 创建存放备份文件的文件夹 '''
    if not os.path.exists(root_dir):  # 判断如果没有目录
        os.mkdir(root_dir)  # 创建
    print('创建文件夹成功:', os.path.abspath(root_dir))  # 打印创建成功
    
    
    ''' 开始备份到指定文件夹 '''
    os.chdir(root_dir)  # 改变当前工作目录到指定的路径
    for database_name in databases:  # 循环数据库
        today_sql = time.strftime('%Y%m%d')+'_'+database_name+'.sql'   # 定义数据库文件名变量
        # 编写cmd语句 
        sql_comm="mysqldump -u%s -p%s %s > %s"%(sql_user,sql_pwd,database_name,today_sql) # 定义备份数据库变量 
        if os.system(sql_comm) == 0: # 如果上一条执行结果等于0,表示成功 
            print(database_name, 'is backup successfully!') # 打印成功信息 
            print('备份文件地址:',os.path.abspath('./')+today_sql)
        else: # 备份失败 
            print(database_name, 'is backup fai!') # 打印成功信息
    
  • 执行结果

    (python_3.8_base) [admin@shichaodeMacBook-Pro 01-python-基础]# python backup_db.py
    创建文件夹成功: /tmp/backup_sql
    mysqldump: [Warning] Using a password on the command line interface can be insecure.
    test-cmdb is backup successfully!
    备份文件地址: /private/tmp/backup_sql20220623_test-cmdb.sql
    mysqldump: [Warning] Using a password on the command line interface can be insecure.
    vuecli_shop is backup successfully!
    备份文件地址: /private/tmp/backup_sql20220623_vuecli_shop.sql
    

标签:python,备份,mysql,devel,sql,backup,数据库
From: https://www.cnblogs.com/scajy/p/17048808.html

相关文章

  • python-标准库time模块的使用
    python-标准库time模块1.python-标准库time模块time库用于满足简单的时间处理,例如获取当前时间戳、日期、时间、休眠。方法描述time.ctime(seconds)返回当......
  • Mysql索引失效场景
    Mysql索引失效场景 序言 众所周知在Mysql中,通过使用索引的方式可以加快查询速度,从而避免全文搜索;而索引本身就像图书馆中所有书籍目录,通过查询关键字就能快速找......
  • python-标准库urllib模块的使用
    python-标准库urllib模块1.python标准库urllib模块urllib库用于访问URL。urllib包含以下类:urllib.request打开和读取URLurllib.error包含urllib.request抛出......
  • python-标准库datetime模块的使用
    python-标准库datetime模块1.python-标准库datetime模块datetime库用于处理更复杂的日期和时间。提供以下几个类:方法描述datetime.date日期,年月日组成......
  • python-pymysql-基本使用
    python-pymysql-基本使用1.pymysql-基本使用创建表[root@pythontmp]#mysql-h127.0.0.1-utest-p'Test@963852'WelcometotheMariaDBmonitor.Comma......
  • python-pymysql安装和数据库安装
    python-pymysql安装和数据库安装1.pymysql安装安装python连接数据库pymysql模块[root@python~]#pip3installPyMySQlLookinginindexes:http://mirror......
  • python-pymysql模块介绍
    python-pymysql模块介绍1.pymysql模块介绍pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。pymysql......
  • python pymysql-增删改查
    pymysql-增删改查1.pymysql-增删改查#!/usr/bin/envpython3#_*_coding:utf-8_*_#Author:shichao#File:.pyimportpymysqlconn=pymysql.connect(host='1......
  • python pymysql-参数使用
    pymysql-参数使用1.pymysql-参数使用connect()函数常用参数:方法描述host数据库主机地址user数据库账户passwd账户密码db使用的数据库port......
  • python-标准库os模块的使用
    python-标准库os模块的使用1.标准库osos库主要对目标和文件操作。方法描述os.name返回操作系统类型os.environ以字典形式返回系统变量os.putenv(ke......