先说为什么我会遇到这个问题,我有2个网站,一开始是要把2个网站的用户数据同步。

就是把A网站的用户、同步到B网站上去。

但是同步之后,又考虑到仅实时同步用户会引起很多问题,反而不方便,因为2个网站不在同台服务器下,就干脆把同步过来的用户全部删掉了。

因为B网站等很多基础都已经设置好了,不想废掉,完全去新建一个网站,新建的话就得重新来一遍。

删掉用户之后,才发现新注册的用户id,不是以2开始的,而是100、101这样递增的,也就是跳过了中间id。

我之前删掉的用户,就是占用了2 - 99的id。

因为id占用太多了,新注册的直接从几千开始,看着很奇怪,感觉很别扭。

我就找了下怎么让新用户id,从2开始。

现在进行实际步骤:

先进入数据库执行sql命令

ALTER TABLE `wp_users` AUTO_INCREMENT=2
#wp_users就是你网站数据库的用户表,就是代表下一个id从2开始
wordpress重置新用户注册id的方法

现在看看有没有错误,如果没有,那就是直接成功了。

如果遇到以下错误:Invalid default value for 'user_registered'

wordpress重置新用户注册id的方法

提示user_registered无效,是因为mysql添加了NO_ZERO_DATE模式,所以我们现在去禁用这个。

找到你的数据库配置文件:etc/my.conf(比如我的路径)

[mysqld]地方添加:

sql-mode="NO_ENGINE_SUBSTITUTION"
wordpress重置新用户注册id的方法

然后重启数据库服务:service mysqld restart

现在重新进去你的数据库,再去执行上面的代码应该就可以成功运行了。

就算成功了,用户数据表原来占用的id数也还是不变的,但是实际使用不影响。

wordpress重置新用户注册id的方法

成功之后可以把添加到数据库配置文件的代码删掉,再重启下数据库就行了。

现在注册的用户就是从2开始,看着顺眼多了。

wordpress重置新用户注册id的方法

参考:https://stackoverflow.com/questions/43162365/reset-wordpress-next-user-id-number