干掉一堆mysql数据库,仅需这样一个shell脚本(推荐)

这样一个shell脚本是指一个名为mysql_dropper.sh的脚本,它可以批量删除MySQL数据库。下面是详细的攻略:

下载和安装必要的工具

首先需要安装mysql命令行客户端和expect工具。在Linux下,可以通过以下命令安装:

sudo apt-get update
sudo apt-get install mysql-client expect

如果是在Mac下,则需要使用brew安装:

brew update
brew install mysql-client expect

编写脚本

接下来,我们需要编写一个名为mysql_dropper.sh的脚本。脚本内容如下:

#!/usr/bin/expect
set timeout -1
set user [lindex $argv 0]
set password [lindex $argv 1]
set dbname [lindex $argv 2]
spawn mysql -u $user -p$password -e "DROP DATABASE $dbname;"
expect "Enter password:"
send "$password\r"

执行脚本

将以上脚本保存为mysql_dropper.sh文件,并给予可执行权限:

chmod +x mysql_dropper.sh

接着,在命令行中执行:

./mysql_dropper.sh <mysql用户名> <mysql密码> <要删除的数据库名称>

例如,删除名为test_db的数据库:

./mysql_dropper.sh root Password123 test_db

示例

以下是两个示例说明:

示例1:删除多个数据库

假设有三个数据库:db1db2db3,它们的用户名和密码分别为db_userdb_password。我们可以使用以下命令一次性删除所有的数据库:

./mysql_dropper.sh db_user db_password db1
./mysql_dropper.sh db_user db_password db2
./mysql_dropper.sh db_user db_password db3

示例2:批量删除数据库

假设我们有一个名为db_list.txt的文本文件,里面记录了一些要删除的数据库,每行一个。我们可以使用以下命令批量删除所有数据库:

while read -r line; do
  ./mysql_dropper.sh db_user db_password "$line"
done < db_list.txt

注意,以上命令会逐行读取db_list.txt文件中的内容,并逐个删除数据库。如果db_list.txt文件中有很多数据库需要删除,这个命令可能会执行很长时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:干掉一堆mysql数据库,仅需这样一个shell脚本(推荐) - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • mysql启动的error 2003和1067错误问题解决方法

    MySQL是一款开源的高性能关系型数据库管理系统,在使用过程中,可能会遇到一些错误和问题,最常见的就是启动时出现error 2003和1067错误。对此,我们需要进行一些调整和修复。以下是解决这两个错误的完整攻略。 MySQL启动错误2003 在启动MySQL过程中,有时候会出现“ERROR 2003 (HY000): Can’t connect to My…

    MySQL 2023年5月18日
    00
  • 数据库:socketserver模块、MySQL(一)

    一、socketserver实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环。 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) server类: request类: 继承关系:   以下述代码为例,分析socketserver源码: ftpserver=socketserve…

    MySQL 2023年4月13日
    00
  • 解决pymysql cursor.fetchall() 获取不到数据的问题

    下面我将详细讲解如何解决使用pymysql时,cursor.fetchall()获取不到数据的问题。 问题描述 在使用pymysql访问MySQL数据库时,我们通常需要使用cursor对象进行操作,例如执行SQL查询等。在执行查询并调用 cursor.fetchall() 方法获取所有结果时,有时会出现返回空结果的情况,即使数据库中确实存在符合条件的数据。出…

    MySQL 2023年5月18日
    00
  • 关于mysql查询字符集不匹配问题的解决方法

    针对“关于mysql查询字符集不匹配问题的解决方法”的完整攻略,我们可以按如下步骤操作: 1. 查看数据库及表的字符集 首先我们需要查看数据库和表的字符集,可以使用如下命令: SHOW CREATE DATABASE your_database_name; SHOW CREATE TABLE your_table_name; 这些命令可以查看创建数据库和表时…

    MySQL 2023年5月18日
    00
  • mysql中的多行查询结果合并成一个

    原文:http://blog.csdn.net/lifuxiangcaohui/article/details/6132147   SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id…

    MySQL 2023年4月13日
    00
  • mysql远程登录root账户报错1045的解决

    当我们在mysql中远程登录root账户时,有时会遇到1045的错误提示,这意味着连接被拒绝,我们需要进行相应的解决步骤。 以下是完整的攻略过程: 1.确认用户名和密码是否正确在远程连接mysql时,首先要确认用户名和密码是否正确,可以通过以下命令进行检查: mysql -u root -p 如果输入的密码不正确,会出现1045的错误,此时需要重置密码。如果…

    MySQL 2023年5月18日
    00
  • mysql 提示INNODB错误的解决方法

    当使用MySQL中的InnoDB存储引擎时,可能会遇到一些错误。本文将介绍如何解决在MySQL中使用InnoDB存储引擎所遇到的错误。 错误示例 在使用MySQL中的InnoDB存储引擎时,常见的错误包括以下几种: 错误1:Table already exists 在创建表的时候,如果出现 “Table already exists” 的错误,那么我们可以尝…

    MySQL 2023年5月18日
    00
  • springboot+mybatis+druid+sqlite/mysql/oracle

    搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试   1.版本 springboot2.1.6 jdk1.8 2.最简springboot环境 https://www.cnblogs.com/SmilingEye/p/11422536.html 3.pom(sqlite配置) spring-boot-sta…

    MySQL 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部