创建MySQL账户

Posted zhouwanchun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建MySQL账户相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#----------------------------------------------------------#
# Date    : xxxx-xx-xx                                     #
# Author  : Created by zhouwanchun.                        #
# Wechat  : loveoracle11g                                  #
# Function: This scripts function is ...                   #
# Version : 1.1                                            #
#----------------------------------------------------------#

# 导入模块
import os
import subprocess
import mysql.connector
import myloginpath

# Linux终端清屏
os.system(clear)

# 注释信息
print("""33[1;36m
############################################################
# Date    : 2020-05-22                                     #
# Author  : Created by zhouwanchun.                        #
# Wechat  : loveoracle11g                                  #
# Function: This scripts function is ...                   #
# Version : v1.1                                           #
############################################################
33[0m""")


# 连接数据库账号
conn_user = dba

print("""33[1;35m
创建管理账号,请输入 : manager
创建开发账号,请输入 : dev
33[0m""")

choices = input("请输入你要创建的账号类型 : ").strip()

def create_mysql_user():
    user = input("请设置user : ").strip()
    host = input("请设置host : ").strip()
    password = input("请设置密码 : ").strip()
    create_user = "create user " + "" + user + "" + "@" + "" + host + "" + " identified by " + "" + password + "‘;"
    if choices == manager:
        grant_user = "grant all privileges on *.* to " + "" + user + "" + "@" + "" + host + "" + " with grant option;"
    else:
        grant_user = "grant SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE TEMPORARY TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER on *.* to " + "" + user + "" + "@" + "" + host + "" + " with grant option;"
    show_grants = "show grants for " + "" + user + "" + "@" + "" + host + "‘;"
    subprocess.run([/usr/local/mysql/bin/mysql --login-path= + conn_user +  -e  + " + create_user + "], shell=True)
    subprocess.run([/usr/local/mysql/bin/mysql --login-path= + conn_user +  -e  + " + grant_user + "], shell=True)
    subprocess.run([/usr/local/mysql/bin/mysqladmin --login-path= + conn_user +  flush-privileges], shell=True)
    subprocess.run([/usr/local/mysql/bin/mysql --login-path= + conn_user +  -e  + " + show_grants + "], shell=True)
    return


if choices == manager:
    create_mysql_user()
elif choices == dev:
    create_mysql_user()
else:
    print("33[1;31m你输入有误!33[0m")

 

以上是关于创建MySQL账户的主要内容,如果未能解决你的问题,请参考以下文章

MySQL之账户管理

Docker下登入mysql并创建用户账户密码

远程连接mysql 授权方法详解

MySQL8初始化账户创建及权限分配

MySQL_8.0与5.7区别之账户与安全

京东账户——Mysql/PHP/Ajax爬坑之产品列表显示