这样一个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:删除多个数据库
假设有三个数据库:db1
,db2
和db3
,它们的用户名和密码分别为db_user
和db_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技术站