首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试突击63:MySQL如何

MySQL 中,最常见的去方法有两个:使用 distinct 或使用 group by,那它们有什么区别呢?接下来我们一起来看。...我们先用 distinct 实现单列去,根据 aid(文章 ID)去,具体实现如下: 2.2 多列去 除了单列去之外,distinct 还支持多列(两列及以上)去,我们根据 aid(文章...ID)和 uid(用户 ID)联合去,具体实现如下: 2.3 聚合函数+去 使用 distinct + 聚合函数去,计算 aid 去之后的总条数,具体实现如下: 3.group by...distinct 和 group by 的区别 官方文档在描述 distinct 时提到:在大多数情况下 distinct 是特殊的 group by,如下图所示: 官方文档地址:https://dev.mysql.com...by 和 distinct 都可以使用索引,此情况它们的性能是相同的;而当去的字段没有索引时,distinct 的性能就会高于 group by,因为在 MySQL 8.0 之前,group by

3.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL 数据恢复

MySQL 数据恢复 前言 前两天因为没注意的误操作, 直接把某个数据表清掉了, 心慌慌. 怪自己学艺不精, 当时整了一下午也没把数据找回来....增量备份就是 mysql 的binlog了....数据恢复 当需要恢复数据时, 如何根据这两个备份文件进行恢复呢? 打个比方, 当前时间是: 2020-9-4 23:00:00. 此时, 我做了清表的疯狂操作. 如何恢复数据? 1....通过全量备份, 将数据恢复到今天凌晨的时刻 进入 MySQL命令行, 执行数据恢复文件: source /Users/hujing/dir/tmp/mysqldump_log/2020-09-04.sql...此时, 数据就已经恢复了. ---- 肤浅的记录一下, 虽然现在可以恢复数据了, 但是还有很多问题没有解决, 比如, 如何恢复一张表的数据等等. 吃一堑长一智, 之后对数据库的操作要慎之又慎.

4.6K50

MySQL实例恢复

https://blog.csdn.net/robinson_0612/article/details/82588176 MySQL实例在异常宕机重启后,会自动启动实例恢复。...由于MySQL为多引擎数据库,所以需要说明的是MySQL实例恢复,实质上指的是对事务进行恢复,即对innodb恢复。...本文简要描述mysql实例恢复的步骤,并通过具体演示来感受mysql实例恢复的过程。 一、MySQL实例 MySQL实例就是mysqld后台进程以及多个线程再加上内存分配 ?...二、MySQL实例恢复的步骤 ? 三、InnoDB恢复过程 InnoDB崩溃恢复包括几个步骤: 1、应用重做日志 重做日志应用程序是第一步,在实例初始化期间执行,此时不接受任何连接。...在回滚操作完成之前,新连接可能会遇到与已恢复事务的锁定冲突。在大多数情况下,即使MySQL服务器在繁重的活动中被意外杀死,恢复过程自动发生,DBA不需要任何操作。

1.7K10

MySQL数据恢复

今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog解析出你要的SQL,并根据不同选项,可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等...2.1 参数设置 MySQL server必须设置以下参数 [mysqld] server_id = 128 log_bin = /data/mysql/mysql3306/logs/mysql-bin...max_binlog_size = 512M binlog_format = row binlog_row_image = full # 默认值,可以不显式设置 2.2 创建恢复账号 因binlog2sql...3.1 生成恢复SQL 因知道大概误删除的时间,因此通过解析对应时间的binlog恢复出指定库表的数据,生成的结果是用于恢复的sql python binlog2sql.py --flashback...7 | vgcess | 29 | | 8 | hdgd | 0 | +----+--------+-------+ 8 rows in set (0.00 sec) 数据已恢复

10810

MySQL 备份恢复(四)

前面三篇已经介绍了 MySQL 备份相关的原理与方法,要是还没有来得及看的可以戳此查看『MySQL 备份恢复(三)』,那么今天就接着继续谈谈备份恢复相关内容之 Xtrabackup 的原理、安装与使用,...XtraBackup 备份恢复操作 1、创建备份账号 我们可以使用 MySQL 的 root 用户进行备份工作,也可以单独创建一个用于数据库备份的用户,过程如下。...6、Xtrabackup 增量备份的恢复 首先模拟故障将表 t 删除: use testdb; drop table t; select * from t; 首先在恢复的过程中将全备恢复,然后将两个增量备份恢复到全备中...,将前面新恢复的备份进行一次完全恢复,回滚那些还未提交的数据。...MySQL 备份相关的知识点应该是全部结束了,其他几篇可以查看历史记录。备份恢复的时候翻出来瞅瞅,大概率是有帮助的,有帮助我也很欣慰,好久没开过赞赏了,要是下面能出现你的头像,那我会更加欣慰的!

2.3K20

mysql备份与恢复

为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。 20 --force在导出过程中忽略出现的SQL错误。..._$(date +%F).sql (2)恢复操作 a、删除student表(库必须要保留,空库都行) mysql -uroot -p'123456' -e "use mytest;drop table...student;" b、恢复数据 mysql -uroot -p'123456' mytest < /mnt/mytest_bak.sql c、查看数据 mysql -uroot -p'123456...(2)恢复操作 a、删除mytest库 mysql -uroot -p'123456' -e "drop database mytest;" b、恢复数据 (1)使用不带参数的导出文件导入(导入时不指定要恢复的数据库...(2)使用带-B参数的导出文件导入(导入时也不指定要恢复的数据库),成功 mysql -uroot -p'123456' < /mnt/mytest_bak_B.sql c、查看数据 mysql -

2.5K41

MySQL 备份恢复(一)

/bin/mysqladmin –uroot–proot shutdown 备份数据目录: cp –r/opt/mysql newdirectory恢复:cp –rnewdirectory /opt...例如 40101,表明这些语句只有在 MySQL 版本号为 4.01.01 或者更高条件下才可以被执行。 ? 备份文件的最后几行 MySQL 使用 SET 语句恢复服务器系统变量原来的值。...恢复全库 恢复全库时可利用 mysql 这个客户端工具来进行,命令如下: mysql –uroot –proot </tmp/all_20190413.sql testdb 单库备份: mysqldump...--single-transaction -uroot -proottestdb >/tmp/testdb_20190413.sql 单库恢复mysql –uroot –proot testdb...: mysql –uroot –proot testdb </tmp/testdb_t_20190413.sql 注意:单表恢复时,在导入符号前不需要写表名,只需要写库名即可。

3.7K30

mysql备份与恢复

一、备份/恢复策略   考虑因素有:   (A) 表的存储引擎是否事务性的,在数据一致性方面不太一样。   ...(B) 确定是全备份还是增量备份,   (C) 考虑采取复制的方法做异地备份,复制不能代替备份   (D) 定期做备份,考虑恢复时间和负载。   ...(E) 确保打开log-bin选项   (F) 经常做备份恢复测试,确保备份有效,且可恢复。 二、逻辑备份和恢复   逻辑备份是将数据库中的数据备份成一个文本文件,备份文件可查看和编辑。...结合备份数据和binlog可以做到全恢复。 三、物理备份和恢复   速度更快,基于文件的cp。   ...(A) 冷备份和恢复:停机拷贝和拷贝开启   (B) 热备份和恢复:不同引擎不一样     MyISAM:对要备份的表加读锁,再cp     InnoDB: 日志重做机制 四、表的导入导出   导出数据的原因

2.4K20
领券