diff --git a/plugins/mysql-apt/index.py b/plugins/mysql-apt/index.py
index 5a55cfaa9..7b88c8628 100755
--- a/plugins/mysql-apt/index.py
+++ b/plugins/mysql-apt/index.py
@@ -2003,7 +2003,7 @@ def addMasterRepSlaveUser(version=''):
reg = "^[\w-]+$"
if not re.match(reg, username):
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:
return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1:
diff --git a/plugins/mysql-yum/index.py b/plugins/mysql-yum/index.py
index 1ce4642b1..619c6ea78 100755
--- a/plugins/mysql-yum/index.py
+++ b/plugins/mysql-yum/index.py
@@ -1239,7 +1239,7 @@ def addDb():
reg = "^[\w-]+$"
if not re.match(reg, args['name']):
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:
return mw.returnJson(False, '数据库用户名不合法!')
if dbname in checks or len(dbname) < 1:
@@ -1979,21 +1979,17 @@ def addMasterRepSlaveUser(version=''):
if not data[0]:
return data[1]
- if not 'address' in args:
- address = ''
- else:
+ address = ''
+ if 'address' in args:
address = args['address'].strip()
username = args['username'].strip()
password = args['password'].strip()
- # ps = args['ps'].strip()
- # address = args['address'].strip()
- # dataAccess = args['dataAccess'].strip()
reg = "^[\w-]+$"
if not re.match(reg, username):
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:
return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1:
@@ -2005,14 +2001,13 @@ def addMasterRepSlaveUser(version=''):
pdb = pMysqlDb()
psdb = pSqliteDb('master_replication_user')
- auth_policy = getAuthPolicy()
-
if psdb.where("username=?", (username)).count() > 0:
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 + \
- "' IDENTIFIED WITH "+auth_policy+" BY '" + password + "';"
+ "' IDENTIFIED WITH mysql_native_password BY '" + password + "';"
pdb.execute(sql)
sql = "grant replication slave on *.* to '" + username + "'@'%';"
result = pdb.execute(sql)
@@ -2028,13 +2023,12 @@ def addMasterRepSlaveUser(version=''):
if isError != None:
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('FLUSH PRIVILEGES;')
addTime = time.strftime('%Y-%m-%d %X', time.localtime())
- psdb.add('username,password,accept,ps,addtime',
- (username, password, '%', '', addTime))
+ psdb.add('username,password,accept,ps,addtime',(username, password, '%', '', addTime))
return mw.returnJson(True, '添加成功!')
@@ -2071,31 +2065,33 @@ def getMasterRepSlaveUserCmd(version):
sid = getDbServerId()
channel_name = ""
if sid != '':
- channel_name = " for channel 'r{}';".format(sid)
-
- if mode == "gtid":
- sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_USER='" + \
- clist[0]['username'] + "', MASTER_PASSWORD='" + \
- clist[0]['password'] + "', MASTER_AUTO_POSITION=1" + 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]['password'] + \
- "', MASTER_AUTO_POSITION=1" + channel_name
+ channel_name = " for channel 'r{}'".format(sid)
+
+ mdb8 = ['8.0','8.1','8.2','8.3','8.4']
+ sql = ''
+ if not mw.inArray(mdb8,version):
+ base_sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_USER='" + \
+ clist[0]['username'] + "', MASTER_PASSWORD='" + \
+ clist[0]['password'] + "'"
+
+ sql += base_sql;
+ sql += "