首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL - 库了,但是很慢

    mysql 上执行了一句 drop database 半天没有完成,详细的慢查询日志如下,那当时MySQL 在做什么呢?...如果我们从 linux 内核层面看,还是可以发现 mysql 这个时候在执行哪些函数的;从而达到更加细粒度的确认 MySQL 在做什么,进而回答 drop database 为什么慢。...可以看到在库时调用的是 mysql_rm_db 这个函数,而这个函数又调用了 mysql_rm_table_no_locks 函数,mysql_rm_table_no_locks 会去清理数据字典。...那库为什么会慢呢?回答这个问题还需要更加深入地分析才行。 ---- OFF-CPU 如果一个进程所依赖的所有资源都已经准备好,那它就可以被调度到 cpu 上执行。...我在分析清理文件的时候发现 vfs 并没有 rm_file 这样的 API ,而是采用“以写代” 的方式来完成删除操作; 也就是说操作系统并不直接去删除文件,而是把文件系统里面对应的 inode 标记为

    2.4K20

    mysql定时备份任务

    简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。...contab定时任务 使用crontab -e来编写我们的定时任务。 0 5 * * 1 [command] 前面的5个数字分别代表分、时、日、月、周,后面的 command为你的执行命令。...假如你需要在每天晚上8点整执行定时任务,那么可以这么写 0 8 * * * [command] 扩展: crontab -l 可以查看自己的定时任务 crontab -r 删除当前用户的所有定时任务...,单纯的只是想要备份,那么上面那个命令就可以帮你进行定时备份。...总结 因为mysql定时备份是在生产环境上必须的任务。是很常用的。所以我就迫不及待的写博客。当然也很感谢我同事的帮助。这篇文章已经写了三天了,因为我也是在不断地试错,不断的更新文章。

    1.9K20

    MySQL中drop和delete用户场景

    关于用户创建的文章,之前写过几篇《MySQL创建用户提示1396》《小白学习MySQL - 不同版本创建用户的些许区别》。 碰巧看到技术社群的这篇文章《同样是用户,为啥还有差别?》...在MySQL当中,对于删除用户的操作大家并不陌生,先来看看问题, # 创建用户testuser01 mysql> create user 'testuser01'@'%' identified by '...接着往下看, # 再次删除用户testuser01 mysql> delete from mysql.user where user = 'testuser01'; Query OK, 1 row affected...mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) # 创建用户testuser01成功 mysql> create user '...分析  还是回到这条语句上,这条语句是创建一个用户'testuser01'@'%',在MySQL当中,这条语句在执行器执行时,大致上看成对mysql库的user表插入一条记录,既然是表,大可以先查查看,

    20320

    临近五一,小林我库了,要跑路吗?

    心里慌的一批的小林,跟我的朋友们说了这件事,朋友建议我先第一时间上报给 leader,不要把库的事情瞒着。 于是,小林就向 leader 说了我库事情,本以为会被痛批一顿。...不过你这么一整,我突然想起编译服务器半年没备份,我先备份一下我的编译服务器,防止哪天也被你们库了。” 我:“????” 吃瓜的小伙伴,是不是觉得小林要库跑路了?...哈哈哈,小林没跑路,反而是恢复了回来,所以接下来说说小林是如何「从库到恢复」的。 正文 初探案发现场 来看看小林写的垃圾代码,是如何引发这次的库。 ?...实现思路: 删除文件时,它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清除回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。...小林现在是一个过库没跑路的男人了,Goodbye, 我们下次见。

    2.7K20

    MySQL库到跑路_高级(八)——事件

    事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次...2、事件调度器的开启 MySQL默认关闭事件调度器。...global variables like '%event_scheduler%';SHOW PROCESSLIST; 开启事件调度器 set global event_scheduler=ON; 在MySQL...event_scheduler = 1 #或者ON 3、事件的查看 SELECT * FROM mysql.event; SHOW EVENTS; SELECT * FROM information_schema.events...event_table; 3、特定时间清空表 创建一个事件,特定时间清空表,事件执行完后保留事件 CREATE EVENT truncate_event_table_timeON SCHEDULE AT

    1K10

    MySQL库到跑路(三)——SQL语言

    db.student from 'wang'@'localhost'; 3、数据操作语言(DML) DML:Data Manipulation Language 用于操作数据库对象中所包含的数据,增、、...如果对一个字段存储了一个超出许可范围的数字,MySQL会根据允许范围最接近的一端截短后再进行存储。MySQL会在不合规定的值插入表前自动修改为0。 UNSIGNED 修饰符规定字段只保存正值。...没有冒号分隔符的TIME类型值,将会被MySQL理解为持续的时间,而不是时间戳。 MySQL还对日期的年份中的两个数字的值,或是SQL语句中为YEAR类型输入的两个数字进行最大限度的通译。...如果 MySQL自动转换后的值并不符合需要,请输入4个数字表示的年份。 除了日期和时间数据类型,MySQL还支持DATETIME和TIMESTAMP混合类型,可以把日期和时间作为单个的值进行存储。...MySQL 会自动使用系统当前的日期和时间来填充它。

    1.8K30
    领券