MySQL中常用命令
授权
show grants; //查看当前用户的权限 grant all privileges on test.* to jack@'%' identified by '123'; //为用户名jack密码123,授予test数据库所有权限 revoke all privileges on *.* from jack@'%'; //收回用户jack@用户地址(%),所有库的所有权限
索引
SHOW INDEX FROM my_table; //查看my_table的索引 CREATE [UNIQUE] INDEX idx_name ON my_table(col1,col2) //为my_table表的col1,col2字段,添加[唯一]索引idx_name ALTER TABLE my_table ADD PRIMARY KEY(my_id) //为my_table表的my_id字段,添加唯一主键索引 ALTER TABLE my_table ADD INDEX idx_name(my_cloumn) //为my_table表的my_cloumn字段,添加普通索引idx_name ALTER TABLE my_table ADD UNIQUE uq_name(my_cloumn) //为my_table表的my_cloumn字段,添加唯一索引uq_name ALTER TABLE my_table ADD FULLTEXT ft_name(my_cloumn) //为my_table表的my_cloumn字段,添加全文索引ft_name DROP INDEX idx_name ON my_table; //删除my_table表的idx_name索引
加锁
lock table mylock read; //为mylock表加读锁 lock table mylock write; //为mylock表加写锁 unlock tables; //释放锁
日志引擎
show engines; //查看MySQL支持的存储索引 show variables like '%storage_engine%' //查看当前使用的存储引擎 show variables like 'slow_query_log%'; //查看是否开启慢日志 set global slow_query_log = 1; //开启慢查询日志,重启MySQL失效 show variables like 'long_query_time%'; //查看慢查询日志的阈值,默认是10s超过这个值就会记录 set global long_query_time = 3; //设置慢查询日志的阈值为3s,重启MySQL失效 show global status like '%slow_queries%'; //查看系统中存在慢sql的条数 show variables like 'profiling%'; //查看 Show Profile 是否开启 set profiling=on; //开启 Show Profiles show variables like 'log_bin%'; //查看binlog状态 set global log_bin_trust_function_creators = 1; //添加可以信任存储函数创建者 show profiles; //查看最近15(默认)条sql执行 show profile cpu, block io for query Query_ID; //查看具体某一条的sql执行情况
调优
show [full] processlist; //查看有哪些线程在运行 show open tables from test; //在test库中的表缓存被打开的非TEMPORARY表,in_use被多少连接使用 show status like 'key%'; //myIsam中cache索引命中率,key_buffer_read_hits=(1-key_reads/key_read_requests) show status like 'innodb_buffer_pool_read%'; //innodb的buffer命中率(1-innodb_buffer_pool_reads/innodb_buffer_pool_read_requests) show status like 'Qcache%'; //query cache命中率,query_cache_hits =Qcache_hits/(Qcache_hits+Qcache_inserts) show status like '%connections%'; //查看服务器的总连接数Connections和最大连接数Max_used_connections show status like 'thread%'; //连接缓存>90%合理,thread_cache_hits = (1- threads_created/connections) * 100 %; show status like 'created_tmp%'; //查看临时表 Created_tmp_disk_tables / Created_tmp_tables<25%
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话