diff --git a/plugins/mysql-apt/index.py b/plugins/mysql-apt/index.py
index dc3ba063d..a6d426d5a 100755
--- a/plugins/mysql-apt/index.py
+++ b/plugins/mysql-apt/index.py
@@ -2013,7 +2013,8 @@ def addMasterRepSlaveUser(version=''):
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 mysql_native_password BY '" + password + "';"
pdb.execute(sql)
@@ -2031,13 +2032,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, '添加成功!')
@@ -2076,29 +2076,31 @@ def getMasterRepSlaveUserCmd(version):
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
+ 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 += "
";
+ # sql += base_sql + ", MASTER_AUTO_POSITION=1" + channel_name
+ sql += base_sql + channel_name
+ sql += "
";
+
+ sql += base_sql + "', MASTER_LOG_FILE='" + mstatus[0]["File"] + "',MASTER_LOG_POS=" + str(mstatus[0]["Position"]) + channel_name
else:
- sql = "CHANGE MASTER TO MASTER_HOST='" + ip + "', MASTER_PORT=" + port + ", MASTER_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='" + \
+ base_sql = "CHANGE REPLICATION SOURCE TO SOURCE_HOST='" + ip + "', SOURCE_PORT=" + port + ", SOURCE_USER='" + \
clist[0]['username'] + "', SOURCE_PASSWORD='" + \
- clist[0]['password'] + \
- "', SOURCE_LOG_FILE='" + mstatus[0]["File"] + \
- "',SOURCE_LOG_POS=" + \
- str(mstatus[0]["Position"]) + channel_name
+ clist[0]['password']+"'"
+ sql += base_sql;
+ sql += "
";
+ # sql += base_sql + ", MASTER_AUTO_POSITION=1" + channel_name
+ sql += base_sql + channel_name
+ sql += "
";
+ sql += base_sql + "', SOURCE_LOG_FILE='" + mstatus[0]["File"] + "',SOURCE_LOG_POS=" + str(mstatus[0]["Position"]) + channel_name
+
data = {}
data['cmd'] = sql
diff --git a/plugins/mysql-apt/js/mysql-apt.js b/plugins/mysql-apt/js/mysql-apt.js
index a04dc3f43..0a80680b0 100755
--- a/plugins/mysql-apt/js/mysql-apt.js
+++ b/plugins/mysql-apt/js/mysql-apt.js
@@ -2752,7 +2752,7 @@ function masterOrSlaveConf(version=''){
return false;
},
change:function(index,mode,reload){
- console.log(index,mode,reload);
+ // console.log(index,mode,reload);
myPost('set_dbrun_mode',{'mode':mode,'reload':reload},function(data){
layer.close(index);
var rdata = $.parseJSON(data.data);
diff --git a/plugins/mysql/index.py b/plugins/mysql/index.py
index 07a921bc2..f2e90c0eb 100755
--- a/plugins/mysql/index.py
+++ b/plugins/mysql/index.py
@@ -2313,7 +2313,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', ]
if username in checks or len(username) < 1:
return mw.returnJson(False, '用户名不合法!')
if password in checks or len(password) < 1:
@@ -2330,7 +2330,8 @@ def addMasterRepSlaveUser(version=''):
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 + "';"
pdb.execute(sql)
@@ -2339,7 +2340,6 @@ def addMasterRepSlaveUser(version=''):
isError = isSqlError(result)
if isError != None:
return isError
-
else:
sql = "grant replication SLAVE ON *.* TO '" + username + \
"'@'%' identified by '" + password + "';"