页面优化

pull/149/head
midoks 3 years ago
parent 83cab0a5b3
commit 209488b0ed
  1. 54
      plugins/mysql/index.py
  2. 38
      plugins/mysql/js/mysql.js

@ -1863,11 +1863,58 @@ def getSlaveSyncCmd(version=''):
return mw.returnJson(True, 'ok', cmd)
def initSlaveStatus(version=''):
db = pMysqlDb()
dlist = db.query('show slave status')
if len(dlist) > 0:
return mw.returnJson(False, '已经初始化好了zz...')
id_rsa_conn = pSqliteDb('slave_id_rsa')
data = id_rsa_conn.field('ip,port,id_rsa').select()
if len(data) < 1:
return mw.returnJson(False, '需要先配置【[主]SSH配置】!')
SSH_PRIVATE_KEY = "/tmp/t_ssh.txt"
ip = data[0]['ip']
master_port = int(data[0]['port'])
mw.writeFile(SSH_PRIVATE_KEY, data[0]['id_rsa'].replace('\\n', '\n'))
try:
import paramiko
paramiko.util.log_to_file('paramiko.log')
ssh = paramiko.SSHClient()
mw.execShell("chmod 600 " + SSH_PRIVATE_KEY)
key = paramiko.RSAKey.from_private_key_file(SSH_PRIVATE_KEY)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip, port=master_port,
username='root', pkey=key)
cmd = 'cd /www/server/mdserver-web && \
python3 /www/server/mdserver-web/plugins/mysql/index.py get_master_rep_slave_user_cmd {"username":"","db":""}'
stdin, stdout, stderr = ssh.exec_command(cmd)
result = stdout.read()
# result_err = stderr.read()
result = result.decode('utf-8')
cmd_data = json.loads(result)
db.query('stop slave')
db.query(cmd_data['data'])
db.query('start slave')
except Exception as e:
return mw.returnJson(True, 'SSH认证配置连接失败!' + str(e))
time.sleep(0.5)
ssh.close()
os.system("rm -rf " + SSH_PRIVATE_KEY)
return mw.returnJson(True, '设置成功!')
def setSlaveStatus(version=''):
db = pMysqlDb()
dlist = db.query('show slave status')
if len(dlist) == 0:
return mw.returnJson(False, '需要手动添加主服务同步命令!')
return mw.returnJson(False, '需要手动添加主服务同步命令或者执行[初始化]!')
if len(dlist) > 0 and (dlist[0]["Slave_IO_Running"] == 'Yes' or dlist[0]["Slave_SQL_Running"] == 'Yes'):
db.query('stop slave')
@ -1879,7 +1926,8 @@ def setSlaveStatus(version=''):
def deleteSlave(version=''):
db = pMysqlDb()
dlist = db.query('stop slave;reset slave all')
dlist = db.query('stop slave')
dlist = db.query('reset slave all')
return mw.returnJson(True, '删除成功!')
@ -2216,6 +2264,8 @@ if __name__ == "__main__":
print(delSlaveSSH(version))
elif func == 'update_slave_ssh':
print(updateSlaveSSH(version))
elif func == 'init_slave_status':
print(initSlaveStatus(version))
elif func == 'set_slave_status':
print(setSlaveStatus(version))
elif func == 'delete_slave':

@ -1081,7 +1081,7 @@ function myLogs(){
} else {
error_body = rdata.msg;
}
$("#error_log").text(error_body);
$("#error_log").html(error_body);
var ob = document.getElementById('error_log');
ob.scrollTop = ob.scrollHeight;
});
@ -1467,11 +1467,9 @@ function getMasterRepSlaveList(){
function deleteSlave(){
myPost('delete_slave', {}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata['msg']);
setTimeout(function(){
showMsg(rdata['msg'], function(){
masterOrSlaveConf();
}, 3000);
},{},3000);
});
}
@ -1546,7 +1544,7 @@ function addSlaveSSH(ip=''){
var index = layer.open({
type: 1,
area: ['500px','400px'],
area: ['500px','450px'],
title: '添加SSH',
closeBtn: 1,
shift: 5,
@ -1557,11 +1555,13 @@ function addSlaveSSH(ip=''){
<div class='line'><span class='tname'>端口</span><div class='info-r'><input name='port' class='bt-input-text mr5' type='text' style='width:330px;' value='"+port+"'></div></div>\
<div class='line'>\
<span class='tname'>ID_RSA</span>\
<div class='info-r'><textarea class='bt-input-text mr5' row='20' cols='50' name='id_rsa' style='width:330px;height:200px;'>"+id_rsa+"</textarea></div>\
<div class='info-r'><textarea class='bt-input-text mr5' row='20' cols='50' name='id_rsa' style='width:330px;height:200px;'></textarea></div>\
</div>\
<input type='hidden' name='ps' value='' />\
</form>",
success:function(){},
success:function(){
$('textarea[name="id_rsa"]').html(id_rsa);
},
yes:function(index){
var ip = $('input[name="ip"]').val();
var port = $('input[name="port"]').val();
@ -1671,6 +1671,17 @@ function handlerRun(){
});
}
function initSlaveStatus(){
myPost('init_slave_status', '', function(data){
var rdata = $.parseJSON(data.data);
showMsg(rdata.msg,function(){
if (rdata.status){
masterOrSlaveConf();
}
},{icon:rdata.status?1:2},2000);
});
}
function masterOrSlaveConf(version=''){
function getMasterDbList(){
@ -1813,7 +1824,6 @@ function masterOrSlaveConf(version=''){
<div class="table_toolbar" style="left:0px;">\
<span class="sync btn btn-default btn-sm" onclick="handlerRun()" title="免登录设置后,需要手动执行一下!">手动命令</span>\
<span class="sync btn btn-default btn-sm" onclick="getFullSyncStatus(\'ALL\')" title="全量同步">全量同步</span>\
<span class="sync btn btn-default btn-sm" onclick="getSlaveSSHList()" title="[主]SSH配置">[]SSH配置</span>\
</div>\
</div>';
@ -1822,20 +1832,26 @@ function masterOrSlaveConf(version=''){
});
}
function getMasterStatus(){
myPost('get_master_status', '', function(data){
var rdata = $.parseJSON(data.data);
var limitCon = '<p class="conf_p">\
<span class="f14 c6 mr20">Master[]配置</span><span class="f14 c6 mr20"></span>\
<button class="btn '+(!rdata.status ? 'btn-danger' : 'btn-success')+' btn-xs btn-master va0">'+(!rdata.status ? '未开启' : '已开启') +'</button><hr/>\
<button class="btn '+(!rdata.status ? 'btn-danger' : 'btn-success')+' btn-xs btn-master">'+(!rdata.status ? '未开启' : '已开启') +'</button><hr/>\
</p>\
<!-- master list -->\
<div class="safe bgw table_master_list"></div>\
<hr/>\
<!-- class="conf_p" -->\
<p class="conf_p">\
<span class="f14 c6 mr20">Slave[]配置</span><span class="f14 c6 mr20"></span>\
<button class="btn '+(!rdata.data.slave_status ? 'btn-danger' : 'btn-success')+' btn-xs btn-slave va0">'+(!rdata.data.slave_status ? '未启动' : '已启动') +'</button><hr/>\
<button class="btn '+(!rdata.data.slave_status ? 'btn-danger' : 'btn-success')+' btn-xs btn-slave">'+(!rdata.data.slave_status ? '未启动' : '已启动') +'</button>\
<button class="btn btn-success btn-xs" onclick="getSlaveSSHList()" >[]SSH配置</button>\
<button class="btn btn-success btn-xs" onclick="initSlaveStatus()" >初始化</button>\
</p>\
<hr/>\
<!-- slave status list -->\
<div class="safe bgw table_slave_status_list"></div>\
<!-- slave list -->\

Loading…
Cancel
Save