【问题标题】:Cron job to copy db table rows betwen 2 MySQL tables在 2 个 MySQL 表之间复制数据库表行的 Cron 作业
【发布时间】:2013-01-25 09:36:16
【问题描述】:

我想将登录数据从一个表复制到另一个表。

  1. 表格包含 Joomla 登录数据
  2. 表包含 phpFox 登录数据。我想每隔 30 秒/1 分钟将表 1 中的登录数据复制到表 2。

【问题讨论】:

    标签: php mysql joomla cron phpfox


    【解决方案1】:

    这很简单。只需编写一个执行您想要的操作的查询并将其保存为.sql 文件。然后在命令行输入crontab -e 开始编辑你的crontab。 Ubuntu docs 对编辑 crontab 有很好的说明,但您的最后一行可能类似于:

    * * * * *       mysql --user=your_dbuser --password=your_password --database=zero < /path/to/your_query.sql
    

    【讨论】:

    • 我写了sql命令,我运行它,但是我不能用数据登录。他们说:密码错误。我可以得到一个新密码,但我也不能用新密码登录。应该是什么问题?
    • 我不是 MySQL 用户,因此其他人可能会在这里纠正我,但我怀疑您的数据库属于另一个用户,可能是您设置数据库服务器时创建的 MySQL 用户。我已经更改了答案,以便您的 crontab 可以处理,但您需要找到与您的设置相关的用户和密码。 MySQL 文档应该可以帮助您。
    【解决方案2】:

    如果您想将用户信息数据库从主站点共享到其他 Joomla 网站,有一个更好的解决方案。

    唯一的要求是所有数据库必须位于同一服务器 + Joomla 2.5.x!

    打开 PhpMyAdmin 并应用此修改:

    xxxx1... 是来自主站点的表
    xxxx2... 是来自客户站点的表格

    DROP TABLE xxxx2_session
    DROP TABLE xxxx2_usergroups
    DROP TABLE xxxx2_users
    DROP TABLE xxxx2_user_notes
    DROP TABLE xxxx2_user_profiles
    DROP TABLE xxxx2_user_usergroup_map
    
    CREATE VIEW xxxx2_users AS SELECT * FROM xxxx1.jos_users
    CREATE VIEW xxxx2_session AS SELECT * FROM xxxx1.jos_session
    CREATE VIEW xxxx2_usergroups AS SELECT * FROM xxxx1.jos_usergroups
    CREATE VIEW xxxx2_user_notes AS SELECT * FROM xxxx1.jos_user_notes
    CREATE VIEW xxxx2_user_profiles AS SELECT * FROM xxxx1.jos_profiles
    CREATE VIEW xxxx2_user_usergroup_map AS SELECT * FROM xxxx1.jos_usergroup_map
    

    【讨论】:

      【解决方案3】:

      如果您想从默认的 phpfox 函数运行 cron,请查看您的 phpfox 数据库中的 phpfox_cron 表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-03
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        • 2016-01-22
        相关资源
        最近更新 更多