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

记录mysql密码 (临时修改密码, 然后改回原来的密码)

导读有这么一个需求: 我们要临时修改mysql部分账号的密码. 等过一段时间就修改回来.比如: 我把账号临时给某个人使用, 肯定是修改为一个随机密码给它, 等过一段时间收回来再修改回原来的密码....(mysql.user表中的authentication_string是存储的加密之后的密码)分析我们导出数据的时候, 是可能包含mysql.user表的. Mysql的账号只是其中的几行数据而已....而且不安全, 毕竟是直接修改mysql.user表的数据.(还可能导致主从1396报错)那就只能使用官方的ALTER USER来修改密码了....好在官方的alter密码是支持使用加密后的密码(binlog里面也是记录的这种格式的SQL, 毕竟不能记录明文啊)....那是二进制的方式啊....带胶布, 我们可以将二进制的密码转为16进制. mysql是能识别16进制的.

20010

SQL:删除表中重复的记录

distinct (name) into # from test --查看新表中的数据 select from # --清空旧表 truncate table test --将新表中的数据插入到旧表...insert test select from # --删除新表 drop table # --查看结果 select from test 查找表中多余的重复记录,重复记录是根据单个字段...peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)  2、删除表中多余的重复记录...a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count() > 1)  4、删除表中多余的重复记录...“name”,而且不同记录之间的“name”值有可能会相同,  现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;  Select Name,Count() From A Group

4.8K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    104-oracle大表删除重复记录的几种方法

    如果是小表,随便怎么折腾都行; 如果是大表(至少1千万条记录以上,或者占用10G以上空间), 我们可能需要想办法加快这个速度 , 这时可以参考下面方法: 要求: 删除t1表 object_name字段上的重复记录...先查表的总记录数和需要删除的重复记录数,dup_cnt就是需要删除的重复记录数: --如果是多个字段去重,一起写到 group by 后面 select /*+ parallel(8) */...,然后用Nested Loops(禁用了hash join和merge join,只能选择Nested Loops), 按rowid删除重复记录, 大表全表扫描只做一次....下面的方法3会把大事务拆分. 3.可以把大事务拆分, 比如拆分成10次: 把要删除记录的rowid保存到临时分区表, 然后逐个批次执行: --创建临时表分区表保存待删除rowid及对应的批次: --...ntile(10) 分析函数负责把记录拆分等10份, 相邻rowid分在一组 --建分区表是为了避免临时表的多次全表扫描 CREATE TABLE tmp_t1_rid parallel 8 PARTITION

    70320

    MySQL查看数据库表中的重复记录并删除

    表数据如下 查看用户名相同的记录 select * from user where username in (select username from user group by username...删除用户名和手机号都相同的重复记录 DELETE from user where (username,phone) -- 注意:此处一定要加括号,当成联合字段来处理 IN ( --...HAVING COUNT(1) > 1 ); 上述语句看着是不是应该正常能执行删除掉用户名和手机号都相同的重复记录只保留id最小的那一条。...实际执行会报如下错误: 1093 - You can’t specify target table ‘user’ for update in FROM clause 含义:不能在同一表中查询的数据作为同一表的更新数据...SELECT MIN(id) FROM user GROUP BY username,phone HAVING COUNT(1) > 1 ) )as u ); 将select出的结果再通过中间表

    10.9K30

    【DB笔试面试469】Oracle中如何删除表中重复的记录?

    在重复的记录中,可能所有列上的内容都相同,但ROWID不会相同,所以,只要确定出重复记录中那些具有最大ROWID的就可以了,其余全部删除。...2、删除重复记录的方法 若想要删除部分字段重复的数据,则使用下面语句进行删除,下面的语句是删除表中字段1和字段2重复的数据: DELETE FROM 表名 WHERE (字段1, 字段2) IN (...SELECT 字段1,字段2 FROM 表名 GROUP BY 字段1,字段2 HAVING COUNT(1) > 1); 也可以利用临时表的方式,先将查询到的重复的数据插入到一个临时表中,然后进行删除...如下所示: CREATE TABLE 临时表 AS (SELECT 字段1,字段2,COUNT(*) FROM 表名 GROUP BY 字段1,字段2 HAVING COUNT(*) > 1); 上面这句话的功能是建立临时表...有了上面的执行结果,下面就可以进行删除操作了: DELETE FROM 表名 A WHERE (字段1,字段2) IN (SELECT 字段1,字段2 FROM 临时表); 假如想保留重复数据中最新的一条记录

    2.8K30

    MySql基础-笔记11-临时表、复制表、元数据、序列使用

    1、临时表1.1、说明保存一些临时数据只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。...1.2、实例 图片1.3、删除临时表图片2、复制表即 完整的复制MySQL数据表。...复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。如果你想复制表的内容,你就可以使用 INSERT INTO ... SELECT 语句来实现。...study_id 的信息或者来看下study_tb7图片4.3、重置序列如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现...不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱。操作如下所示:图片4.4、设置序列的开始值默认开始值为1,修改默认值为50图片

    1.4K50

    四面阿里被问MySQL底层如何实现order by的,瞬间懵了!

    排序过程中使用的临时文件数。为啥需要12个文件?内存放不下时,就需要使用外部排序,外部排序一般使用归排。MySQL将需要排序的数据分成12份,每一份单独排序后存在这些临时文件中。...然后把这12个有序文件再合并成一个有序的大文件。...若使用InnoDB,把数据从临时表取出时,会让Innodb_rows_read的值加1。 4 rowid排序 上面的算法,只是读一遍原表数据,剩下都是在sort_buffer和临时文件中执行。...若不排序就能得到正确结果,那对系统的消耗会小很多,语句执行时间也会更短。实际上,并非所有order by都需排序操作。MySQL之所以需要生成临时表,并在临时表上做排序,是因为原来的数据都是无序的。...(city,name)取下一个记录的主键id 重复步骤2、3,直到查到第1000条记录或不满足city='上海’条件时,循环结束 6.2 执行示意图 可见,该查询过程无需临时表,也无需排序。

    1.6K30

    ETL和数据建模

    数据文件包含增量,全量以及待删除的增量。 增量数据文件:数据文件的内容为数据表的增量信息,包含表内新增及修改的记录。 全量数据文件:数据文件的内容为数据表的全量信息,包含表内的所有数据。...)放入VT_INC_编号,然后再将最终目标表的开链数据中的PK出现在VT_INT_编号中进行关链处理,然后将VT_INC_编号中的所有数据作为开链数据插入最终目标表即可。...END_DT关闭到当前业务时间),然后再将增量(不含删除数据)作为开链数据插入到目标表中即可; 通常建三张临时表,一个名为VT_NEW_编号,用于将各组当日最新数据 (不含删除数据)转换加载到VT_NEW...,分别找出真正的增量数据(新增、修改)和删除增量数据,用它们将目标表中属性发生修改的开链数据(有效记录)进行关链操作(即END_DT关闭到当前业务时间),然后再将最新数据中真正的增量数据(不含删除数据)...然后将VT_INC_编号中所有的END_DT不等于最小日期数据(非删除数据)作为开链数据插入最终目标表即可。

    1.1K20
    领券