Mysql相关命令记录
发表于|更新于|技术博客
|总字数:773|阅读时长:3分钟|浏览量:
Mysql常用命令
Mysql查询库大小
Mysql查询各个DB库占用大小
SELECT |
Mysql指定DB库下查询各个表Table占用大小
USE information_schema; |
SELECT |
Mysql查询慢SQL
查询mysql进程
SHOW PROCESSLIST |
查询指定耗时的mysql进程
SELECT |
Mysql批量处理慢SQL
查询当前mysql进程信息
SELECT |
获取需要批量kill的mysql进程信息
将查询结果复制出来,然后新查询页面里批量执行即可。
SELECT |
Mysql问题记录
MySQL出现Waiting for table metadata lock的原因以及解决方法
mysql控制台执行删除db库命令一直卡住,通过命令show full processlist;
打印截图信息。
参考解决方式博客(场景二)
select * from information_schema.innodb_trx\G |
执行命令
kill 424; |
卡住执行命令已成功执行完成,再次查看进程已无异常情况
Mysql主从复制问题
从库的my.cnf配置不要配置如下参数:
# log_slave_updates 会使从库将同步的数据写入自己的二进制日志。如果不需要级联复制,可以将其关闭以减少 I/O 负担。 |
Mysql注意事项
- Navicat中MySQL提示\G、\g错误
不能在navicat中使用
\G
,\g
,会导致报错。
mysqldump命令导出SQL
携带参数项命令
mysqldump -p 3306 -h 127.0.0.1 -uroot -p'PASSWORD' DB_NAME --tables TABLE_NAME -q --complete-insert --single-transaction > /path/xxx.sql |
- PASSWORD 替换对应密码
- DB_NAME 替换对应数据库名称
- TABLE_NAME 替换对应表名称
--complete-insert
使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。--single-transaction
该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。-q
不缓冲查询,直接导出到标准输出。默认为打开状态,使用–skip-quick取消该选项。
不携带额外参数项命令
mysqldump -uroot -p'PASSWORD' DB_NAME TABLE_NAME > /path/xxx.sql |
-p”PASSWORD” 可能会报错,替换-p’PASSWORD’即正常!
文章作者: MUMU
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 blog.wo0ow.com!