From a60ba5b3b70c22ebd98532149f0458fd634dfbc2 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Mon, 11 Aug 2025 12:00:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/install/InstallMariaDB.py | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/install/InstallMariaDB.py b/src/install/InstallMariaDB.py index 06791bb..52d41e7 100644 --- a/src/install/InstallMariaDB.py +++ b/src/install/InstallMariaDB.py @@ -1,16 +1,15 @@ from Common import * +current_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.path.dirname( + os.path.abspath(__file__)) +log_dir = os.path.join(current_dir, "logs") class InstallMariaDb: - def __init__(self, install_path): + def __init__(self): self.service_name = 'ComacMariaDB' - self.root_path = install_path - self.mariadb_data_path = os.path.join(install_path, 'mariadb', 'data') - self.mariadb_port = mariadb_port - self.passowrd = mariadb_passowrd - self.init_schema = mariadb_init_schema - self.init_sql = os.path.join(install_path, 'mariadb', 'data', 'init.sql') + self.mariadb_data_path = os.path.join(current_dir, 'mariadb', 'data') + self.init_sql = os.path.join(current_dir, 'mariadb', 'data', 'init.sql') pass def start_install_mariadb(self): @@ -40,11 +39,11 @@ class InstallMariaDb: logger.info("服务启动成功") def __register_service(self): - args1 = self.root_path + '/mariadb/bin/mysql_install_db.exe' + args1 = current_dir + '/mariadb/bin/mysql_install_db.exe' args2 = '--datadir=' + self.mariadb_data_path args3 = '--service=' + self.service_name - args4 = '--password=' + self.passowrd - args5 = '--port=' + str(self.mariadb_port) + args4 = '--password=' + mariadb_passowrd + args5 = '--port=' + str(mariadb_port) res = subprocess.run([args1, args2, args3, args4, args5], text=True, capture_output=True) if res.returncode != 0: logger.info(res.stdout) @@ -54,14 +53,14 @@ class InstallMariaDb: logger.info("服务注册成功") def __init_db_user(self): - command1 = fr'{self.root_path}\mariadb\bin\mysql.exe -u root -p{self.passowrd} -P {self.mariadb_port} -e "create database if not exists {self.init_schema}; use {self.init_schema};"' - command2 = fr'{self.root_path}\mariadb\bin\mysql.exe -u root -p****** -P {self.mariadb_port} -e "create database if not exists {self.init_schema}; use {self.init_schema};"' + command1 = fr'{current_dir}\mariadb\bin\mysql.exe -u root -p{mariadb_passowrd} -P {mariadb_port} -e "create database if not exists {mariadb_init_schema}; use {mariadb_init_schema};"' + command2 = fr'{current_dir}\mariadb\bin\mysql.exe -u ****** -p****** -P { mariadb_port} -e "create database if not exists {mariadb_init_schema}; use {mariadb_init_schema};"' logger.info(command2) with os.popen(command1) as stream: res = stream.read() logger.info(res) - schema_dir = fr'{self.root_path}\mariadb\data\{self.init_schema}' + schema_dir = fr'{current_dir}\mariadb\data\{mariadb_init_schema}' if not os.path.exists(schema_dir): logger.error("数据库初始化失败") raise MyCustomError("数据库安装失败") @@ -69,9 +68,6 @@ class InstallMariaDb: if __name__ == '__main__': - current_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.path.dirname( - os.path.abspath(__file__)) - log_dir = os.path.join(current_dir, "logs") ensure_dir(log_dir) logger.add( sink=os.path.join(log_dir, "InstallMariaDB_{time}.log"), # 文件路径模板 @@ -81,5 +77,5 @@ if __name__ == '__main__': enqueue=True, # 线程安全写入 format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" # 自定义格式 ) - InstallMariaDb(current_dir).start_install_mariadb() + InstallMariaDb().start_install_mariadb() pass