Questions tagged «mysql»

MySQL是一个开放源代码的关系数据库管理系统。

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', …

2
在WP_Query meta_query键中使用REGEXP
我知道我可以像这样在WP_Query中使用REGEXP: $query = new WP_Query(array( 'posts_per_page' => -1, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'custom_fields', 'value' => 'foo[(][0-9][)]', // with regex stuff 'compare' => 'REGEXP', ), ), )); 但是我也需要键中的正则表达式。像这样: $query = new WP_Query(array( 'posts_per_page' => -1, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'custom_fields[(][0-9][)]', // …


3
mysqldump添加drop表?
我注意到在Codex中显示了--add-drop-table选项,用于备份数据库。在我搞砸之前,这是否仅表示最终导入备份时,如果目标数据库中存在表,这些表将被覆盖? 我不想在备份表时放下它们! user@linux:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver -u mysqlusername -p databasename (tablename tablename tablename) | bzip2 -c > blog.bak.sql.bz2 Enter password: (enter your mysql password) user@linux~/files/blog> http://codex.wordpress.org/Backing_Up_Your_Database#Using_Straight_MySQL_Commands
10 mysql  backup 


3
计划WordPress数据库增长的好策略是什么?
希望随着WordPress数据库的增长而获得关于优化和保持性能的主题的一些反馈...描绘一幅画....假设您有一个WordPress / Buddypress MU网站,开始于150kb左右(香草安装) ...随着时间的流逝,用户添加博客,论坛,帖子和评论,数据库将增长到5mb...。明年将增长到10mb...。此外,假设托管控件是标准的共置设置,例如Cpanel或Plesk。 在什么时候数据库条目的数量会影响前端网站的性能? 作为网站管理员,您可以做什么来随着数据库的增长保持平稳运行? 当数据库容量为500-600mb时,在五年后的性能方面会有什么期望? 感谢您对保持紧密联系的任何反馈。 问候, S.

1
dbDelta对FOREIGN KEY的支持
在PHP 5.3.13 / MySQL 5.5.21上,以下代码不起作用: if($check_custom_fields_form!=1){ $sql = "CREATE TABLE IF NOT EXISTS ". $table_custom_fields_form ." ( `form_name` longtext NOT NULL, `field_id` bigint(20) NOT NULL, FOREIGN KEY (`field_id`) REFERENCES $table_custom_fields (`ID`) ON DELETE CASCADE ON UPDATE CASCADE ) CHARACTER SET utf8 COLLATE utf8_general_ci"; dbDelta($sql); } if($check_subscribe_cat!=1){ $sql = "CREATE TABLE …
9 php  mysql  dbdelta 

1
2个月后自动删除不活动的用户
我正在尝试修改此功能: // automatically delete users after 7 days in wordpress function wcs_auto_delete_users() { global $wpdb; $query = $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE datediff( now(), user_registered ) > 7" ); if ( $oldUsers = $wpdb->get_results( $query, ARRAY_N ) ) { foreach ( $oldUsers as $user_id ) { wp_delete_user( $user_id[0] ); …

1
将帖子ID重置为小于64位整数
我已经运行Wordpress多年了,大约有26000个帖子。 在某些时候,我的帖子ID已经超过了32位整数,现在我只能在64位系统上使用Wordpress。 我看到ID为4863166253的帖子。 我想将主机切换到低功耗服务器,例如32位的rapiberry pi。 有什么方法可以重置帖子ID,使它们都低于20亿个吗? 您可以在此处阅读我的Wordpress错误报告 谢谢。
8 database  mysql 

1
通过DESC,ASC在自定义WP_Query中排序
我需要在查询中进行多级排序。问题在于如何像在SQL中那样对一个值DESC和另一个ASC进行排序。在终端中运行以下SQL似乎可以满足我的要求: SELECT DISTINCT * FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_posts.post_type = 'post' AND wp_postmeta.meta_key = 'pb_issue_featured' AND wp_posts.post_status = 'publish' ORDER BY wp_postmeta.meta_value DESC, wp_posts.menu_order ASC; 该pb_issue_featured是一个布尔值。我需要的最终结果是查询以在顶部显示该字段的值为1的帖子,然后显示所有其他字段。然后指定第二层订购menu_order(我正在使用帖子类型订购插件)。 问题是我的布尔值需要从高到低(从1到0)排序,但是menu_order相反。该插件首先订购的菜单的菜单顺序为1。因此,无法使用WP_Query中的内置“ orderby”。有人有建议吗?我调查了“ posts_orderby”过滤器,但无法理解。真的不确定应该在哪里应用它或如何解决它。只是没有按照我的方式重新排序。 谢谢您的帮助!如果相关,我将发布实际的WP_Query,但我想使其尽可能短。 查询参数: $args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' …
8 wp-query  mysql  order 

3
具有3个键的复杂元查询
我认为问题本质上与sql查询结构有关,我不是专家...。 我需要通过2个参数搜索帖子(自定义帖子类型): pd_city pd_country 请注意,meta_query关系为“ OR”,因此,如果以上两个条件中的任何一个为LIKE,我们都将得到一些结果。 第三个键(is_sponsored)用于对帖子进行排序!它可以是1或0,并且其“ is_sponsored”值等于1的帖子应列在顶部。 所以这是WordPress的事情: $sfp_query_args = array( 'sfp_complex_search' => 'yeap', 'tax_query' => array( array( 'taxonomy' => 'sfp_post_category', 'terms' => $term_id ) ), //'meta_key' => 'is_sponsored', 'post_type' => 'sfpposts', 'post_status' => 'publish', 'showposts' => (int)$per_page, 'paged' => $paged, 'meta_query' => array( 'relation' => 'OR', array( 'key' …

2
使用wordpress wp-config文件连接到数据库
如何使用wp-config.php文件连接到数据库? 我正在尝试使脚本对Wordpress更友好,并且我需要连接到数据库,但无需将脚本安装为插件。 基本上我在剧本上 $host = "xxxxxxxxxxx"; //database location $user = "xxxxxxxxxxx"; //database username $pass = "xxxxxxxxxxx"; //database password $db_name = "xxxxxxxx"; //database name //Database Connection $link = mysql_connect($host, $user, $pass); mysql_select_db($db_name); 该脚本不能作为插件安装(这可以使事情变得更容易),因此我需要在安装时使用现有的wp-config.php连接到数据库。 提前致谢 编辑和澄清 1-我需要直接使用wp-config.php,无需修改。2-脚本位于www.example.com/script/ 3-不能作为插件完成,因为脚本的核心需要公开访问,而没有任何登录屏幕跳动。4-我的问题基本上是如何通过修改上面的脚本使用wp-config.php文件连接到数据库。

1
如何优化包含25,000个帖子的自定义帖子类型管理页面?
由于一次加载这么多帖子,我偶尔会收到过多的资源限制错误。我们已将PHP限制设置为128,但仅加载几种帖子类型的帖子列表会占用更多资源。 在具有25,000个帖子的管理页面上,有217个查询,在另一个具有15,000个帖子的管理页面上,有301个查询。 有没有一种方法可以缓存这些页面,或者可以使用另一种方法来加载这些页面而没有问题?

4
如何在Wordpress中找到慢查询的来源?
我有一个WordPress网站,其中有8000多个帖子,每当我添加一个新的WordPress站点时,该站点就会变得无响应。我检查了MySQL慢查询日志,发现它正在执行一次选择,该选择返回posts表中的大多数行,并且花费大量时间来执行。 这是一个例子: Query_time: 149.702704 Lock_time: 0.000078 Rows_sent: 4699 Rows_examined: 9398 Rows_affected: 0 Rows_read: 4699 use 488726_wp; SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` FROM `wp_posts` WHERE ( (post_status = 'publish' AND (post_type = 'post' OR post_type = '')) OR (post_status = 'publish' AND post_type = 'page') …
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.