同服务器2个域名怎么共用一个数据库

wordpress为网站提供了相同的数据库,实现多个wordpress网站之间共享用户数据提供可能。wordpress如何实现如通行证一样的共享用户登录呢?只需要将需要共享的数据库共用即可,我们这里只需要共享_user与_usermeta表,下面是完整实现过程。

同服务器2个域名怎么共用一个数据库

安装web
首先,准备两个域名及web环境,我的测试环境是宝塔。

主站A
域名:a.test.com
数据库名称:test
数据库用户:mytest
数据库用户密码:test123
数据表前缀:a_
从站B
域名:b.test.com
数据库名称:test
数据库用户:mytest
数据库用户密码:test123
数据表前缀:b_
先安装A站,使用上述A站配置信息,安装完毕后,再安装B站,B站也使用上述信息。注意:为了实现数据共享,我们必须将两个站的数据表都放在同一个数据库中,上面我用的test数据库。

修改wordpress配置
为实现共用用户数据,我们必须让两个站使用的数据表都为a_user与a_usermeta。或者都使用b_user与b_usermeta,我这里使用的A作为主站,所以我需要把B站使用的b_user与b_usermeta数据表改为使用a_user与a_usermeta数据表。

打开B站wordpress根目录下的wp_config.php配置文件,在其中加入如下配置:

define('CUSTOM_USER_TABLE', 'a_users');
define('CUSTOM_USER_META_TABLE', 'a_usermeta');

这两句配置重新声明了_user与_usermeta数据表的名称,这里将其改为需要共享数据的表名称,我是用的是A站的用户数据。

到此,你的A、B两站用户数据共享已经完成,都可以使用A站点的用户数据注册登录,但wordpress在_usermeta表中有对用户权限的记录,到这一步,你的B站虽然可以使用A站的用户数据登录,但不能访问后台,访问会提示用户权限不够。

自动添加用户权限
当你完成上面的步骤时,你的a_usermeta数据表中,并没有记录用户对B站点的访问权限,为了使A站点的管理员用户能拥有B站点的管理权限,我们需要在a_usermeta数据表中插入如下权限记录:

INSERT INTO `test`.`a_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '1', 'b_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

在这里解释下,在_usermeta数据表中meta_key的值为_capabilities的记录项就是记录的用户权限,其前缀代表了权限是哪个站点的。由于我的管理员账号是建站时建立的,所以user_id为1。administrator表示管理员权限,其它权限见WordPress移除用户角色添加新角色并赋予角色能力/权限一文。

通过上面的mysql命令,插入用户对B站点的权限后,我们就可以正常访问B站的后台了。注意:记得清理cookies!

如果不会MySQL,你也可以使用phpmyadmin使用鼠标点击a_usermeta数据表中meta_key值为a_capabilities记录项前面的复制链接,phpmyadmin会自动跳转到插入功能并填入相应值,你只需要修改前缀再点击执行即可。

这里我们使用的是手动的方式来赋予用户对B站点的访问权限,我们不可能手动为每一位用户赋予权限,那么我们可以使用如下代码来实现注册时自动赋予权限。

方法一、手动修改WordPress表前缀。

1、更改mysql数据库里面的数据库前缀;

直接进网站的数据库管理,全选所有表》修改表前缀,WordPress的初始程序只有11张表,后续我们安装各种插件会增加各种各样的表,我这里有30张表。

同服务器2个域名怎么共用一个数据库

填写一下需要替换的表前缀即可,我这边是从wp_更改为wpkl_表前缀

同服务器2个域名怎么共用一个数据库

2、在网站根目录修改wp_config.php里面的$table_prefix为新表前缀。

$table_prefix = 'wp_';

更改为:

$table_prefix = 'wp_';

3、更改wp_options表

表wp_options( 新表为wpkl_options)里面的option_name字段值要改掉

update wpkl_options set option_name = replace(option_name,'wp_','wpkl_');

4、更改wp_usermeta表

表wp_usermeta( 新表为wpkl_usermeta)里面的meta_key字段值要改掉

update wpkl_usermeta set meta_key = replace(meta_key,'wp_',wpkl_');

方法二、用插件修改WordPress表前缀(推荐)

用到的插件:WordPress Database Table Prefix Changing

插件无非就是将上述手动操作的四个步骤全部集成到插件里面自动完成:

1、更改mysql数据库里面的数据库前缀;

2、更改网站根目录下wp-config.php文件里面的表前缀;

3、更改表wp-options里面的表前缀;

4、更改表wp-usermeta里面的表前缀;

打开插件后,勾选“Would you like to your own custom prefix”,然后下方的文本框输入我们新的表前缀,比如”wpkl_”

同服务器2个域名怎么共用一个数据库

然后点击下方的Click To Change Table Prefix即可。修改成功会出现以下提示:

同服务器2个域名怎么共用一个数据库

插件执行修改WordPress数据库表前缀的修改之后,我们打开网站前台、后台看是否正常,品自行博客执行完毕发现,根目录下得wp-config.php里面的表前缀没有自动修改,手动改完就ok了,其他没啥问题。

  • 方法一、手动修改WordPress表前缀
  • 方法二、用插件修改WordPress表前缀(推荐)
  • 版权声明:所有资源均来源于互联网,如有侵权请联系我们删除
  • 发表,

  • 转载请注明:同服务器2个域名怎么共用一个数据库 | 「多家客博客」
  • (0)
    多家客多家客
    上一篇 2023年1月17日 下午6:28
    下一篇 2024年5月28日 下午1:17

    相关推荐

    • 升级PHP版本后网站显示502

      因为看了wordpress后台里说升级PHP7.4以上性能可以提升4倍?在强迫心理的驱使下,决定升级原先的PHP5.6的版本,但是升级后网站一直显示502 看了很多解决方法,没有一…

      2023年1月16日
    • WordPress让作者和贡献者在后台只能看见自己的文章

      如果你的前台投稿功能本身就很强大的话,其实可以不用看这个的,但是我觉得让作者或者贡献者直接进后台发布文章,功能更齐全,至于网站后台其他很多功能,都是可以屏蔽不让普通用户看见的。 当…

      2023年1月16日
    • wordpress菜单不小心被删除了

      用过wp建站设置菜单的时候,往往会不小心把菜单删除。 因为在想删除设置首页单个菜单分类时,删除整个菜单非常醒目。 而删除分类单个又要打开又要下移啥的,很麻烦。 遇到这种只能通过之前…

      2024年5月28日
    • WordPress后台页面的logo图标修改方法

      一些新手在使用wordpress中,主题logo明明已改,可是后台图片还是系统默认的W。 替换这个默认图标可以在: 外观-自定义,上传一个图标到“站点身份”下的 站点图标选项中: …

      2023年1月16日
    • 关闭wordpress站内搜索功能

      wordpress站内搜索功能会进行过多的数据查询,随着百度站内搜索的公开发布后,越来越多的站长选择关闭wordpress站内搜索功能,从而使用上了百度站内搜索,顾名思义,就是将搜…

      2022年11月13日
    • worspress网站更改数据库的方法

      很多新手建站朋友对现有网站域名不满意,但是换域名资料发现无法全部更换。 这种情况一般都是数据库没有调试好。 下面就是解决的方法,我个人也是找了好多方法才成功解决 修改程序confi…

      2023年1月16日
    • worspress搜索排除分类

      在WordPress中,如果你想要在搜索中排除特定分类,你可以使用pre_get_posts钩子来修改查询。以下是一个如何实现的例子: 在这个例子中,exclude_categor…

      2024年6月20日
    • 怎么注销备案网站域名

      如果网站域名不用了,一定要注销域名, 不然后续别人注册你的域名后,用你的域名做不好的东西这样就麻烦了。 所以不用了的域名要做网站备案注销。 注销网站也是非常简单的,一般都是在云服务…

      2023年1月17日
    • 2核4G和2核8G云服务器的区别

      这里只讲建站,如果有其他更多的需求当然是越多越好。 如果只是建站的话,那4G理论上可以同时容纳4000访问,对于新建站点的朋友足够用了。 至于核心数量这个2核和4核对于个人站长来说…

      2023年1月17日