function selectChange() {
$("#SelectVersion,#selectVer").change(function() {
var info = $(this).val();
var name = info.split(" ")[0];
var version = info.split(" ")[1];
max = 64
msg = "64M"
if (name == 'mysql') {
memSize = getCookie('memSize');
switch (version) {
case '5.1':
max = 256;
msg = '256M';
break;
case '8.0':
max = 5200;
msg = '6GB';
break;
case '5.7':
max = 1500;
msg = '2GB';
break;
case '5.6':
max = 800;
msg = '1GB';
break;
case 'AliSQL':
max = 800;
msg = '1GB';
break;
case 'mariadb_10.0':
max = 800;
msg = '1GB';
break;
case 'mariadb_10.1':
max = 1500;
msg = '2GB';
break;
}
if (memSize < max) {
layer.msg(lan.bt.insatll_mem.replace('{1}', msg).replace('{2}', version), { icon: 5 });
}
}
});
}
//设置二进制日志
function SetBinLog() {
var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: 0.3 });
$.post('/database?action=BinLog', "", function(rdata) {
layer.close(loadT);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
mysqlLog();
});
}
//清空日志
function closeMySqlLog() {
var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: 0.3 });
$.post('/database?action=GetErrorLog', "close=1", function(rdata) {
layer.close(loadT);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
mysqlLog();
});
}
//数据库端口
function changeMySQLPort(act) {
if (act != undefined) {
layer.confirm(lan.soft.mysql_port_title, { closeBtn: 2, icon: 3 }, function() {
var port = $("#dataport").val();
var data = 'port=' + port;
var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: [0.3, '#000'] });
$.post('/database?action=SetMySQLPort', data, function(rdata) {
layer.close(loadT)
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
});
});
return;
}
$.post('/database?action=GetMySQLInfo', '', function(rdata) {
var LimitCon = '
\
\
\
';
$(".soft-man-con").html(LimitCon);
});
}
//软件切换版本
function softChangeVer(name, version) {
if (name == "mysqld") name = "mysql";
var veropt = version.split("|");
var SelectVersion = '';
for (var i = 0; i < veropt.length; i++) {
SelectVersion += '';
}
var body = "
" + lan.soft.select_version + "
';
if (name == 'mysql') {
body += "
" + lan.soft.mysql_f + "
"
}
$(".soft-man-con").html(body);
$(".btn-success").click(function() {
var ver = $("#selectVer").val();
oneInstall(name, ver.split(" ")[1]);
});
selectChange();
}
//设置MySQL配置参数
function SetMySQLConf() {
$.post('/system?action=GetMemInfo', '', function(memInfo) {
//var memSize = memInfo['memTotal'];
//var setSize = parseInt($("input[name='memSize']").val());
//if(memSize < setSize){
// var msg = lan.soft.mysql_set_err.replace('{1}',memSize).replace('{2}',setSize);
// layer.msg(msg,{icon:2,time:5000});
// return;
//}
var query_cache_size = parseInt($("input[name='query_cache_size']").val());
var query_cache_type = 0;
if (query_cache_size > 0) {
query_cache_type = 1;
}
var data = {
key_buffer_size: parseInt($("input[name='key_buffer_size']").val()),
query_cache_size: query_cache_size,
query_cache_type: query_cache_type,
tmp_table_size: parseInt($("input[name='tmp_table_size']").val()),
max_heap_table_size: parseInt($("input[name='tmp_table_size']").val()),
innodb_buffer_pool_size: parseInt($("input[name='innodb_buffer_pool_size']").val()),
innodb_log_buffer_size: parseInt($("input[name='innodb_log_buffer_size']").val()),
sort_buffer_size: parseInt($("input[name='sort_buffer_size']").val()),
read_buffer_size: parseInt($("input[name='read_buffer_size']").val()),
read_rnd_buffer_size: parseInt($("input[name='read_rnd_buffer_size']").val()),
join_buffer_size: parseInt($("input[name='join_buffer_size']").val()),
thread_stack: parseInt($("input[name='thread_stack']").val()),
binlog_cache_size: parseInt($("input[name='binlog_cache_size']").val()),
thread_cache_size: parseInt($("input[name='thread_cache_size']").val()),
table_open_cache: parseInt($("input[name='table_open_cache']").val()),
max_connections: parseInt($("input[name='max_connections']").val())
};
$.post('/database?action=SetDbConf', data, function(rdata) {
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
});
})
}
//MySQL内存优化方案
function MySQLMemOpt(opt) {
var query_size = parseInt($("input[name='query_cache_size']").val());
switch (opt) {
case '1':
$("input[name='key_buffer_size']").val(128);
if (query_size) $("input[name='query_cache_size']").val(64);
$("input[name='tmp_table_size']").val(64);
$("input[name='innodb_buffer_pool_size']").val(256);
$("input[name='sort_buffer_size']").val(768);
$("input[name='read_buffer_size']").val(768);
$("input[name='read_rnd_buffer_size']").val(512);
$("input[name='join_buffer_size']").val(1024);
$("input[name='thread_stack']").val(256);
$("input[name='binlog_cache_size']").val(64);
$("input[name='thread_cache_size']").val(64);
$("input[name='table_open_cache']").val(128);
$("input[name='max_connections']").val(100);
break;
case '2':
$("input[name='key_buffer_size']").val(256);
if (query_size) $("input[name='query_cache_size']").val(128);
$("input[name='tmp_table_size']").val(384);
$("input[name='innodb_buffer_pool_size']").val(384);
$("input[name='sort_buffer_size']").val(768);
$("input[name='read_buffer_size']").val(768);
$("input[name='read_rnd_buffer_size']").val(512);
$("input[name='join_buffer_size']").val(2048);
$("input[name='thread_stack']").val(256);
$("input[name='binlog_cache_size']").val(64);
$("input[name='thread_cache_size']").val(96);
$("input[name='table_open_cache']").val(192);
$("input[name='max_connections']").val(200);
break;
case '3':
$("input[name='key_buffer_size']").val(384);
if (query_size) $("input[name='query_cache_size']").val(192);
$("input[name='tmp_table_size']").val(512);
$("input[name='innodb_buffer_pool_size']").val(512);
$("input[name='sort_buffer_size']").val(1024);
$("input[name='read_buffer_size']").val(1024);
$("input[name='read_rnd_buffer_size']").val(768);
$("input[name='join_buffer_size']").val(2048);
$("input[name='thread_stack']").val(256);
$("input[name='binlog_cache_size']").val(128);
$("input[name='thread_cache_size']").val(128);
$("input[name='table_open_cache']").val(384);
$("input[name='max_connections']").val(300);
break;
case '4':
$("input[name='key_buffer_size']").val(512);
if (query_size) $("input[name='query_cache_size']").val(256);
$("input[name='tmp_table_size']").val(1024);
$("input[name='innodb_buffer_pool_size']").val(1024);
$("input[name='sort_buffer_size']").val(2048);
$("input[name='read_buffer_size']").val(2048);
$("input[name='read_rnd_buffer_size']").val(1024);
$("input[name='join_buffer_size']").val(4096);
$("input[name='thread_stack']").val(384);
$("input[name='binlog_cache_size']").val(192);
$("input[name='thread_cache_size']").val(192);
$("input[name='table_open_cache']").val(1024);
$("input[name='max_connections']").val(400);
break;
case '5':
$("input[name='key_buffer_size']").val(1024);
if (query_size) $("input[name='query_cache_size']").val(384);
$("input[name='tmp_table_size']").val(2048);
$("input[name='innodb_buffer_pool_size']").val(4096);
$("input[name='sort_buffer_size']").val(4096);
$("input[name='read_buffer_size']").val(4096);
$("input[name='read_rnd_buffer_size']").val(2048);
$("input[name='join_buffer_size']").val(8192);
$("input[name='thread_stack']").val(512);
$("input[name='binlog_cache_size']").val(256);
$("input[name='thread_cache_size']").val(256);
$("input[name='table_open_cache']").val(2048);
$("input[name='max_connections']").val(500);
break;
}
}
//重启MySQL
function ReBootMySqld() {
var loadT = layer.msg(lan.get('service_the', [lan.bt.restart, 'MySQLd']), { icon: 16, time: 0, shade: 0.3 });
$.post('/system?action=ServiceAdmin', 'name=mysqld&type=restart', function(rdata) {
layer.close(loadT);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 });
});
}
//计算MySQL内存开销
function ComMySqlMem() {
var key_buffer_size = parseInt($("input[name='key_buffer_size']").val());
var query_cache_size = parseInt($("input[name='query_cache_size']").val());
var tmp_table_size = parseInt($("input[name='tmp_table_size']").val());
var innodb_buffer_pool_size = parseInt($("input[name='innodb_buffer_pool_size']").val());
var innodb_additional_mem_pool_size = parseInt($("input[name='innodb_additional_mem_pool_size']").val());
var innodb_log_buffer_size = parseInt($("input[name='innodb_log_buffer_size']").val());
var sort_buffer_size = $("input[name='sort_buffer_size']").val() / 1024;
var read_buffer_size = $("input[name='read_buffer_size']").val() / 1024;
var read_rnd_buffer_size = $("input[name='read_rnd_buffer_size']").val() / 1024;
var join_buffer_size = $("input[name='join_buffer_size']").val() / 1024;
var thread_stack = $("input[name='thread_stack']").val() / 1024;
var binlog_cache_size = $("input[name='binlog_cache_size']").val() / 1024;
var max_connections = $("input[name='max_connections']").val();
var a = key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size
var b = sort_buffer_size + read_buffer_size + read_rnd_buffer_size + join_buffer_size + thread_stack + binlog_cache_size
var memSize = a + max_connections * b
$("input[name='memSize']").val(memSize.toFixed(2));
}
//数据库存储信置
function changeMySQLDataPath(act) {
if (act != undefined) {
layer.confirm(lan.soft.mysql_to_msg, { closeBtn: 2, icon: 3 }, function() {
var datadir = $("#datadir").val();
var data = 'datadir=' + datadir;
var loadT = layer.msg(lan.soft.mysql_to_msg1, { icon: 16, time: 0, shade: [0.3, '#000'] });
$.post('/database?action=SetDataDir', data, function(rdata) {
layer.close(loadT)
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
});
});
return;
}
$.post('/database?action=GetMySQLInfo', '', function(rdata) {
var LimitCon = '
\
\
\
';
$(".soft-man-con").html(LimitCon);
});
}
//MySQL-Slow日志
function mysqlSlowLog() {
var loadT = layer.msg(lan.public.the, { icon: 16, time: 0, shade: [0.3, '#000'] });
$.post('/database?action=GetSlowLogs', {}, function(logs) {
layer.close(loadT);
if (logs.status !== true) {
logs.msg = '';
}
if (logs.msg == '') logs.msg = '当前没有慢日志.';
var phpCon = '';
$(".soft-man-con").html(phpCon);
var ob = document.getElementById('error_log');
ob.scrollTop = ob.scrollHeight;
});
}
//数据库日志
function mysqlLog(act) {
//获取二进制日志相关信息
$.post('/database?action=BinLog', "status=1", function(rdata) {
var limitCon = '
'
$(".soft-man-con").html(Con);
});
}
//数据库配置状态
function mysqlStatus() {
//获取MySQL配置
$.post('/database?action=GetDbStatus', "", function(rdata) {
var key_buffer_size = ToSizeM(rdata.mem.key_buffer_size)
var query_cache_size = ToSizeM(rdata.mem.query_cache_size)
var tmp_table_size = ToSizeM(rdata.mem.tmp_table_size)
var innodb_buffer_pool_size = ToSizeM(rdata.mem.innodb_buffer_pool_size)
var innodb_additional_mem_pool_size = ToSizeM(rdata.mem.innodb_additional_mem_pool_size)
var innodb_log_buffer_size = ToSizeM(rdata.mem.innodb_log_buffer_size)
var sort_buffer_size = ToSizeM(rdata.mem.sort_buffer_size)
var read_buffer_size = ToSizeM(rdata.mem.read_buffer_size)
var read_rnd_buffer_size = ToSizeM(rdata.mem.read_rnd_buffer_size)
var join_buffer_size = ToSizeM(rdata.mem.join_buffer_size)
var thread_stack = ToSizeM(rdata.mem.thread_stack)
var binlog_cache_size = ToSizeM(rdata.mem.binlog_cache_size)
var a = key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size
var b = sort_buffer_size + read_buffer_size + read_rnd_buffer_size + join_buffer_size + thread_stack + binlog_cache_size
var memSize = a + rdata.mem.max_connections * b
var memCon = '