# 旧版本系统 - 服务器与数据库配置说明 > 最后更新:2026-02-15 --- ## 1. 服务器信息 | 项目 | 值 | |------|-----| | 服务器地址 | `8.154.22.149` | | 操作系统 | Linux (Ubuntu) | | 数据库类型 | MariaDB | | 数据库端口 | 3306 | --- ## 2. 数据库连接信息 | 项目 | 值 | |------|-----| | 连接地址 | `jdbc:mysql://127.0.0.1:3306/xzyx_online?characterEncoding=utf8` | | 数据库名 | `xzyx_online` | | 用户名 | `xzyx_rw` | | 密码 | `SKJfdwalkd` | ### 命令行连接方式 ```bash # SSH 登录服务器 ssh root@8.154.22.149 # 连接数据库 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online ``` --- ## 3. 用户表结构 (u_user_info) ### 核心字段 | 字段 | 类型 | 说明 | 后台显示名 | |------|------|------|-----------| | `id` | int(11) | 主键,自增 | - | | `phone` | varchar(20) | 手机号(登录账号)**必填** | 账号 | | `nickname` | varchar(40) | 昵称 | 昵称 | | `real_name` | varchar(45) | 真实姓名 | - | | `hospital` | varchar(255) | 固定值 "本地" | - | | `company` | varchar(200) | **实际的机构/医院名称** | 医院 | | `academy` | varchar(200) | **部门** | 部门 | | `user_role` | varchar(20) | 用户角色,默认 "NORMAL" | 用户角色 | | `user_status` | varchar(45) | 用户状态,默认 "NORMAL" | - | | `password` | varchar(45) | 密码(MD5加密) | - | | `hosptial_id` | int(11) | 医院ID,默认 0 | - | | `email_validate_status` | tinyint(4) | 邮箱验证状态,默认 0 | - | | `register_time` | int(11) | 注册时间(Unix时间戳) | - | ### 字段对应关系 | 后台显示 | 数据库字段 | |----------|-----------| | 账号 | `phone` | | 昵称 | `nickname` + `real_name` | | 用户角色:普通 | `user_role = 'NORMAL'` | | 医院 | `company`(注意:不是 hospital 字段) | | 部门 | `academy` | ### 默认密码 - 明文:`123456` - MD5:`E10ADC3949BA59ABBE56E057F20F883E` --- ## 4. 批量导入用户操作指南 ### 步骤1:准备 CSV 文件 格式要求: ```csv 手机号,姓名,医院,部门 13800000001,张三,北京大学第三医院,骨科 13800000002,李四,医朵云,医学部 ``` ### 步骤2:检查重复手机号 ```bash # 导出现有手机号 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -N -e "SELECT phone FROM u_user_info;" > /tmp/existing_phones.txt # 查看现有用户数量 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT COUNT(*) FROM u_user_info;" ``` ### 步骤3:生成 SQL 插入语句 单条插入模板: ```sql INSERT INTO u_user_info ( phone, nickname, real_name, hospital, company, academy, user_role, user_status, password, hosptial_id, email_validate_status, register_time ) VALUES ( '手机号', '姓名', '姓名', '本地', '机构名称', '部门', 'NORMAL', 'NORMAL', 'E10ADC3949BA59ABBE56E057F20F883E', 0, 0, UNIX_TIMESTAMP() ); ``` 批量插入模板(使用 INSERT IGNORE 避免重复报错): ```sql INSERT IGNORE INTO u_user_info (phone, nickname, real_name, hospital, company, academy, user_role, user_status, password, hosptial_id, email_validate_status, register_time) VALUES ('13800000001', '张三', '张三', '本地', '北京大学第三医院', '骨科', 'NORMAL', 'NORMAL', 'E10ADC3949BA59ABBE56E057F20F883E', 0, 0, UNIX_TIMESTAMP()), ('13800000002', '李四', '李四', '本地', '医朵云', '医学部', 'NORMAL', 'NORMAL', 'E10ADC3949BA59ABBE56E057F20F883E', 0, 0, UNIX_TIMESTAMP()); ``` ### 步骤4:上传并执行 SQL ```bash # 上传 SQL 文件到服务器(或使用 nano 创建) nano /tmp/batch_insert_users.sql # 执行 SQL 文件 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online < /tmp/batch_insert_users.sql ``` ### 步骤5:验证导入结果 ```bash # 查询指定机构的用户数量 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT COUNT(*) as '用户数' FROM u_user_info WHERE company = '北京大学第三医院';" # 抽查用户数据 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT id, phone, nickname, company, academy FROM u_user_info WHERE company = '北京大学第三医院' LIMIT 10;" ``` --- ## 5. 常用查询命令 ### 查看所有表 ```bash mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SHOW TABLES;" ``` ### 查看表结构 ```bash mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "DESC u_user_info;" ``` ### 根据手机号查询用户 ```bash mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT * FROM u_user_info WHERE phone = '18611348738'\G" ``` ### 修改用户信息 ```bash # 修改手机号 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "UPDATE u_user_info SET phone = '新手机号' WHERE phone = '旧手机号';" # 重置密码为 123456 mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "UPDATE u_user_info SET password = 'E10ADC3949BA59ABBE56E057F20F883E' WHERE phone = '手机号';" ``` ### 删除用户 ```bash mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "DELETE FROM u_user_info WHERE phone = '手机号';" ``` --- ## 6. 已导入批次记录 | 批次 | 日期 | 机构 | 数量 | SQL文件 | |------|------|------|------|---------| | 第1批 | 2026-02-15 | 北京大学第三医院 | 225 | `docs/06-测试文档/batch_insert_users.sql` | | 第2批 | 2026-02-15 | 北京大学第三医院 | 35 | `docs/06-测试文档/batch_insert_users_2.sql` | --- ## 7. 注意事项 1. **手机号唯一性**:手机号是用户的唯一登录凭证,不能重复 2. **密码存储**:使用 MD5 加密,默认密码 123456 对应 `E10ADC3949BA59ABBE56E057F20F883E` 3. **hospital 字段**:固定填写 "本地",实际医院名称存储在 `company` 字段 4. **部门字段**:使用 `academy` 字段存储 5. **使用 INSERT IGNORE**:批量导入时使用此语法,遇到重复手机号自动跳过不报错