From 85419b6dd4a45ae974ef0af995a909ecb2dbc47c Mon Sep 17 00:00:00 2001 From: ssongliu Date: Tue, 8 Nov 2022 10:40:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=20mysql=20=E6=85=A2?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/lang/modules/zh.ts | 4 + .../views/database/mysql/setting/index.vue | 29 +- .../database/mysql/setting/slow-log/index.vue | 84 +++- .../mysql/setting/variables/index.vue | 388 +++++++++--------- 4 files changed, 306 insertions(+), 199 deletions(-) diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 83bc30d37..f96bed8ad 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -220,6 +220,9 @@ export default { maxConnectionsHelper: '最大连接数', restart: '重启数据库', + isOn: '是否开启', + longQueryTime: '慢查询阈值', + status: '当前状态', terminal: '终端模式', key: '键', @@ -260,6 +263,7 @@ export default { allConf: '全部配置', restartNow: '立即重启', restartNowHelper1: '修改配置后需要重启生效,若您的数据需要持久化请先执行 save 操作。', + restartNowHelper: '修改配置后需要重启生效。', persistence: '持久化', rdbHelper1: '秒內,插入', diff --git a/frontend/src/views/database/mysql/setting/index.vue b/frontend/src/views/database/mysql/setting/index.vue index 793c1bf95..ef937e248 100644 --- a/frontend/src/views/database/mysql/setting/index.vue +++ b/frontend/src/views/database/mysql/setting/index.vue @@ -98,7 +98,12 @@ import { Codemirror } from 'vue-codemirror'; import { javascript } from '@codemirror/lang-javascript'; import { oneDark } from '@codemirror/theme-one-dark'; import { LoadFile } from '@/api/modules/files'; -import { loadMysqlBaseInfo, updateMysqlConfByFile, updateMysqlDBInfo } from '@/api/modules/database'; +import { + loadMysqlBaseInfo, + loadMysqlVariables, + updateMysqlConfByFile, + updateMysqlDBInfo, +} from '@/api/modules/database'; import { Rules } from '@/global/form-rules'; import i18n from '@/lang'; @@ -122,6 +127,7 @@ const slowLogRef = ref(); const onSetting = ref(false); const mysqlName = ref(); +const variables = ref(); interface DialogProps { mysqlName: string; @@ -131,9 +137,10 @@ const dialogContainerLogRef = ref(); const acceptParams = (params: DialogProps): void => { onSetting.value = true; mysqlName.value = params.mysqlName; - variablesRef.value!.acceptParams({ mysqlName: params.mysqlName }); - statusRef.value!.acceptParams({ mysqlName: params.mysqlName }); loadBaseInfo(); + loadVariables(); + loadSlowLogs(); + statusRef.value!.acceptParams({ mysqlName: params.mysqlName }); }; const onClose = (): void => { onSetting.value = false; @@ -190,6 +197,22 @@ const loadBaseInfo = async () => { loadContainerLog(baseInfo.containerID); }; +const loadVariables = async () => { + const res = await loadMysqlVariables(mysqlName.value); + variables.value = res.data; + variablesRef.value!.acceptParams({ mysqlName: mysqlName.value, variables: res.data }); +}; + +const loadSlowLogs = async () => { + await Promise.all([loadBaseInfo(), loadVariables()]); + let param = { + mysqlName: mysqlName.value, + mysqlKey: baseInfo.mysqlKey, + variables: variables.value, + }; + slowLogRef.value!.acceptParams(param); +}; + const loadMysqlConf = async (path: string) => { const res = await LoadFile({ path: path }); mysqlConf.value = res.data; diff --git a/frontend/src/views/database/mysql/setting/slow-log/index.vue b/frontend/src/views/database/mysql/setting/slow-log/index.vue index 3d182365f..4dbba53d5 100644 --- a/frontend/src/views/database/mysql/setting/slow-log/index.vue +++ b/frontend/src/views/database/mysql/setting/slow-log/index.vue @@ -1,13 +1,20 @@ diff --git a/frontend/src/views/database/mysql/setting/variables/index.vue b/frontend/src/views/database/mysql/setting/variables/index.vue index dc90a05de..61f3602fd 100644 --- a/frontend/src/views/database/mysql/setting/variables/index.vue +++ b/frontend/src/views/database/mysql/setting/variables/index.vue @@ -1,134 +1,139 @@