首页
mysql
Mysql MariaDB常用命令
清理 zabbix 历史数据, 缩减 mysql 空间
Mysql增
Mysql删
Mysql改
Mysql查
收藏夹
mysql-表操作(增删查改)
Mysql备份
influxdb
Grafana
Grafana-InfluxDB
grafana接入openldap认证
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
Mysql MariaDB常用命令
### 查看MySQL数据库状态 打印DB所有的状态 `MariaDB [(none)]> show status;` 如只需其中特定的项可以加上like ‘%变量名称%’ ```bash MariaDB [(none)]> show status like 'Threads_connected'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_connected | 168 | +-------------------+-------+ 1 row in set (0.00 sec) ``` ```bash 常用变量有: Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 Connections 试图连接MySQL服务器的次数。 Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。 Delayed_writes 用INSERT DELAYED写入的行数。 Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 Flush_commands 执行FLUSH命令的次数。 Handler_delete 请求从一张表中删除行的次数。 Handler_read_first 请求读入表中第一行的次数。 Handler_read_key 请求数字基于键读行。 Handler_read_next 请求读入基于一个键的一行的次数。 Handler_read_rnd 请求读入基于一个固定位置的一行的次数。 Handler_update 请求更新表中一行的次数。 Handler_write 请求向表中插入一行的次数。 Key_blocks_used 用于关键字缓存的块的数量。 Key_read_requests 请求从缓存读入一个键值的次数。 Key_reads 从磁盘物理读入一个键值的次数。 Key_write_requests 请求将一个关键字块写入缓存次数。 Key_writes 将一个键值块物理写入磁盘的次数。 Max_used_connections 同时使用的连接的最大数目。 Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。 Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。 Open_tables 打开表的数量。 Open_files 打开文件的数量。 Open_streams 打开流的数量(主要用于日志记载) Opened_tables 已经打开的表的数量。 Questions 发往服务器的查询的数量。 Slow_queries 要花超过long_query_time时间的查询数量。 Threads_connected 当前打开的连接的数量。 Threads_running 不在睡眠的线程数量。 Uptime 服务器工作了多少秒。 ``` ### 查询数据库和表大小 ```bash [root@localhost ~]# mysql -u zabbix -p Enter password: MariaDB [(none)]> show databases; #查看有哪些数据库 +--------------------+ | Database | +--------------------+ | information_schema | | zabbix | +--------------------+ 2 rows in set (0.00 sec) MariaDB [(none)]> use zabbix #进入zabbix数据库 MariaDB [zabbix]> show tables; #列出所有表 MariaDB [zabbix]> desc history; # 分析 history 表;desc [表名] 显示某个表的结构,描述某个表 +--------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------------+------+-----+---------+-------+ | itemid | bigint(20) unsigned | NO | MUL | NULL | | | clock | int(11) | NO | | 0 | | | value | double(16,4) | NO | | 0.0000 | | | ns | int(11) | NO | | 0 | | +--------+---------------------+------+-----+---------+-------+ 4 rows in set (0.09 sec) #查询所有数据的大小 MariaDB [zabbix]> select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables ; +------------+ | data | +------------+ | 19559.00MB | +------------+ 1 row in set (1 min 21.05 sec) #查看指定数据库'zabbix'的大小 MariaDB [zabbix]> select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables where table_schema='zabbix' ; +------------+ | data | +------------+ | 19559.00MB | +------------+ 1 row in set (33.83 sec) #查看指定数据库'zabbix'下的所有表的空间占用情况 select table_name,round(sum(data_length/1024/1024),2) as size from information_schema.tables where table_schema='zabbix' group by table_name order by size ; +----------------------------+---------+ | table_name | size | +----------------------------+---------+ | regexps | 0.02 | | services | 0.02 | | sysmap_element_trigger | 0.02 | | sysmaps_link_triggers | 0.02 | | task_remote_command_result | 0.02 | | users | 0.02 | ...... ...... | alerts | 6.52 | | triggers | 15.50 | | items | 36.56 | | history_text | 45.06 | | history_str | 68.08 | | trends | 234.39 | | history | 518.02 | | trends_uint | 8930.38 | | history_uint | 9571.02 | +----------------------------+---------+ 149 rows in set (4.44 sec) #查看指定数据库'zabbix'的某个表'history'的大小 select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables where table_schema='zabbix' and table_name='history' ; +----------+ | data | +----------+ | 518.02MB | +----------+ 1 row in set (0.10 sec) ``` ### MySQL数据库默认连接数查询修改 ```bash show variables like 'max_connections'; #(查可以看当前的最大连接数) set global max_connections=1000; #(设置最大连接数为1000;这个是全局的限制连接数) set global max_user_connections=1000; #(设置最大连接数为1000;这个是单用户的限制连接数) exit #(退出) ``` 修改my.ini文件 增加或修改 max_connections=(根据需要填写连接数) 参考: [用SQL命令查看Mysql数据库大小 统计数据库空间占用](https://www.cnblogs.com/chenzechao/p/11433083.html "用SQL命令查看Mysql数据库大小 统计数据库空间占用") ### 开启慢查询日志 #### 1.查看慢查询相关参数 ```bash MariaDB [zabbix]> show variables like 'slow_query%'; +---------------------+--------------------+ | Variable_name | Value | +---------------------+--------------------+ | slow_query_log | OFF | #slow_query_log 慢查询开启状态 | slow_query_log_file | localhost-slow.log | #slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) +---------------------+--------------------+ 2 rows in set (0.00 sec) MariaDB [zabbix]> show variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | #long_query_time 查询超过多少秒才记录 +-----------------+-----------+ 1 row in set (0.00 sec) ``` #### 2.设置方法 ##### 方法一:全局变量设置 将 slow_query_log 全局变量设置为“ON”状态 `mysql> set global slow_query_log='ON'; ` 设置慢查询日志存放的位置 `mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';` 查询超过1秒就记录 `mysql> set global long_query_time=1;` ##### 方法二:配置文件设置 修改配置文件my.cnf,在[mysqld]下的下方加入 ```bash [mysqld] slow_query_log = ON slow_query_log_file = /usr/local/mysql/data/slow.log long_query_time = 1 ``` 重启MySQL服务 `service mysqld restart`
local
2021年9月2日 10:32
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码