命令行运行VirtualBox虚拟机

1 安装Extension Pack 首先,需要安装一个与VirtualBox版本对应的Extension Pack,比如我的VirtualBox是6.0.10,那我就下一个同版本的Extension Pack。 Extension Pack下载地址(与VB在同一个界面):https://www.virtualbox.org/wiki/Download_Old_Builds。 然后安装: 打开VirtualBox界面File | Preferences切换到 Extensions 区域点…

WordPress 10w+数据时, 解决SQL_CALC_FOUND_ROWS查询使网站变慢问题

2.6k MySQL , 3评论
Wordpress在查询post列表时,默认会同时把文章数量也查询出来, 使用这种方式的有:get_posts 、query_posts和WP_Query。 get_posts在4.6.1+已经不用SQL_CALC_FOUND_ROWS,但是query_posts和WP_Query还是会用,所以还须优化。 具体语句如下: SELECT SQL_CALC_FOUND_ROWS tmpe04d7e_posts.ID FROM tmpe04d7e_posts WHERE 1=1 AND tmpe04…

MySQL kill process

5.2k MySQL , 发表评论
一般我们用命令: mysql> show full processlist; 可能看到很多等待的进程,如果要杀掉其中的某个,用kill命令: mysql> kill 1234; 那如果是要杀掉所有的进程呢? 首先用命令生成 kill 命令字符串,如下: mysql> select group_concat(concat('kill ',id) separator '; ') as cmd from information_schema.processlist where …

MySQL count性能优化

7.3k MySQL 发表评论
select count(*)是MySQL中用于统计记录行数最常用的方法。 count方法可以返回表内精确的行数,每执行一次都会进行一次全表扫描, 以避免由于其他连接进行delete和insert引起结果不精确。 在某些索引下是好事,但是如果表中有主键,count(*)的速度就会很慢,特别在千万记录以上的大表。 如果用 explain 命令速度会快很多,因为 explain …

如何找出MySQL中正在锁表的语句?

4.7k MySQL , , 发表评论
MySQL在每个版本发布时,都会加上一些用以监控内部活动的工具。 但是,监控内部的锁情况的工具一直支持的不好。 监控锁一个非常重要和常用的功能,在这篇文章,我讲阐述如何做到。 1 介绍 假设有这样的一种情况:你准备update一个表,但是每次执行update语句的时候,都一直在等待,直到返回信息告诉你等待锁超时。 你准备update的表已经…

MySQL更新字段来自另一个表的count()值

假设有文章post和评论comment两个表,文章表记录有评论的数量,但是这个值我们要一次更新。 如下,现在post表的comment_count都是0,我们的目标是:执行一个SQL语句,让其把统计comment表的数据数量。 post表数据如下: +---------+-------------------+---------------+ | post_id | title | comment_count | +---------+-------------…

设置MySQL默认时区

10.1k MySQL , 发表评论
MySQL默认的时区是UTC时区,比北京时间晚8个小时。 假设日志里面的时间是中午12:00,那么北京时间应该是晚上的8:00点钟。 为方便查看和设置时间,我们要设置MySQL的默认时区,以符合本地使用。 1 永久有效方法 修改 my.cnf 文件,加入如下2行: default-time-zone='+08:00' # 数据表默认时区 即设置MySQL默认时区为东八区。 2 仅当前会…

MySQL查找和删除重复数据

2.0k MySQL , 发表评论
如何从MySQL中删除重复数据,只保留一条呢? 假设有如下一个数据表: mysql > SELECT * FROM users; +----+--------+ | id | name | +----+--------+ | 1 | google | <-- | 2 | yahoo | <-- | 3 | msn | <-- | 4 | google | | 5 | google | | 6 | yahoo | +----+--------+ 后面3条都是重复的数据,如何用一条命令删掉这些重…

MySQL导入多个.sql文件高效方法

10.3k MySQL 一条评论
MySQL有多种方法导入多个.sql文件(里面是sql语句),常用的有两个命令:mysql和source。 但是这两个命令的导入效率差别很大,具体请看最后的比较。 (还有sqlimport和LOAD DATA INFILE等导入方法,不过它们主要用于导入.csv或.xml文件数据,不是.sql文件) 假设我们有一个 users.sql 大文件,为方便我们将其拆分成:user1.sql、user2.s…

MySQL重置root密码

10.7k MySQL 发表评论
我们介绍一种无需密码的重置root密码的方式。 步骤如下: 1、打开配置文件/etc/my.cnf,在mysqld下添加一行skip-grant-tables,如下: [mysqld] #... skip-grant-tables #... 这样我们就可以免密登录MySQL了。 然后保存并退出。 2、重启MySQL 这两个命令2选1: $ sudo systemctl restart mysqld $ sudo service mysqld restart 3、终端…
下一页 »