Files
all-in-one-sys/scripts/unlock-tables.js
KQL 61698639ef feat: 完成多多畅职就业服务平台核心功能开发
主要更新:
-  完成主题配色从暗色到亮蓝白配色的全面转换
-  实现高薪岗位页面及后端API集成
-  完成登录注册页面及认证系统
-  实现预招录确认功能
-  添加数据库管理和维护工具脚本
-  优化错误处理和用户体验

核心功能:
1. 首页 (index.html) - 3D地球、专业分类、过渡岗位
2. 高薪岗位页面 (high.html) - 岗位详情、预招录确认、成功案例
3. 登录注册 (auth.html) - 用户认证、专业分类选择
4. 后端API - RESTful接口,JWT认证,MySQL数据库

技术栈:
- 前端:Three.js, GSAP, 原生JavaScript
- 后端:Node.js, Express, MySQL
- 认证:JWT, bcrypt
- 样式:自定义CSS,响应式设计

数据库工具:
- kill-by-ids.js - 批量终止MySQL进程
- unlock-all-tables.js - 解锁数据库表
- init-db.js - 初始化数据库
- 其他管理脚本

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 15:40:55 +08:00

69 lines
2.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 解锁数据库表
* 终止所有锁定的连接并重置事务
*/
require('dotenv').config();
const mysql = require('mysql2/promise');
async function unlockTables() {
let connection;
try {
// 创建数据库连接
connection = await mysql.createConnection({
host: process.env.DB_HOST,
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE
});
console.log('✅ 已连接到数据库');
// 1. 查看当前进程
console.log('\n📋 查看当前锁定的进程...');
const [processes] = await connection.query('SHOW FULL PROCESSLIST');
console.log('当前活动进程数:', processes.length);
processes.forEach(p => {
console.log(` - ID: ${p.Id}, User: ${p.User}, State: ${p.State}, Info: ${p.Info}`);
});
// 2. 杀掉Sleep状态的连接这些可能持有未提交的事务
console.log('\n🔪 终止Sleep状态的连接...');
let killedCount = 0;
for (const p of processes) {
if (p.Command === 'Sleep' && p.Id !== connection.threadId) {
try {
await connection.query(`KILL ${p.Id}`);
console.log(` ✅ 已终止进程 ${p.Id}`);
killedCount++;
} catch (err) {
console.log(` ⚠️ 无法终止进程 ${p.Id}:`, err.message);
}
}
}
console.log(`\n终止了 ${killedCount} 个连接`);
// 3. 解锁所有表
console.log('\n🔓 解锁所有表...');
await connection.query('UNLOCK TABLES');
console.log('✅ 表已解锁');
console.log('\n✅ 数据库解锁完成!');
} catch (error) {
console.error('❌ 解锁失败:', error.message);
process.exit(1);
} finally {
if (connection) {
await connection.end();
}
}
}
// 执行
unlockTables();