pull/597/head
Mr Chen 11 months ago
parent f75c42690b
commit b5845d3881
  1. 2
      plugins/mysql-apt/index.py
  2. 72
      plugins/mysql-yum/index.py
  3. 2
      plugins/mysql/index.py

@ -2003,7 +2003,7 @@ def addMasterRepSlaveUser(version=''):
reg = "^[\w-]+$" reg = "^[\w-]+$"
if not re.match(reg, username): if not re.match(reg, username):
return mw.returnJson(False, '用户名不能带有特殊符号!') return mw.returnJson(False, '用户名不能带有特殊符号!')
checks = ['root', 'mysql', 'test', 'sys', 'panel_logs'] checks = ['root', 'mysql', 'test', 'sys', 'performance_schema','information_schema']
if username in checks or len(username) < 1: if username in checks or len(username) < 1:
return mw.returnJson(False, '用户名不合法!') return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1: if password in checks or len(password) < 1:

@ -1239,7 +1239,7 @@ def addDb():
reg = "^[\w-]+$" reg = "^[\w-]+$"
if not re.match(reg, args['name']): if not re.match(reg, args['name']):
return mw.returnJson(False, '数据库名称不能带有特殊符号!') return mw.returnJson(False, '数据库名称不能带有特殊符号!')
checks = ['root', 'mysql', 'test', 'sys', 'panel_logs'] checks = ['root', 'mysql', 'test', 'sys', 'performance_schema','information_schema']
if dbuser in checks or len(dbuser) < 1: if dbuser in checks or len(dbuser) < 1:
return mw.returnJson(False, '数据库用户名不合法!') return mw.returnJson(False, '数据库用户名不合法!')
if dbname in checks or len(dbname) < 1: if dbname in checks or len(dbname) < 1:
@ -1979,21 +1979,17 @@ def addMasterRepSlaveUser(version=''):
if not data[0]: if not data[0]:
return data[1] return data[1]
if not 'address' in args: address = ''
address = '' if 'address' in args:
else:
address = args['address'].strip() address = args['address'].strip()
username = args['username'].strip() username = args['username'].strip()
password = args['password'].strip() password = args['password'].strip()
# ps = args['ps'].strip()
# address = args['address'].strip()
# dataAccess = args['dataAccess'].strip()
reg = "^[\w-]+$" reg = "^[\w-]+$"
if not re.match(reg, username): if not re.match(reg, username):
return mw.returnJson(False, '用户名不能带有特殊符号!') return mw.returnJson(False, '用户名不能带有特殊符号!')
checks = ['root', 'mysql', 'test', 'sys', 'panel_logs'] checks = ['root', 'mysql', 'test', 'sys', 'performance_schema','information_schema']
if username in checks or len(username) < 1: if username in checks or len(username) < 1:
return mw.returnJson(False, '用户名不合法!') return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1: if password in checks or len(password) < 1:
@ -2005,14 +2001,13 @@ def addMasterRepSlaveUser(version=''):
pdb = pMysqlDb() pdb = pMysqlDb()
psdb = pSqliteDb('master_replication_user') psdb = pSqliteDb('master_replication_user')
auth_policy = getAuthPolicy()
if psdb.where("username=?", (username)).count() > 0: if psdb.where("username=?", (username)).count() > 0:
return mw.returnJson(False, '用户已存在!') return mw.returnJson(False, '用户已存在!')
if version == "8.0": mdb8 = ['8.0','8.1','8.2','8.3','8.4']
if mw.inArray(mdb8,version):
sql = "CREATE USER '" + username + \ sql = "CREATE USER '" + username + \
"' IDENTIFIED WITH "+auth_policy+" BY '" + password + "';" "' IDENTIFIED WITH mysql_native_password BY '" + password + "';"
pdb.execute(sql) pdb.execute(sql)
sql = "grant replication slave on *.* to '" + username + "'@'%';" sql = "grant replication slave on *.* to '" + username + "'@'%';"
result = pdb.execute(sql) result = pdb.execute(sql)
@ -2028,13 +2023,12 @@ def addMasterRepSlaveUser(version=''):
if isError != None: if isError != None:
return isError return isError
sql_select = "grant select,lock tables,PROCESS on *.* to " + username + "@'%';" sql_select = "grant select,reload,REPLICATION CLIENT,PROCESS on *.* to " + username + "@'%';"
pdb.execute(sql_select) pdb.execute(sql_select)
pdb.execute('FLUSH PRIVILEGES;') pdb.execute('FLUSH PRIVILEGES;')
addTime = time.strftime('%Y-%m-%d %X', time.localtime()) addTime = time.strftime('%Y-%m-%d %X', time.localtime())
psdb.add('username,password,accept,ps,addtime', psdb.add('username,password,accept,ps,addtime',(username, password, '%', '', addTime))
(username, password, '%', '', addTime))
return mw.returnJson(True, '添加成功!') return mw.returnJson(True, '添加成功!')
@ -2071,31 +2065,33 @@ def getMasterRepSlaveUserCmd(version):
sid = getDbServerId() sid = getDbServerId()
channel_name = "" channel_name = ""
if sid != '': if sid != '':
channel_name = " for channel 'r{}';".format(sid) channel_name = " for channel 'r{}'".format(sid)
if mode == "gtid": mdb8 = ['8.0','8.1','8.2','8.3','8.4']
sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_USER='" + \ sql = ''
clist[0]['username'] + "', MASTER_PASSWORD='" + \ if not mw.inArray(mdb8,version):
clist[0]['password'] + "', MASTER_AUTO_POSITION=1" + channel_name base_sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_USER='" + \
if version == '8.0': clist[0]['username'] + "', MASTER_PASSWORD='" + \
sql = "CHANGE REPLICATION SOURCE TO SOURCE_HOST='" + ip + "', SOURCE_PORT=" + port + ", SOURCE_USER='" + \ clist[0]['password'] + "'"
clist[0]['username'] + "', SOURCE_PASSWORD='" + \
clist[0]['password'] + \ sql += base_sql;
"', MASTER_AUTO_POSITION=1" + channel_name sql += "<br/><hr/>";
# sql += base_sql + ", MASTER_AUTO_POSITION=1" + channel_name
sql += base_sql + channel_name
sql += "<br/><hr/>";
sql += base_sql + "', MASTER_LOG_FILE='" + mstatus[0]["File"] + "',MASTER_LOG_POS=" + str(mstatus[0]["Position"]) + channel_name
else: else:
sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_USER='" + \ base_sql = "CHANGE REPLICATION SOURCE TO SOURCE_HOST='" + ip + "', SOURCE_PORT=" + port + ", SOURCE_USER='" + \
clist[0]['username'] + "', MASTER_PASSWORD='" + \
clist[0]['password'] + \
"', MASTER_LOG_FILE='" + mstatus[0]["File"] + \
"',MASTER_LOG_POS=" + str(mstatus[0]["Position"]) + channel_name
if version == "8.0":
sql = "CHANGE REPLICATION SOURCE TO SOURCE_HOST='" + ip + "', SOURCE_PORT=" + port + ", SOURCE_USER='" + \
clist[0]['username'] + "', SOURCE_PASSWORD='" + \ clist[0]['username'] + "', SOURCE_PASSWORD='" + \
clist[0]['password'] + \ clist[0]['password']+"'"
"', SOURCE_LOG_FILE='" + mstatus[0]["File"] + \ sql += base_sql;
"',SOURCE_LOG_POS=" + \ sql += "<br/><hr/>";
str(mstatus[0]["Position"]) + channel_name # sql += base_sql + ", MASTER_AUTO_POSITION=1" + channel_name
sql += base_sql + channel_name
sql += "<br/><hr/>";
sql += base_sql + "', SOURCE_LOG_FILE='" + mstatus[0]["File"] + "',SOURCE_LOG_POS=" + str(mstatus[0]["Position"]) + channel_name
data = {} data = {}
data['cmd'] = sql data['cmd'] = sql

@ -2313,7 +2313,7 @@ def addMasterRepSlaveUser(version=''):
reg = "^[\w-]+$" reg = "^[\w-]+$"
if not re.match(reg, username): if not re.match(reg, username):
return mw.returnJson(False, '用户名不能带有特殊符号!') return mw.returnJson(False, '用户名不能带有特殊符号!')
checks = ['root', 'mysql', 'test', 'sys', ] checks = ['root', 'mysql', 'test', 'sys', 'performance_schema','information_schema']
if username in checks or len(username) < 1: if username in checks or len(username) < 1:
return mw.returnJson(False, '用户名不合法!') return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1: if password in checks or len(password) < 1:

Loading…
Cancel
Save