From ecde4261abea888e832337fd44ef113e505a6ac1 Mon Sep 17 00:00:00 2001 From: midoks Date: Sun, 7 Aug 2022 16:11:25 +0800 Subject: [PATCH] up --- plugins/mariadb/conf/my.cnf | 1 - plugins/mariadb/index.py | 29 ++++++++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/plugins/mariadb/conf/my.cnf b/plugins/mariadb/conf/my.cnf index 4275b58f3..db6c6db8d 100644 --- a/plugins/mariadb/conf/my.cnf +++ b/plugins/mariadb/conf/my.cnf @@ -45,7 +45,6 @@ open_files_limit = 65535 log-bin=mysql-bin binlog_format=mixed -server-id = 1 expire_logs_days = 10 slow_query_log=1 slow-query-log-file={$SERVER_APP_PATH}/data/mysql-slow.log diff --git a/plugins/mariadb/index.py b/plugins/mariadb/index.py index 93e8e5001..c05e2b7ad 100755 --- a/plugins/mariadb/index.py +++ b/plugins/mariadb/index.py @@ -1887,6 +1887,8 @@ def getSlaveList(version=''): db = pMysqlDb() dlist = db.query('show slave status') + + # print(dlist) ret = [] for x in range(0, len(dlist)): tmp = {} @@ -1918,7 +1920,7 @@ def initSlaveStatus(version=''): return mw.returnJson(False, '已经初始化好了zz...') conn = pSqliteDb('slave_id_rsa') - data = conn.field('ip,port,id_rsa').find() + data = conn.field('ip,port,id_rsa,db_user').find() if len(data) < 1: return mw.returnJson(False, '需要先配置【[主]SSH配置】!') @@ -1940,12 +1942,14 @@ def initSlaveStatus(version=''): ssh.connect(hostname=ip, port=int(master_port), username='root', pkey=key) - cmd = 'cd /www/server/mdserver-web && python3 plugins/mariadb/index.py get_master_rep_slave_user_cmd {"username":"","db":""}' + db_user = data['db_user'] + cmd = 'cd /www/server/mdserver-web && python3 plugins/mariadb/index.py get_master_rep_slave_user_cmd {"username":"' + db_user + '","db":""}' stdin, stdout, stderr = ssh.exec_command(cmd) result = stdout.read() result = result.decode('utf-8') cmd_data = json.loads(result) - + time.sleep(1) + ssh.close() if not cmd_data['status']: return mw.returnJson(False, '[主]:' + cmd_data['msg']) @@ -1961,20 +1965,20 @@ def initSlaveStatus(version=''): # 保证同步IP一致 cmd = cmd_data['data']['cmd'] if cmd.find('SOURCE_HOST') > -1: - cmd = re.sub(r"SOURCE_HOST='(.*)'", + cmd = re.sub(r"SOURCE_HOST='(.*?)'", "SOURCE_HOST='" + ip + "'", cmd, 1) if cmd.find('MASTER_HOST') > -1: - cmd = re.sub(r"MASTER_HOST='(.*)'", + cmd = re.sub(r"MASTER_HOST='(.*?)'", "MASTER_HOST='" + ip + "'", cmd, 1) + + # print(cmd) db.query(cmd) - db.query("start slave user='{}' password='{}';".format( - u['username'], u['password'])) + db.query("start slave") + except Exception as e: return mw.returnJson(False, 'SSH认证配置连接失败!' + str(e)) - ssh.close() - time.sleep(1) os.system("rm -rf " + SSH_PRIVATE_KEY) return mw.returnJson(True, '初始化成功!') @@ -1986,6 +1990,7 @@ def setSlaveStatus(version=''): if len(dlist) == 0: return mw.returnJson(False, '需要手动添加主服务命令或者执行[初始化]!') + # print(dlist) if len(dlist) > 0 and (dlist[0]["Slave_IO_Running"] == 'Yes' or dlist[0]["Slave_SQL_Running"] == 'Yes'): db.query('stop slave') else: @@ -1994,8 +1999,7 @@ def setSlaveStatus(version=''): data = conn.field('ip,ps').where("ip=?", (ip,)).find() if len(data) == 0: return mw.returnJson(False, '没有数据无法重启!') - u = data['ps'].split("|") - db.query("start slave user='{}' password='{}';".format(u[0], u[1])) + db.query("start slave") return mw.returnJson(True, '设置成功!') @@ -2159,8 +2163,7 @@ def doFullSync(version=''): writeDbSyncStatus({'code': 5, 'msg': '导入数据失败...', 'progress': 100}) return 'fail' - db.query("start slave user='{}' password='{}';".format( - uinfo['username'], uinfo['password'])) + db.query("start slave") writeDbSyncStatus({'code': 6, 'msg': '从库重启完成...', 'progress': 100}) os.system("rm -rf " + SSH_PRIVATE_KEY)