前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL常用命令总结

MySQL常用命令总结

作者头像
DBA札记
发布2024-02-23 16:17:49
790
发布2024-02-23 16:17:49
举报
文章被收录于专栏:MySQL参数系列MySQL参数系列

最近整理笔记,分享一篇常用命令给大家。值得收藏。hah....

1、查看表状态

代码语言:javascript
复制
show table status like '%tablename%';

2、改密码

方法一:

代码语言:javascript
复制
./mysqladmin -uroot -hlocalhost --socket=/data/mysql_3306/tmp/mysql.sock -p password

方法二:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY 'password';

3、杀特定用户链接

代码语言:javascript
复制
select concat('KILL ',id,';')from information_schema.processlist where user='21xmt_user';

4、binlog解析

https://cloud.tencent.com/developer/article/1925495

代码语言:javascript
复制
mysqlbinlog --no-defaults -vv --base64-output=decode-rows mysql-bin.000201

5、删除用户

代码语言:javascript
复制
drop user 'xxx'; 只删除 'xxx'@'%' 账户

6、修改主键(小表,大表用pt-osc等工具)

代码语言:javascript
复制
alter table xxx drop primary key,add primary key(task_id, aaa);

7、查看表大小

代码语言:javascript
复制
select table_name , table_rows from inforation_schema.tables where table_name='xxx';

8、权限查询

代码语言:javascript
复制
SELECT
 CONCAT(
   'show grants for \'',
   user,
   '\'@\'',
   Host,
   '\';'
 ) AS ShowGrants
FROM
 mysql.`user`
WHERE
 `User` NOT IN (
   'root',
   'mysql.session',
   'mysql.sys'
 );

9、PS库内存使用

代码语言:javascript
复制
To control memory instrumentation state at server startup, use lines like these in your my.cnf file:
Enable:
[mysqld]performance-schema-instrument='memory/%=ON'Disable:
[mysqld]performance-schema-instrument='memory/%=OFF'To control memory instrumentation state at runtime, update the ENABLED column of the relevant instruments in the setup_instruments table:
Enable:

UPDATE performance_schema.setup_instrumentsSET ENABLED = 'YES'WHERE NAME LIKE 'memory/%';Disable:
UPDATE performance_schema.setup_instrumentsSET ENABLED = 'NO'WHERE NAME LIKE 'memory/%';

10、trace

代码语言:javascript
复制
SET SESSION OPTIMIZER_TRACE="enabled=on"; # enable tracing
  <statement to trace>; # like SELECT, EXPLAIN SELECT, UPDATE, DELETE...
  SELECT * FROM information_schema.OPTIMIZER_TRACE;
  [ repeat last two steps at will ]
  SET SESSION OPTIMIZER_TRACE="enabled=off"; # disable tracing

11、innodb状态查看

代码语言:javascript
复制
show engine innodb status\G;

12、event 操作

13、造测试数据

代码语言:javascript
复制
create table t1(id int primary key, a int, b int, index(a));
drop procedure idata;
delimiter ;;
create procedure idata()
begin
    declare i int;
    set i=1;
while(i <= 1000000)do
    insert into t1 values(i, 1000001 - i, i);
    set i = i+1;
    end while;
end;;
delimiter ;
call idata();

14、修改root密码

代码语言:javascript
复制
配置文件添加skip-grant-tables

alter user 'root'@'localhost' identified by 'password';

flush privileges;

配置文件去掉skip-grant-tables

systemctl restart mysqld;

15、添加自增属性

代码语言:javascript
复制
alter table xxx modify id bigint auto_increment;

15、rename库名 (所有表操作即可完成库名重命名)

代码语言:javascript
复制
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;

16、表碎片整理

代码语言:javascript
复制
alter table tablename engine innodb;
OPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL]
    TABLE tbl_name [, tbl_name] ...;

17、查看表的最近更新时间

代码语言:javascript
复制
SELECT  
    `TABLE_NAME`, `CREATE_TIME`, `UPDATE_TIME`  
FROM  
    `information_schema`.`TABLES`  
WHERE  
    `information_schema`.`TABLES`.`TABLE_SCHEMA` = 'ob1_dg_log'  
AND
    `information_schema`.`TABLES`.`TABLE_NAME` = 'w_logbattle';

18、创建索引时间查询

代码语言:javascript
复制
SELECT trx_id, trx_started, (NOW() - trx_started) trx_duration_seconds, id processlist_id, user, IF(LEFT(HOST, (LOCATE(':', host) - 1)) = '', host,  LEFT(HOST, (LOCATE(':', host) - 1))) host, command, time, REPLACE(SUBSTRING(info,1,25),'\n','') info_25 FROM information_schema.innodb_trx JOIN information_schema.processlist  ON innodb_trx.trx_mysql_thread_id = processlist.id WHERE (NOW() - trx_started) > 60 ORDER BY trx_started;

19、mysql 终端中操作启用事务(DML操作记得加)

代码语言:javascript
复制
begin;
要执行的sql;
commit/rollback;

20、修改表的字符集

代码语言:javascript
复制
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;

21、查看用户自定义视图

存储过程、triggers查询方法类似,自己找相关表查询即可。

代码语言:javascript
复制
SELECT TABLE_SCHEMA, TABLE_NAME
FROM information_schema.VIEWS
WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys');
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、查看表状态
  • 2、改密码
  • 3、杀特定用户链接
  • 4、binlog解析
  • 5、删除用户
  • 6、修改主键(小表,大表用pt-osc等工具)
  • 7、查看表大小
  • 8、权限查询
  • 9、PS库内存使用
  • 10、trace
  • 11、innodb状态查看
  • 12、event 操作
  • 13、造测试数据
  • 14、修改root密码
  • 15、添加自增属性
  • 15、rename库名 (所有表操作即可完成库名重命名)
  • 16、表碎片整理
  • 17、查看表的最近更新时间
  • 18、创建索引时间查询
  • 19、mysql 终端中操作启用事务(DML操作记得加)
  • 20、修改表的字符集
  • 21、查看用户自定义视图
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档