HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index-legacy506.js
!function(){function e(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function t(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(n){i(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function r(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,u,o,i=[],c=!0,l=!1;try{if(u=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=u.call(t)).done)&&(i.push(r.value),i.length!==n);c=!0);}catch(e){l=!0,a=e}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(l)throw a}}return i}}(e,n)||a(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){if(e){if("string"==typeof e)return u(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,n):void 0}}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==o(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function u(t,r,a,u){var c=r&&r.prototype instanceof i?r:i,s=Object.create(c.prototype);return l(s,"_invoke",function(t,r,a){var u,i,c,l=0,s=a||[],f=!1,_={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return u=n,i=0,c=e,_.n=t,o}};function d(t,r){for(i=t,c=r,n=0;!f&&l&&!a&&n<s.length;n++){var a,u=s[n],d=_.p,m=u[2];t>3?(a=m===r)&&(c=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=e):u[0]<=d&&((a=t<2&&d<u[1])?(i=0,_.v=r,_.n=u[1]):d<m&&(a=t<3||u[0]>r||r>m)&&(u[4]=t,u[5]=r,_.n=m,i=0))}if(a||t>1)return o;throw f=!0,r}return function(a,s,m){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,m),i=s,c=m;(n=i<2?e:c)||!f;){u||(i?i<3?(i>1&&(_.n=-1),d(i,c)):_.n=c:_.v=c);try{if(l=2,u){if(i||(a="next"),n=u[a]){if(!(n=n.call(u,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,i<2&&(i=0)}else 1===i&&(n=u.return)&&n.call(u),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);u=e}else if((n=(f=_.n<0)?c:t.call(r,_))!==o)break}catch(n){u=e,i=1,c=n}finally{l=1}}return{value:n,done:f}}}(t,a,u),!0),s}var o={};function i(){}function s(){}function f(){}n=Object.getPrototypeOf;var _=[][r]?n(n([][r]())):(l(n={},r,function(){return this}),n),d=f.prototype=i.prototype=Object.create(_);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return s.prototype=f,l(d,"constructor",f),l(f,"constructor",s),s.displayName="GeneratorFunction",l(f,a,"GeneratorFunction"),l(d),l(d,a,"Generator"),l(d,r,function(){return this}),l(d,"toString",function(){return"[object Generator]"}),(c=function(){return{w:u,m:m}})()}function l(e,n,t,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}l=function(e,n,t,r){function u(n,t){l(e,n,function(e){return this._invoke(n,t,e)})}n?a?a(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(u("next",0),u("throw",1),u("return",2))},l(e,n,t,r)}function s(e,n,t,r,a,u,o){try{var i=e[u](o),c=i.value}catch(e){return void t(e)}i.done?n(c):Promise.resolve(c).then(r,a)}function f(e){return function(){var n=this,t=arguments;return new Promise(function(r,a){var u=e.apply(n,t);function o(e){s(u,r,a,o,i,"next",e)}function i(e){s(u,r,a,o,i,"throw",e)}o(void 0)})}}System.register(["./utils-lib-legacy.js?v=1777008528","./base-lib-legacy.js?v=1777008528","./index-legacy206.js?v=1777008528","./index-legacy116.js?v=1777008528","./index-legacy130.js?v=1777008528","./index.vue_vue_type_script_setup_true_lang-legacy24.js?v=1777008528","./index.vue_vue_type_script_setup_true_lang-legacy23.js?v=1777008528","./index-legacy3.js?v=1777008528","./store-legacy2.js?v=1777008528","./useMethod-legacy5.js?v=1777008528","./__commonjsHelpers__-legacy.js?v=1777008528","./ace-legacy.js?v=1777008528","./index-legacy119.js?v=1777008528","./database-legacy.js?v=1777008528","./useStore-legacy4.js?v=1777008528"],function(n,a){"use strict";var u,l,s,_,d,m,p,b,y,h,v,g,z,w,q,x,k,j,C,S,V,O,P,B,I,N,M,U,E,F,G,T,L,D,A,K,H,Q,R,Z,J,W,Y,$,X,ee,ne,te,re,ae,ue,oe,ie,ce,le,se,fe,_e,de,me,pe,be,ye,he,ve,ge,ze,we,qe,xe,ke,je,Ce,Se,Ve,Oe,Pe,Be;return{setters:[function(e){u=e.w,l=e.k,s=e.gl,_=e.M,d=e.gm,m=e.I,p=e.F,b=e.e,y=e._,h=e.R,v=e.G,g=e.bZ,z=e.j,w=e.dR,q=e.cP,x=e.W,k=e.K,j=e.cO,C=e.cR,S=e.cZ},function(e){V=e.aI,O=e.r,P=e.H,B=e.c,I=e.g,N=e.o,M=e.I,U=e.j,E=e.k,F=e.e,G=e.v,T=e.q,L=e.p,D=e.C,A=e.x,K=e.y,H=e.Q,Q=e.s,R=e.J,Z=e.F,J=e.B,W=e.K,Y=e.z,$=e.ad,X=e.ab,ee=e.aE,ne=e.b5,te=e.b6,re=e.ay,ae=e.aA,ue=e.am,oe=e.an,ie=e.G,ce=e.ap},function(e){le=e._},function(e){se=e._},function(e){fe=e.B},function(e){_e=e.S,de=e._},function(e){me=e.S,pe=e._},function(e){be=e.aS,ye=e.w,he=e.aT,ve=e.aU,ge=e.aV,ze=e.aW,we=e.aX,qe=e.aY,xe=e.aZ,ke=e.a_,je=e.a$,Ce=e.b0,Se=e.b1,Ve=e.b2,Oe=e.b3},function(e){Pe=e.H},function(e){Be=e.a},null,null,null,null,null],execute:function(){var Ie=_e(),Ne=me(),Me=V(me()).compData,Ue=Pe();V(Ue);var Ee=O("service"),Fe=O(!1);O(!0);var Ge=O(""),Te=O(!1),Le=P({re_level:1,tips:""}),De=[{label:"级别一",value:1},{label:"级别二",value:2},{label:"级别三",value:3},{label:"级别四",value:4},{label:"级别五",value:5},{label:"级别六",value:6}],Ae=O(null),Ke={recover:[{content:"启动完成后请立即备份和检查数据库完整性"},{content:"恢复级别说明(从1到6进行尝试):"},{content:"级别一:尝试忽略损坏的页,适用于轻微损坏的情况,可以尝试从数据中恢复。"},{content:"级别二:禁用后台线程,适合解决由于并发操作导致的问题。"},{content:"级别三:适用于需要快速恢复的场景,但可能会导致最近的数据丢失。"},{content:"级别四:适用于插入缓冲区引起问题时的恢复,可能会导致数据文件损坏。"},{content:"级别五:适合于需要快速启动但可能会导致数据一致性问题的情况。"},{content:"级别六:适用于最严重的情况,可能会导致较高的数据丢失及数据文件损坏。"}],config:[{content:"此处为mysql主配置文件,若您不了解配置规则,请勿随意修改"}],storage:[{content:"风险提示:迁移过程中Mysql将会停止运行,请谨慎操作"},{content:"风险提示:迁移过程中请等待迁移完成后再进行其他操作"}],memoryProtection:[{content:"说明:开启后将调整Mysql内存优先级,设置mysql为永不被系统杀死,可确保Mysql稳定运行。但可能导致其他进程异常被杀,严重时可能影响系统运行,建议需要Mysql稳定运行时在开启。"}]},He=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u({title:"mysqld服务",icon:"warning-filled",content:"即将开始修复mysql启动问题,是否继续?"});case 1:return e.n=2,l({loading:"正在修复启动,请稍后...",request:s(),success:function(){var e=f(c().m(function e(n){return c().w(function(e){for(;;)switch(e.n){case 0:"data_err"===n.err_type?(Le.tips=n.msg,Te.value=!0):"log_err"===n.err_type?Qe(n.msg):(Ze(),_.msg({dangerouslyUseHTMLString:!0,message:n.msg,type:n.status?"success":"error",duration:n.status?2e3:0,showClose:!n.status,customClass:"".concat("port_in_use"===n.err_type?"max-w-[48rem]":"")}));case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()});case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Qe=function(){var e=f(c().m(function e(n){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u({title:"修复MySQL启动",icon:"warning-filled",content:n});case 1:l({loading:"正在修复MySQL启动,请稍后...",request:be(),message:!0,success:function(e){Ze()}});case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),Re=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:if(!(Le.re_level>=4)){e.n=1;break}return e.n=1,u({title:"修复MYSQL启动",width:"39rem",isHtml:!0,content:'警告:当前选择的恢复等级将可能导致<span class="text-danger">数据文件损坏会丢失</span>,请做好服务器快照或备份好数据库数据目录【/www/server/data】如果启动成功,数据库将会进入只读模式'});case 1:return e.n=2,l({loading:"正在修复启动,请稍后...",request:d({re_level:Le.re_level}),message:!0,success:function(){var e=f(c().m(function e(n){return c().w(function(e){for(;;)switch(e.n){case 0:n.status&&(Te.value=!1),Ze();case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()});case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Ze=function(){l({request:m({sName:"mysql"}),success:function(e){Me.value=e.data}})},Je=O(""),We=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:"正在保存配置,请稍后...",request:p({path:"/etc/my.cnf",data:Je.value,encoding:"utf-8"}),message:!0});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Ye=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:w({path:"/etc/my.cnf"}),data:{data:[String,Je]}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),$e=P({path:"",port:"",oldData:{path:"",port:""}}),Xe=function(){ye({type:"dir",path:$e.path,change:function(e){$e.path=e}})},en=function(){var e=f(c().m(function e(){var n,t;return c().w(function(e){for(;;)switch(e.n){case 0:if(n="port"===Ee.value,$e.path||n){e.n=1;break}return e.a(2,_.error("存储位置不能为空"));case 1:if($e.port||!n){e.n=2;break}return e.a(2,_.error("端口不能为空"));case 2:if(!n||$e.port!==$e.oldData.port){e.n=3;break}return e.a(2,_.success("未修改端口数据"));case 3:if(n||$e.path!==$e.oldData.path){e.n=4;break}return e.a(2,_.success("未修改存储位置数据"));case 4:if(!!n){e.n=5;break}return e.n=5,u({title:"数据库迁移",icon:"warning-filled",content:"请确定是否迁移至:【".concat($e.path,"】?")});case 5:t=i({},n?"port":"datadir",$e[n?"port":"path"]),l({loading:"正在设置,请稍后...",request:(n?Ce:Se)(t),message:!0,success:function(){var e=f(c().m(function e(n){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Ae.value;case 1:e.v.unmount(),tn();case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()}),setTimeout(function(){!n&&nn()},1e3);case 6:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),nn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:Ae.value=b({title:"迁移任务",area:60,component:function(){return y(function(){return a.import("./progress-legacy2.js?v=1777008528")},void 0,a.meta.url)}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),tn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:he(),success:function(e){var n,t,r,a;$e.path=(null==e||null===(n=e.data)||void 0===n?void 0:n.datadir)||"",$e.port=(null==e||null===(t=e.data)||void 0===t?void 0:t.port)||"",$e.oldData.path=(null==e||null===(r=e.data)||void 0===r?void 0:r.datadir)||"",$e.oldData.port=(null==e||null===(a=e.data)||void 0===a?void 0:a.port)||""}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),rn=O([{name:"启动时间",field:"Run",value:"无",function:function(e){return h(e.Run)}},{name:"总连接次数",field:"Connections",value:"无"},{name:"发送",value:"无",field:"other",function:function(e){return v(Number(e.Bytes_sent))}},{name:"接收",value:"无",field:"other",function:function(e){return v(Number(e.Bytes_received))}},{name:"每秒查询",value:"无",field:"other",function:function(e){return parseInt((e.Questions/e.Uptime).toString())}},{name:"每秒事务",value:"无",field:"other",function:function(e){return parseInt(((parseInt(e.Com_commit)+parseInt(e.Com_rollback))/e.Uptime).toString())}},{name:"File",value:"无",field:"File"},{name:"Position",value:"无",field:"Position"}]),an=O([{name:"活动/峰值连接数",function:function(e){return e.Threads_running+"/"+e.Max_used_connections},value:"",ps:"若值过大,增加max_connections"},{name:"线程缓存命中率",value:"",function:function(e){var n=(100*(1-e.Threads_created/e.Connections)).toFixed(2);return isNaN(n)?"0":n+"%"},ps:"若过低,增加thread_cache_size"},{value:"",name:"索引命中率",function:function(e){var n=(100*(1-e.Key_reads/e.Key_read_requests)).toFixed(2);return isNaN(n)?"0":n+"%"},ps:"若过低,增加key_buffer_size"},{value:"",name:"Innodb索引命中率",function:function(e){var n=(100*(1-e.Innodb_buffer_pool_reads/e.Innodb_buffer_pool_read_requests)).toFixed(2);return isNaN(n)?"0":n},ps:"若过低,增加innodb_buffer_pool_size"},{value:"",name:"查询缓存命中率",function:function(e){var n=(parseInt(e.Qcache_hits)/(parseInt(e.Qcache_hits)+parseInt(e.Qcache_inserts))*100).toFixed(2)+"%";return"NaN%"==n&&(n="OFF"),n},ps:"若过低,增加query_cache_size"},{value:"",name:"创建临时表到磁盘",function:function(e){var n=(e.Created_tmp_disk_tables/e.Created_tmp_tables*100).toFixed(2);return isNaN(n)?"0":n+"%"},ps:"若过大,尝试增加tmp_table_size"},{value:"",name:"已打开的表",function:function(e){return e.Open_tables},ps:"table_open_cache配置值应大于等于此值"},{value:"",name:"没有使用索引的量",function:function(e){return e.Select_full_join},ps:"若不为0,请检查数据表的索引是否合理"},{value:"",name:"没有索引的JOIN量",function:function(e){return e.Select_range_check},ps:"若不为0,请检查数据表的索引是否合理"},{value:"",name:"排序后的合并次数",function:function(e){return e.Sort_merge_passes},ps:"若值过大,增加sort_buffer_size"},{value:"",name:"锁表次数",function:function(e){return e.Table_locks_waited},ps:"若值过大,请考虑增加您的数据库性能"}]),un=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:Ve(),success:function(e){var n;if(!1===e.status||null!==(n=e.data)&&void 0!==n&&n.status)return _.msg({customClass:"bt-message-error-html",dangerouslyUseHTMLString:!0,message:e.msg||e.data.msg,type:"error",showClose:!0});rn.value.forEach(function(n){n.function?n.value=n.function(e.data):n.value=e.data[n.field]}),an.value.forEach(function(n){n.function&&(n.value=n.function(e.data))})}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),on=[{title:"1-2GB",data:{key_buffer_size:32,query_cache_size:32,tmp_table_size:32,innodb_buffer_pool_size:64,sort_buffer_size:256,read_buffer_size:256,read_rnd_buffer_size:256,join_buffer_size:512,thread_stack:256,binlog_cache_size:64,thread_cache_size:64,table_open_cache:128,max_connections:100}},{title:"2-4GB",data:{key_buffer_size:64,query_cache_size:64,tmp_table_size:64,innodb_buffer_pool_size:128,sort_buffer_size:512,read_buffer_size:512,read_rnd_buffer_size:512,join_buffer_size:1024,thread_stack:256,binlog_cache_size:64,thread_cache_size:96,table_open_cache:192,max_connections:200}},{title:"4-8GB",data:{key_buffer_size:128,query_cache_size:128,tmp_table_size:128,innodb_buffer_pool_size:256,sort_buffer_size:1024,read_buffer_size:1024,read_rnd_buffer_size:768,join_buffer_size:2048,thread_stack:256,binlog_cache_size:128,thread_cache_size:128,table_open_cache:384,max_connections:300}},{title:"8-16GB",data:{key_buffer_size:256,query_cache_size:256,tmp_table_size:256,innodb_buffer_pool_size:1024,sort_buffer_size:1024,read_buffer_size:2048,read_rnd_buffer_size:1024,join_buffer_size:2048,thread_stack:384,binlog_cache_size:192,thread_cache_size:192,table_open_cache:1024,max_connections:400}},{title:"16-32GB",data:{key_buffer_size:512,query_cache_size:384,tmp_table_size:1024,innodb_buffer_pool_size:2048,sort_buffer_size:4096,read_buffer_size:4096,read_rnd_buffer_size:2048,join_buffer_size:4096,thread_stack:512,binlog_cache_size:256,thread_cache_size:256,table_open_cache:2048,max_connections:500}},{title:"32-48GB",data:{key_buffer_size:1024,query_cache_size:512,tmp_table_size:1536,innodb_buffer_pool_size:4096,sort_buffer_size:4096,read_buffer_size:4096,read_rnd_buffer_size:3072,join_buffer_size:6144,thread_stack:512,binlog_cache_size:384,thread_cache_size:384,table_open_cache:3072,max_connections:750}},{title:"48-64GB",data:{key_buffer_size:2048,query_cache_size:768,tmp_table_size:2048,innodb_buffer_pool_size:8192,sort_buffer_size:4096,read_buffer_size:4096,read_rnd_buffer_size:4096,join_buffer_size:8192,thread_stack:512,binlog_cache_size:512,thread_cache_size:512,table_open_cache:4096,max_connections:1e3}},{title:"64-96GB",data:{key_buffer_size:2048,query_cache_size:1024,tmp_table_size:3072,innodb_buffer_pool_size:16384,sort_buffer_size:8192,read_buffer_size:8192,read_rnd_buffer_size:4096,join_buffer_size:8192,thread_stack:768,binlog_cache_size:768,thread_cache_size:768,table_open_cache:6144,max_connections:1500}},{title:"96-128GB",data:{key_buffer_size:2048,query_cache_size:1536,tmp_table_size:4096,innodb_buffer_pool_size:32768,sort_buffer_size:8192,read_buffer_size:8192,read_rnd_buffer_size:8192,join_buffer_size:8192,thread_stack:1024,binlog_cache_size:1024,thread_cache_size:1024,table_open_cache:8192,max_connections:2e3}},{title:"128-256GB",data:{key_buffer_size:4096,query_cache_size:2048,tmp_table_size:8192,innodb_buffer_pool_size:65536,sort_buffer_size:8192,read_buffer_size:8192,read_rnd_buffer_size:8192,join_buffer_size:8192,thread_stack:2048,binlog_cache_size:2048,thread_cache_size:2048,table_open_cache:16384,max_connections:4e3}}],cn={key_buffer_size:"MB,用于索引的缓冲区大小",query_cache_size:"MB,查询缓存,不开启请设为0",tmp_table_size:"MB,临时表缓存大小",innodb_buffer_pool_size:"MB,Innodb缓冲区大小",innodb_log_buffer_size:"MB,Innodb日志缓冲区大小",sort_buffer_size:"KB * 连接数,每个线程排序的缓冲大小",read_buffer_size:"KB * 连接数读入缓冲区大小",read_rnd_buffer_size:"KB * 连接数随机读取缓冲区大小",join_buffer_size:"KB * 连接数关联表缓存大小",thread_stack:"KB * 连接数每个线程的堆栈大小",binlog_cache_size:"KB * 连接数二进制日志缓存大小(4096的倍数)",thread_cache_size:"线程池大小",table_open_cache:"表缓存",max_connections:"最大连接数"},ln=O(""),sn=O([]),fn=O(),_n=function(e){if(!e||"object"!==o(e))return"";for(var n=0;n<on.length;n++){for(var t=on[n].data,a=!0,u=0,i=Object.entries(t);u<i.length;u++){var c=r(i[u],2),l=c[0],s=c[1],f=l,_=s;if("query_cache_size"===l){if("disable"===e.query_cache_supprot)continue;if(void 0!==e.bt_query_cache_size)f="bt_query_cache_size";else if(void 0!==e.query_cache_type){if(0===e.query_cache_type&&0===Number(s))continue;if(1===e.query_cache_type&&Number(s)>0){if(e.query_cache_size!==s){a=!1;break}continue}}}if(void 0!==e[f]&&e[f]!==_){a=!1;break}}if(a)return n}return""},dn=function(){var e=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:t=Number(n),sn.value.forEach(function(e){on[t].data[e.name]&&(e.value=on[t].data[e.name]),"query_cache_size"!==e.name||on[t].data.query_cache_size||(e.value=0)}),mn();case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),mn=function(){var e,n=0,t=0,r=["key_buffer_size","query_cache_size","tmp_table_size","innodb_buffer_pool_size","innodb_log_buffer_size"],a=["sort_buffer_size","read_buffer_size","read_rnd_buffer_size","join_buffer_size","thread_stack","binlog_cache_size"],u=Number(sn.value.find(function(e){return"max_connections"===e.name}).value);sn.value.forEach(function(e){r.includes(e.name)?n+=Number(e.value):a.includes(e.name)&&(t+=Number(e.value)/1024)}),e=n+t*u,fn.value=e},pn=function(){var e={};sn.value.forEach(function(n){n.name&&void 0!==n.value&&null!==n.value&&(e[n.name]=Number(n.value))}),0===e.query_cache_size&&(e.query_cache_supprot="disable");var n=_n(e);ln.value=n},bn=function(){var e=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.n){case 0:return n={query_cache_type:0},sn.value.forEach(function(e){var t="bt_query_cache_size"===e.name?"query_cache_size":e.name;n[t]=e.value}),n.query_cache_size>0&&(n.query_cache_type=1),delete n.query_cache_supprot,n.max_heap_table_size=n.tmp_table_size,e.n=1,l({loading:"正在保存中,请稍后...",request:ve(n),message:!0,success:function(e){e.status&&(_.success("设置成功,重启数据库后配置生效,请重启数据库"),pn())}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),yn=function(){var e=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:return t={restart:"重启",stop:"停止",reload:"重载配置",start:"启动"},e.n=1,u({title:"".concat(t[n],"mysqld服务"),content:"是否".concat(t[n],"mysqld服务?")});case 1:return e.n=2,l({loading:"正在".concat(t[n],"mysqld服务,请稍后..."),request:g({name:"mysqld",type:n}),message:!0,success:function(e){e.status&&z.go(0)}});case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),hn=function(){var e=f(c().m(function e(){var n,t,r,a;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return Fe.value=!0,e.p=1,e.n=2,Oe();case 2:n=e.v,t=n.data,sn.value=[],t.mem.hasOwnProperty("join_buffer_size")||(t.mem.join_buffer_size=512),t.mem.hasOwnProperty("thread_stack")||(t.mem.thread_stack=256),t.mem.hasOwnProperty("binlog_cache_size")||(t.mem.binlog_cache_size=32),r="disable"===t.mem.query_cache_supprot,t.mem.hasOwnProperty("bt_query_cache_size")&&!r&&sn.value.push({name:"query_cache_size",value:t.mem.bt_query_cache_size,ps:cn.query_cache_size?cn.query_cache_size:""}),Object.keys(t.mem).forEach(function(e){"query_cache_size"!==e&&"bt_query_cache_size"!==e&&sn.value.push({name:e,value:t.mem[e],ps:cn[e]?cn[e]:""})}),fn.value=t.mem.bt_mem_size,a=_n(t.mem),ln.value=a,mn(),e.n=4;break;case 3:e.p=3,e.v;case 4:return e.p=4,Fe.value=!1,e.f(4);case 5:return e.a(2)}},e,null,[[1,3,4,5]])}));return function(){return e.apply(this,arguments)}}(),vn=O(""),gn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u({title:"清空日志操作提示",icon:"warning-filled",content:"清空日志会导致运行错误信息丢失,无法排除问题,请谨慎操作,是否继续?"});case 1:return e.n=2,l({loading:"正在清空日志,请稍后...",request:ge({close:1}),message:!0,success:zn});case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),zn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:ze(),data:[String,vn]});case 1:vn.value=vn.value||"当前暂无数据";case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),wn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:we(),data:{msg:[String,vn]}});case 1:vn.value=vn.value||"当前暂无数据";case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),qn=O(!1),xn=O(),kn=O([]),jn=P({status:!1,size:""}),Cn=O(!1),Sn=P({days:""}),Vn=P({days:[{required:!0,message:"请输入天数",trigger:"blur"},{validator:function(e,n,t){n<7?t(new Error("请输入大于7的天数")):t()}}]}),On=function(){var e=f(c().m(function e(n){return c().w(function(e){for(;;)switch(e.n){case 0:return jn.status=!n,e.n=1,u({title:(n?"开启":"关闭")+"二进制日志",icon:"warning-filled",content:(n?"开启二进制日志可以保护Mysql的数据安全,但同时会消耗一定磁盘存储,是否继续?":"关闭二进制日志后,将不会再记录所有对数据库的修改操作")+"二进制日志?"});case 1:return e.n=2,l({loading:"正在"+(n?"开启":"关闭")+"二进制日志,请稍后...",request:qe(),message:!0,success:function(e){In()}});case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),Pn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,xn.value.validate();case 1:return e.n=2,u({title:"清理日志",content:"即将清理【"+Sn.days+"】天前的MySQL二进制日志,是否继续?",icon:"warning-filled"});case 2:return e.n=3,l({loading:"正在清理日志,请稍后...",request:be({days:Sn.days}),message:!0,success:function(e){e.status&&(Cn.value=!1,Bn(),In(),Nn())}});case 3:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Bn=function(){var e,n;Cn.value=!1,null===(e=xn.value)||void 0===e||e.clearValidate(),null===(n=xn.value)||void 0===n||n.resetFields()},In=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({request:qe({status:1}),success:function(e){jn.status=e.data.binlog_status,jn.size=v(e.data.size)}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Nn=function(){var e=f(c().m(function e(){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,l({loading:Fe,request:xe(),data:{data:[Array,kn]}});case 1:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Mn=function(){var e=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:return t=n.row,e.n=1,u({title:"删除日志",icon:"warning-filled",content:"您真的要删除【".concat(t.name,"】日志?"),type:"calc"});case 1:return e.n=2,l({loading:"正在删除【".concat(t.name,"】日志,请稍后..."),request:ke({path:t.path}),message:!0,success:Nn});case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),Un=O(!1),En=function(){var e=f(c().m(function e(n){var t,r;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,t="get"===n?{}:{status:Number(n)},e.n=1,je(t);case 1:r=e.v,"get"===n?(r.status||"当前状态关闭中!"===r.msg||_.request(r),Un.value=Boolean(r.status)):_.request(r),e.n=3;break;case 2:e.p=2,e.v;case 3:return e.a(2)}},e,null,[[0,2]])}));return function(n){return e.apply(this,arguments)}}(),Fn=function(){var e=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:t=n,e.n="config"===t?1:"port"===t||"storage"===t?2:"state"===t?3:"performance"===t?4:"errorLogs"===t?5:"slowLogs"===t?6:"binaryLogs"===t?7:"memoryProtection"===t?9:10;break;case 1:return Ye(),e.a(3,10);case 2:return tn(),e.a(3,10);case 3:return un(),e.a(3,10);case 4:return hn(),e.a(3,10);case 5:return zn(),e.a(3,10);case 6:return wn(),e.a(3,10);case 7:return e.n=8,Nn();case 8:return In(),e.a(3,10);case 9:return En("get"),e.a(3,10);case 10:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}(),Gn=function(e){Ee.value="service",e&&(Me.value=e);var n=t(t({},Me.value),{},{name:"mysqld"});Ne.init(n),Ie.init(n),Ge.value=Me.value.status},Tn={key:0},Ln={class:"p-2rem"},Dn={class:"content flex items-center"},An={class:"message flex-1 ml-4 py-[.3rem] leading-[2.4rem] text-base"},Kn={class:"text text-[15px] leading-[2.5rem] flex !flex-wrap break-all"},Hn={class:"my-[12px]"},Qn={class:"flex text-secondary items-center"},Rn={class:"flex text-secondary items-center"},Zn={class:"text-secondary performance"},Jn={class:"flex items-center justify-center"},Wn={class:"flex items-center"},Yn={class:"ml-2rem"},$n={class:"my-[12px]"},Xn={class:"my-[12px]"},et={class:"flex items-center"},nt={class:"ml-[16rem]"},tt=["onClick"],rt={class:"p-[20px]"},at=B({__name:"index",props:{compData:{default:{}}},setup:function(n){var t=V(me()).compData,r=n,a=I(function(){return t.value.status});return N(function(){Gn(r.compData),t.value.refreshEvent=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Be("mysql");case 1:n=e.v,t.value.status=n.s_status;case 2:return e.a(2)}},e)}))}),function(n,t){var r=Y,u=q,o=x,i=$,c=X,l=k,s=ee,f=fe,_=se,d=j,m=ne,p=te,b=re,y=ae,g=ue,z=oe,w=ie,S=le,V=ce,O=C,P=M("bt-loading");return U(),E("div",null,[F(O,{modelValue:L(Ee),"onUpdate:modelValue":t[12]||(t[12]=function(e){return H(Ee)?Ee.value=e:null}),type:"left-bg-card",position:"left",class:"h-full",onChange:L(Fn)},{default:G(function(){return[F(s,{label:"服务",name:"service"},{default:G(function(){return[T("div",null,[F(pe),F(de),L(a)?K("",!0):(U(),D(r,{key:0,class:"mt-4rem",onClick:L(He)},{default:G(function(){return e(t[13]||(t[13]=[A("修复启动",-1)]))}),_:1},8,["onClick"])),F(u,{options:[{content:"如需更换mysql版本,请备份好数据后,卸载mysql重新安装"}],class:"pl-1rem"},{default:G(function(){return[L(a)?K("",!0):(U(),E("li",Tn,"如无法正常启动,请尝试使用修复启动按钮进行修复启动"))]}),_:1}),F(l,{modelValue:L(Te),"onUpdate:modelValue":t[1]||(t[1]=function(e){return H(Te)?Te.value=e:null}),area:50,title:"修复启动-恢复模式-innodb_force_recovery","show-footer":"",onConfirm:L(Re)},{default:G(function(){return[T("div",Ln,[T("div",Dn,[t[14]||(t[14]=T("i",{class:"svgtofont-el-warning-filled !text-[4rem] text-warning"},null,-1)),T("div",An,[T("div",Kn,Q(L(Le).tips),1)])]),F(c,{model:L(Le),"label-width":"80px"},{default:G(function(){return[F(i,{label:"恢复级别"},{default:G(function(){return[F(o,{modelValue:L(Le).re_level,"onUpdate:modelValue":t[0]||(t[0]=function(e){return L(Le).re_level=e}),options:L(De),class:"!w-20rem"},null,8,["modelValue","options"])]}),_:1})]}),_:1},8,["model"]),F(u,{options:L(Ke).recover,class:"pl-3rem"},null,8,["options"])])]}),_:1},8,["modelValue","onConfirm"])])]}),_:1}),F(s,{label:"配置文件",name:"config",lazy:!0},{default:G(function(){return[R((U(),E("div",null,[t[16]||(t[16]=T("span",{class:"my-[4px] text-secondary"}," 提示:Ctrl+F 搜索关键字,Ctrl+S 保存,Ctrl+H 查找替换 ",-1)),T("div",Hn,[F(f,{class:"!h-[48rem] !w-full",modelValue:L(Je),"onUpdate:modelValue":t[2]||(t[2]=function(e){return H(Je)?Je.value=e:null}),id:"configContent",onSave:L(We)},null,8,["modelValue","onSave"])]),F(r,{type:"primary",onClick:L(We)},{default:G(function(){return e(t[15]||(t[15]=[A("保存",-1)]))}),_:1},8,["onClick"]),F(u,{options:L(Ke).config,class:"pl-2rem"},null,8,["options"])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"存储位置",name:"storage",lazy:!0},{default:G(function(){return[R((U(),E("div",null,[T("div",Qn,[F(_,{icon:"icon-file_mode",onIconClick:L(Xe),width:"32rem",modelValue:L($e).path,"onUpdate:modelValue":t[3]||(t[3]=function(e){return L($e).path=e}),class:"!w-32rem"},null,8,["onIconClick","modelValue"]),F(r,{class:"ml-[12px]",onClick:L(en),type:"primary"},{default:G(function(){return e(t[17]||(t[17]=[A("迁移",-1)]))}),_:1},8,["onClick"])]),F(u,{options:L(Ke).storage,class:"pl-2rem"},null,8,["options"])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"端口配置",name:"port",lazy:!0},{default:G(function(){return[R((U(),E("div",Rn,[F(d,{modelValue:L($e).port,"onUpdate:modelValue":t[4]||(t[4]=function(e){return L($e).port=e}),type:"number",width:"10rem",class:"!w-10rem"},null,8,["modelValue"]),F(r,{type:"primary",class:"ml-[12px]",onClick:L(en)},{default:G(function(){return e(t[18]||(t[18]=[A("修改",-1)]))}),_:1},8,["onClick"])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"当前状态",name:"state",lazy:!0},{default:G(function(){return[R((U(),E("div",null,[F(p,{class:"margin-top table-descriptions",column:2,border:""},{default:G(function(){return[(U(!0),E(Z,null,J(L(rn),function(e,n){return U(),D(m,{key:n},{label:G(function(){return[A(Q(e.name),1)]}),default:G(function(){return[A(" "+Q(e.value),1)]}),_:2},1024)}),128))]}),_:1}),F(y,{data:L(an),class:"mt-[20px]","max-height":"400"},{default:G(function(){return[F(b,{prop:"name",label:"字段",width:"180"}),F(b,{prop:"value",label:"当前值",width:"100"}),F(b,{prop:"ps",label:"注意"})]}),_:1},8,["data"])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"性能调整",name:"performance",lazy:!0},{default:G(function(){return[R((U(),E("div",Zn,[T("div",Jn,[t[19]||(t[19]=A(" 优化方案 ",-1)),F(z,{class:"!w-[12rem] mr-[20px] ml-8px",modelValue:L(ln),"onUpdate:modelValue":t[5]||(t[5]=function(e){return H(ln)?ln.value=e:null}),onChange:L(dn),placeholder:"自定义"},{default:G(function(){return[(U(!0),E(Z,null,J(L(on),function(e,n){return U(),D(g,{key:n,value:n,label:e.title},null,8,["value","label"])}),128))]}),_:1},8,["modelValue","onChange"]),t[20]||(t[20]=A(" 最大使用内存 ",-1)),F(d,{"text-type":"MB",width:"16rem",class:"!w-16rem ml-8px",readonly:"",modelValue:L(fn),"onUpdate:modelValue":t[6]||(t[6]=function(e){return H(fn)?fn.value=e:null})},null,8,["modelValue"])]),F(w),F(c,{class:"performance-form","label-position":"right","label-width":"146px"},{default:G(function(){return[(U(!0),E(Z,null,J(L(sn),function(e,n){return R((U(),D(i,{label:e.name,key:n},{default:G(function(){return[T("div",Wn,[F(d,{modelValue:e.value,"onUpdate:modelValue":function(n){return e.value=n},width:"16rem",class:"!w-16rem",type:"number",onChange:L(mn)},null,8,["modelValue","onUpdate:modelValue","onChange"]),T("span",Yn,Q(e.ps),1)])]}),_:2},1032,["label"])),[[W,e.ps]])}),128)),F(i,{label:" ",class:"mt-1rem"},{default:G(function(){return[F(r,{type:"primary",onClick:L(bn)},{default:G(function(){return e(t[21]||(t[21]=[A("保存",-1)]))}),_:1},8,["onClick"]),F(r,{onClick:t[7]||(t[7]=function(e){return L(yn)("restart")})},{default:G(function(){return e(t[22]||(t[22]=[A("重启数据库",-1)]))}),_:1}),t[23]||(t[23]=T("span",{class:"ml-3rem"},"* 修改配置后,需重启数据库生效",-1))]}),_:1})]}),_:1})])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"错误日志",name:"errorLogs",lazy:!0},{default:G(function(){return[R((U(),E("div",null,[F(r,{type:"default",onClick:L(gn)},{default:G(function(){return e(t[24]||(t[24]=[A("清空日志",-1)]))}),_:1},8,["onClick"]),T("div",$n,[F(S,{class:"!h-[56rem] !w-full",content:L(vn),id:"errorLogs",isHtml:!0,fullScreen:{title:"全屏查看【错误日志】",onRefresh:L(zn)}},null,8,["content","fullScreen"])])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"慢日志",name:"slowLogs",lazy:!0},{default:G(function(){return[R((U(),E("div",Xn,[F(S,{content:L(vn),isHtml:!0,class:"!h-[60rem] !w-full",id:"slowLogs",fullScreen:{title:"全屏查看【慢日志】",onRefresh:L(wn)}},null,8,["content","fullScreen"])])),[[P,L(Fe)]])]}),_:1}),F(s,{label:"二进制日志",name:"binaryLogs",lazy:!0},{default:G(function(){return[T("div",null,[T("div",et,[T("div",null,[t[25]||(t[25]=A(" 二进制日志 ",-1)),F(V,{modelValue:L(jn).status,"onUpdate:modelValue":t[8]||(t[8]=function(e){return L(jn).status=e}),onChange:L(On)},null,8,["modelValue","onChange"])]),T("span",nt,Q(L(jn).size),1)]),F(w),t[27]||(t[27]=T("span",null," · 温馨提示:Mysql二进制日志是记录当前的操作日志,可用于数据恢复,数据备份。 ",-1)),R((U(),D(y,{class:"mt-[20px]",data:L(kn),"max-height":"500"},{default:G(function(){return[F(b,{prop:"name",label:"文件名"}),F(b,{prop:"size",label:"大小"},{default:G(function(e){return[A(Q(L(v)(e.row.size)),1)]}),_:1}),F(b,{prop:"last_modified",label:"最后修改时间"},{default:G(function(e){return[A(Q(L(h)(e.row.last_modified)),1)]}),_:1}),F(b,{align:"right",label:"操作"},{default:G(function(e){return[T("span",{class:"bt-link",onClick:function(n){return L(Mn)(e)}},"删除",8,tt)]}),_:1})]}),_:1},8,["data"])),[[P,L(Fe)]]),F(l,{title:"清理日志",modelValue:L(Cn),"onUpdate:modelValue":t[10]||(t[10]=function(e){return H(Cn)?Cn.value=e:null}),area:42,showFooter:"",onCancel:L(Bn),onConfirm:L(Pn)},{default:G(function(){return[T("div",rt,[F(c,{disabled:L(qn),class:"flex justify-center","label-position":"right",model:L(Sn),ref_key:"binlogFormRef",ref:xn,rules:L(Vn)},{default:G(function(){return[F(i,{label:"清理周期",prop:"days"},{default:G(function(){return[F(d,{modelValue:L(Sn).days,"onUpdate:modelValue":t[9]||(t[9]=function(e){return L(Sn).days=e}),type:"number",min:7,width:"24","text-type":"天"},null,8,["modelValue"])]}),_:1})]}),_:1},8,["disabled","model","rules"]),t[26]||(t[26]=T("ul",{class:"leading-8 text-small list-disc ml-[48px]"},[T("li",null,"只能清理7天前的日志,请输入大于7的天数")],-1))])]}),_:1},8,["modelValue","onCancel","onConfirm"])])]}),_:1}),F(s,{label:"内存保护",name:"memoryProtection",lazy:!0},{default:G(function(){return[T("div",null,[T("div",null,[t[28]||(t[28]=A(" 内存保护 ",-1)),F(V,{modelValue:L(Un),"onUpdate:modelValue":t[11]||(t[11]=function(e){return H(Un)?Un.value=e:null}),onChange:L(En)},null,8,["modelValue","onChange"])]),F(u,{options:L(Ke).memoryProtection,class:"pl-2rem"},null,8,["options"])])]}),_:1})]}),_:1},8,["modelValue","onChange"])])}}});n("default",S(at,[["__scopeId","data-v-39835eaa"]]))}}})}();