mysqldump命令详解
mysqldump命令是怎样的呢?下面就让我们一起来了解一下吧:
mysqldump命令是属于MySQL数据库中的备份工具,可以用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并且保存到文件中。
mysqldump命令备份的工作原理:
一般来说,利用mysqldump备份数据库的过程,实际上就是将数据从mysql库里以逻辑sql语句的形式直接输出或者生产备份的文件的过程。
语法格式:
mysqldump(选项)
参数说明:
1、-B 可以指定多个库,并增加建库语句和use语句
2、--compact 去掉注释,适合调试输出,可生成不用
3、-A 备份所有的库与表
4、 -F 刷新二进制日志,等同于 —flush-logs
5、--master-data 增加binlog日志名以及对应的位置点
6、 -x ,--lock-tables 锁表
7、-l 只读锁表
8、-d 只备份表结构
9、-t 只备份数据
10、--single-transaction 适合innodb事务数据库备份
11、--opt 起到优化的作用,和—add-drop-table, —add-locks, —create-options, —skip-opt作用相似
12.-c 在导出数据的时候,在insert into 后面添加列名
13、--where:在导出数据的时候添加条件
参考范例:
1、导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql
2、导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql
3、导出一个数据库结构
mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql
以上就是小编的分享了,希望能够帮助到大家。
mysqldump命令详解日志输出
详解慢查询日志的相关设置及mysqldumpslow工具,附实例
概述
mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中。long_query_time的默认值是10,意思是运行10S之上的语句。
今天主要介绍怎么用mysqldumpslow工具来监控慢查询日志。
一、慢查询日志的相关设置
1、查看是否开启慢查询日志:
show variables like '%slow_query_log%';
2、配置文件设置
#设置慢查询阀值,单位为秒long_query_time=30slow_query_log=1 #开启mysql慢sql的日志log_output=table,File #日志输出会写表,也会写日志文件,为了便于程序去统计,所以最好写表slow_query_log_file=/data/log/slow.log
3、不重启设置慢查询:
set global log_output='TABLE'; -- 输出到表set global general_log = on; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.set global slow_query_log = on; -- 打开慢查询sql记录slow_logset global long_query_time=30; -- 慢查询时间限制(秒)set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql语句--查询select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未使用索引的语句
4、查询有多少条慢查询记录
show global status like '%Slow_queries%';
二、mysqldumpslow 慢日志分析工具
命令:
-s 按照那种方式排序 c:访问计数 l:锁定时间 r:返回记录 al:平均锁定时间 ar:平均访问记录数 at:平均查询时间-t 是top n的意思,返回多少条数据。-g 可以跟上正则匹配模式,大小写不敏感。
实例:
1、得到返回记录最多的20个sql
mysqldumpslow -s r -t 20 slow.log
2、得到平均访问次数最多的20条sql
mysqldumpslow -s ar -t 20 slow.log
3、得到平均访问次数最多,并且里面含有mq字符的20条sql
mysqldumpslow -s ar -t 20 -g "mq" slow.log
这里提示Died at /usr/bin/mysqldumpslow line 161, <> chunk 8.的报错是因为有 -t 20这一句,那么就是要显示出前20个记录,但我的slow.log统计出来只有1个不到20个,而这里有继续遍历到20的话,那进程肯定会Died。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
- 05-08生活
宝宝旧衣服发黄清洗窍门
- 04-12生活
包粽子碱水什么时候放
- 06-22生活
草莓熊的香味持续多久
- 01-27生活
女孩取名字比较好的字
- 12-01生活
带孝字的男孩名字
- 04-25生活
高质量发展如何因地制宜
- 05-06美食
红烧冬瓜的做法
- 01-23科技
UEditor编辑器怎么关闭远程图片抓取功能
推荐
- 1中欧班列的目标411
- 2机票如何报销413
- 3海贼王官方实力排名 罗杰仅第二 他竟然垫底?435
- 4雨水节气的含义和风俗191
- 5教师竞聘演讲稿范文精选352
- 6烟头掉在车里多久安全292