Questions tagged «database»

WordPress将用户生成的内容以及其他可配置信息存储在数据库中(通常为MySQL)。

6
删除插件时从数据库中删除表
我创建了一个插件,并想添加一个函数,以在用户删除我的插件时从数据库中删除我的表。我创建了一个函数,当用户停用我的插件时,该函数将从数据库中删除表,但我不希望这样做。这是代码: // Delete table when deactivate function my_plugin_remove_database() { global $wpdb; $table_name = "NestoNovo"; $sql = "DROP TABLE IF EXISTS $table_name;"; $wpdb->query($sql); delete_option("my_plugin_db_version"); } register_deactivation_hook( __FILE__, 'my_plugin_remove_database' ); 如您所见,该功能在停用插件时会删除表,但是在删除插件时我需要这样做。


2
WordPress的数据库慢-我应该切换到InnoDB吗?
我有一个WordPress网站,帖子数量超过1万,每当我添加和编辑帖子时,事情开始变得非常缓慢。页面对用户以及帖子的管理列表的加载速度都非常快,但是这是在发生写入或更新时,服务器将使用100%CPU并花费很长时间(有时比PHP的60秒超时时间长)。 我认为这很可能与MyISAM的表级锁定有关,并且正在考虑将其切换到InnoDB。这样做的含义是什么? 一些统计: select - per hour ~22k update - per hour ~7.6k set option - per hour ~7k 我知道我可以进行很多其他优化,但是我觉得这可能会产生最大的影响。 谢谢 编辑:我发现导致速度缓慢的主要问题之一是每次都重新生成“关联性”的是YARPP(还有另一个相关文章插件),这似乎是由于我们拥有2k +标签。我关闭了“考虑标签”选项,它的速度大大加快了。 此外,其他可重新生成内容的插件也可能导致此类问题,例如某些XML网站地图插件。 因此,尽管我仍然很想听到InnoDB与MyISAM for Wordpress的良好回答,但我的当务之急得到了解决!

4
使用wpdb的get_results
我正在尝试检索数据库中的信息。我想pages使用此语句显示所有内容,但我空白ARRAY global $wpdb; $result = $wpdb->get_results ( " SELECT * FROM $wpdb->wp_posts WHERE post_type = 'page' " ); echo $result; // display data 输出: ARRAY 编辑:更改以下建议后,我现在正在使用它。但我仍然没有得到任何结果: global $wpdb; $posts = $wpdb->wp_posts; $result = $wpdb->get_results( " SELECT * FROM $posts WHERE 'post_type' = 'page' " ); foreach ($result as $page) { …
12 database  query  wpdb 

2
旧的永久链接块存储在哪里?
我发表了一篇关于永久链接的文章: http://domain.com/writing 然后,在发布后,我将永久链接条更改为writing-lorem。现在,无论何时我访问/writing,它都会重定向到/writing-lorem。 我想将writingslug用于新类别,但是不能,它将更改为writing-2。 为了尝试删除该段记录的所有记录writing,我在数据库中查找了post_name该帖子下的列,但值是新段记录writing-lorem。 然后,我搜索具有该writing值的其他帖子,没有找到。 该条塞到底存储在哪里,如何删除它以便可以将其用于类别?

2
数据库版本控制和部署的解决方案?
目前,我使用转储脚本并将数据库提交到git repo。 --skip-extended-insert --skip-comments --skip-dump-date意味着diff可以使我对更改的内容有一个清晰的了解,但是如果我尝试合并,所有内容都会掉落。 WP_SITEURL,WP_HOME和所有其他wordpress存储完整URL的地方都需要在导入到另一个主机(测试,登台,生产)时进行更新 有人在使用更好的方法吗? 主要问题: WordPress会在整个数据库中存储完整的URL(不可移植) 许多其他不相关的记录发生更改 auto_increment值(我只是删除了这些值,但是遇到ID问题) 时间戳记(也可能剥离) 临时 *记录...不知道该如何处理 一个创建带有时间戳的迁移,仅添加或删除事物的过程将是理想的……但是我不确定是否有可能?

2
登台站点,您如何管理数据库中的同步更新?
开发人员应先通过登台站点测试更新,然后再将其发布到实时服务器,这一点已被广泛接受,但是一旦开发更新需要在Wordpress DB中进行修改,事情就会变得复杂,因为实时站点中的用户也会更新数据库。 我能想象的唯一(混乱)的流程如下: 在本地服务器(WAMP,XAMP等)上测试 准备好部署后,将活动站点置于维护模式 备份活动站点(复制器,sqldump等) 创建一个锁定的实时站点到暂存站点的克隆 将修改从本地环境上传到登台站点 测试暂存站点 推动登台现场直播。 删除维护模式 上面流程的缺点: 在开发人员正在仔细测试登台站点中的更新时,停机时间可能比用户预期的要长; 可能需要手动管理修改:例如,siteorigin pagebuilder布局存储在数据库中,因此,一旦修改了布局,则必须将其手动导入到登台站点中;在这种情况下,只需将页面拖放到暂存站点中就足够了,如果可行,可以将它们导入实时站点中 我想知道是否有更好,更自动化的方法来实现这一目标。 你怎么看? 根据要求进行编辑,过去已经提出了一些解决方案,但没有一个提供最终的解决方案: 9 / 2010- 开发/登台与生产之间的数据库同步 12/ 2011-部署修改wp_options表的更新或新插件 9/2014- 如何在不覆盖新帖子/页面的情况下将本地更改上传到实时服务器? 1/2015- 如何在生产和分期中维护wordpress网站博客?
11 database  staging  sync 

5
为插件创建自己的表是不好的做法吗?
如果我想为我的插件保存设置,那将非常简单直接。 现在,我想将更多内容保存到数据库。 文件名,以及仅适用于该文件的其他3个值。并且有许多具有这些值的文件。是否可以使用内置的数据库方法保存某种子数组?如何删除它们并对其进行排序?
11 plugins  database 

3
将WordPress多站点实例复制到第二个位置后,数据库连接错误
这是我的设置。我有一个运行在http://example.com的Multisite实例,我想进行开发和暂存。将WP的现有Multisite实例移至localhost是一个噩梦,因此我将在暂存位置上进行开发。 我将http://staging.example.com设置为指向托管帐户的/ public_html / staging /目录,并将所有WP文件从我的根目录复制到/ staging /目录中。我还复制了数据库文件(SQL转储,将表导入到新数据库中),并更改了wp-config.php文件以指向新数据库。 运行SQL更改数据库记录后,我还更改了wp-config.php文件中的这一行: /** Turning on WordPress MU, new in 3.0 */ define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); $base = '/'; define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 …

5
检查数据库表是否存在
我读过Wordpress Codex和专业Wordpress。似乎两者都使用类似 if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) { 确定表是否存在。有什么理由CREATE TABLE IF NOT EXISTS ( ... )不使用?它将在1个查询中检查并创建表,这会更好吗?还是我错过了什么?
11 database  mysql 

1
请从低层次解释Wordpress如何与MySQL字符集和排序规则一起使用
正如问题标题所暗示的那样,我希望了解Wordpress如何与MySQL字符集和排序规则选项一起使用。正如我将在下面显示的那样,事情对我来说没有太大意义。 我按照其安装页面上的说明安装了Wordpress: https://codex.wordpress.org/Installing_WordPress 作为说明的一部分,我按照他们的建议在命令行上手动创建MySQL数据库,即命令: mysql> CREATE DATABASE databasename; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname" -> IDENTIFIED BY "password"; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> EXIT 此外,按照指示,我编辑了“ wp-config.php”文件以使用UTF-8字符集: define( 'DB_CHARSET', …


5
WordPress可以处理多少个用户?
我想在WP中设计一个会员登录网站,但我怀疑WordPress是否可以在同一数据库上处理超过40000个用户? 我对此不太确定,所以我在这里工作。因此,如果有人对此有所了解,请帮助我继续进行WP项目。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.