返回列表 发帖
查看: 5248|回复: 9

discuz x 3.4 用户表 主表 存档表 数据合并教程!

83

主题

2795

回帖

3564

积分

功行圆满

贡献
22 点
金币
351 个
发表于 2020-5-19 19:59:49 | 显示全部楼层 |阅读模式


1,登录后台,工具,计划任务,取消勾选 每日用户表优化

2,关闭站点,备份数据库,如果可以,全站备份更好

3,不要手贱去点 后台,站长,用户表优化

4,打开你的MYSQL管理工具,比如 phpMyAdmin

几个受影响需要更改的表

  1. pre_common_member
  2. pre_common_member_archive

  3. pre_common_member_count
  4. pre_common_member_count_archive


  5. pre_common_member_field_forum
  6. pre_common_member_field_forum_archive


  7. pre_common_member_field_home
  8. pre_common_member_field_home_archive

  9. pre_common_member_profile
  10. pre_common_member_profile_archive

  11. pre_common_member_status
  12. pre_common_member_status_archive
复制代码


5,看一下上面数据库中的几个表,受影响了几个,受影响的都要修改


打开  pre_common_member_archive

删除重复内容

  1. ALTER IGNORE TABLE pre_common_member_archive ADD UNIQUE INDEX(`uid`)
复制代码


把 pre_common_member_archive 内容复制到 pre_common_member

  1. insert into pre_common_member select * from pre_common_member_archive
复制代码


再删除主表重复内容,清空存档表内容


上面做完基本就没事了,有强迫症的可以删除带有Archive的空表,备份的bak表都可以删除

删除带有Archive的空表,更新缓存的时候出现这个错误,而且注册不了(在注册的最后一步会出现不跳转的情况)

  1. (1146) Table 'db_web411070.common_member_archive' doesn't existSELECT COUNT(*) FROM common_member_archive
复制代码


在站长—数据库—升级(Discuz! 数据库升级 - 请将数据库升级语句粘贴在下面:)中执行语句

为了数据安全执行该语句前建议备份数据



  1. DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';
复制代码


后台,站长,数据库,升级

  1. insert into pre_common_member select * from pre_common_member_archive;
  2. insert into pre_common_member_count select * from pre_common_member_count_archive;
  3. insert into pre_common_member_field_forum select * from pre_common_member_field_forum_archive;
  4. insert into pre_common_member_field_home select * from pre_common_member_field_home_archive;
  5. insert into pre_common_member_profile select * from pre_common_member_profile_archive;
  6. insert into pre_common_member_status select * from pre_common_member_status_archive;
复制代码



以上六条的意思就是把六个存档表中的东西合并到主表中。

然后再使用如下升级数据库:

  1. TRUNCATE TABLE  `pre_common_member_archive`;
  2. TRUNCATE TABLE  `pre_common_member_count_archive`;
  3. TRUNCATE TABLE  `pre_common_member_field_forum_archive`;
  4. TRUNCATE TABLE  `pre_common_member_field_home_archive`;
  5. TRUNCATE TABLE  `pre_common_member_profile_archive`;
  6. TRUNCATE TABLE  `pre_common_member_status_archive`;
复制代码



以上六条的意思就是把六个存档表数据全部清空。
回复

使用道具 举报

11

主题

22

回帖

64

积分

渐入佳境

贡献
0 点
金币
24 个
发表于 2020-5-20 10:28:10 | 显示全部楼层
如果有文件执行就好了,改数据库不太懂
回复 支持 反对

使用道具 举报

6

主题

82

回帖

106

积分

渐入佳境

贡献
0 点
金币
12 个
发表于 2020-5-21 11:16:44 | 显示全部楼层
果断MARK,前十有我必火!
回复 支持 反对

使用道具 举报

35

主题

108

回帖

168

积分

渐入佳境

贡献
0 点
金币
17 个
发表于 2020-8-21 20:55:29 | 显示全部楼层
可以跟旧论坛的表合并吗
回复 支持 反对

使用道具 举报

83

主题

2795

回帖

3564

积分

功行圆满

贡献
22 点
金币
351 个
 楼主| 发表于 2020-8-22 04:15:14 | 显示全部楼层
xiaojie83 发表于 2020-8-21 11:55
可以跟旧论坛的表合并吗

同一discuz x 3.4程序版本才可合并
回复 支持 反对

使用道具 举报

35

主题

108

回帖

168

积分

渐入佳境

贡献
0 点
金币
17 个
发表于 2020-8-22 16:53:08 | 显示全部楼层
allthebest 发表于 2020-8-22 04:15
同一discuz x 3.4程序版本才可合并

都是3.4版本的
回复 支持 反对

使用道具 举报

83

主题

2795

回帖

3564

积分

功行圆满

贡献
22 点
金币
351 个
 楼主| 发表于 2020-8-22 17:19:37 | 显示全部楼层

这方法只适用于一个discuz x 3.4 用户表 主表 存档表 数据合并,不支持两个discuz x 3.4论坛用户表 主表 存档表合并。
回复 支持 反对

使用道具 举报

1

主题

6

回帖

12

积分

初学乍练

贡献
0 点
金币
5 个
发表于 2021-10-21 12:14:11 | 显示全部楼层
楼主你好,我的情况就是你说的 手贱 点了后台的站长  用户数据表优化,可否有偿帮忙解决一下,我的VX:jingjianchun  加我一下
回复 支持 反对

使用道具 举报

83

主题

2795

回帖

3564

积分

功行圆满

贡献
22 点
金币
351 个
 楼主| 发表于 2021-10-21 18:12:58 | 显示全部楼层
小景 发表于 2021-10-21 03:14
楼主你好,我的情况就是你说的 手贱 点了后台的站长  用户数据表优化,可否有偿帮忙解决一下,我的VX:jing ...

关闭用户数据表优化,更新缓存,即可。
回复 支持 反对

使用道具 举报

0

主题

6

回帖

24

积分

初学乍练

贡献
0 点
金币
17 个
QQ
发表于 2024-3-31 23:29:40 | 显示全部楼层
X3.5一样吗?能出个3.5的教程吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-4-20 13:29 , Processed in 0.042754 second(s), 6 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表