找回密码
 注册账号
搜索
查看: 8852|回复: 5

[Discuz] Discuz X3.4 用户表 主表 存档表 数据合并教程

[复制链接]

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2019.1.8 10:36 | 显示全部楼层 |阅读模式
Discuz X3.4  开启全站HTTPS后,板块帖子链接还是HTTP解决办法
https://bbs.mfpud.com/loadream-542-1-1.html
(出处: 童话镇)


Discuz X3.4  游客看不到注册用户的签名档图解决办法
https://bbs.mfpud.com/loadream-535-1-1.html
(出处: 童话镇)

Discuz X3.4 社区动力论坛程序 升级教程
https://bbs.mfpud.com/loadream-578-1-1.html
(出处: 童话镇)

又发现了一种方法,看2楼操作
1,登录后台,工具,计划任务,取消勾选 每日用户表优化

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

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

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


几个受影响需要更改的表

pre_common_member
pre_common_member_archive

pre_common_member_count
pre_common_member_count_archive


pre_common_member_field_forum
pre_common_member_field_forum_archive


pre_common_member_field_home
pre_common_member_field_home_archive

pre_common_member_profile
pre_common_member_profile_archive

pre_common_member_status
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的空表,更新缓存的时候出现这个错误,而且注册不了(在注册的最后一步会出现不跳转的情况)

(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';
复制代码


若没有找到执行语句的输入窗口 则修改

config/config_global.php

当中的

$_config[admincp][runquery] 设置修改为 1


(为了安全执行完该语句后 确认解决了1146错误后 再将配置该回来 )  刷新后再输入执行。


又发现了一种方法,看2楼操作

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2019.1.8 11:22 | 显示全部楼层
一定要备份数据库一定要备份数据库
一定要备份数据库


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

  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`;
复制代码


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

使用道具 举报

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2019.1.8 11:24 | 显示全部楼层
看2楼内容
回复

使用道具 举报

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2019.1.8 11:26 | 显示全部楼层
照着第一个表的方式照葫芦画瓢吧,挺简单的
回复

使用道具 举报

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2019.1.8 11:28 | 显示全部楼层
照着第一个表的方式照葫芦画瓢吧,挺简单的
回复

使用道具 举报

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2019.1.8 11:29 | 显示全部楼层
照着第一个表的方式照葫芦画瓢吧,挺简单的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

站点地图|童话镇

GMT+8, 2025.1.2 00:55 , Processed in 0.063362 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表