用于在Centos 7中创建具有相应MySQL数据库的新用户的Python脚本

用于在Centos 7中创建具有相应MySQL数据库的新用户的Python脚本,python,mysql,scripting,centos,centos7,Python,Mysql,Scripting,Centos,Centos7,我的Python脚本的目的是在每次我在服务器上添加新客户时快速创建一个新数据库。每个客户都有自己的用户帐户、数据库和权限 我在MySQL社区服务器上使用Centos 7(不是默认的mariadb)。我在这个目录中保存了以下代码 /opt/hostingscript/createdb.py #!/usr/bin/python import sys #package to read parameters import MySQLdb #communication to database ## #

我的Python脚本的目的是在每次我在服务器上添加新客户时快速创建一个新数据库。每个客户都有自己的用户帐户、数据库和权限

我在MySQL社区服务器上使用Centos 7(不是默认的mariadb)。我在这个目录中保存了以下代码

/opt/hostingscript/createdb.py

#!/usr/bin/python

import sys #package to read parameters
import MySQLdb #communication to database

##
## Script to automatically provision a database, user and user rights
## usage: ./createdb.py <databasename> <username> <password>
##

response = raw_input("Creating database " + sys.argv[1] + " and user " + 
sys.argv[2] + " with password " + sys.argv[3] +" Is this ok? (y/n) ")

if response.lower() in ['y', 'yes']:
   print("creating")
else:
   print("exiting")
#/usr/bin/python
导入sys#包以读取参数
将MySQLdb#通信导入数据库
##
##自动设置数据库、用户和用户权限的脚本
##用法:./createdb.py
##
响应=原始输入(“创建数据库”+sys.argv[1]+“和用户”+
sys.argv[2]+“密码为”+sys.argv[3]+“可以吗?(y/n)”)
如果在['y','yes']中出现response.lower():
打印(“创建”)
其他:
打印(“退出”)
我希望使用此脚本执行以下操作:

  • 脚本需要3个参数 (我原打算使用sys.argy数组将python用于参数,但我不知道这是如何工作的。) -->将使用作为名称和SQL帐户密码创建新的SQL用户

  • 使用我的根帐户和密码连接到数据库的能力

  • 客户需要拥有其数据库的所有权限

  • 我还想给我的用户一些关于创建他们的数据库和帐户的反馈
    例如
    已创建databaseX
    userX创建


  • 为什么不干脆用木偶、Ansible或厨师之类的东西来做呢?这会非常简单。我会试试看。谢谢