查看进程

该命令可查看mysql的连接数及执行的命令、链接IP等

-- 只列出前100条
SHOW PROCESSLIST;
-- 全列出
SHOW FULL PROCESSLIST;

查看进程数截图:
file

搜索所有表中的内容

-- 搜索所有表中包含的列名,如"name"
SELECT table_schema, table_name, column_name
FROM information_schema.columns
WHERE column_name LIKE '%name%'

-- 搜索zkeco库里,行数超过10行的表
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'zkeco' -- 替换为您的数据库名称
  AND TABLE_ROWS > 10;

查看实例里占用空间最大的表

SELECT 
    table_schema AS `Database`,
    table_name AS `Table`,
    ROUND(((data_length + index_length) / (1024 * 1024 * 1024)), 2) AS `Size (GB)`
FROM
    information_schema.TABLES
WHERE
    table_schema NOT IN ('information_schema' , 'performance_schema', 'mysql')
ORDER BY (data_length + index_length) DESC
LIMIT 20;

查看/设置并发数

并发数是指同一时刻数据库能处理多少个请求。由最大连接数和最大用户数决定。

最大连接数(max_connections):当前数据库的最大连接数,不区分用户。上限是16384
最大用户连接数(max_user_connections):当前数据库用户所能连接的连接数,0为不限制。

但并不是设置越大越好。因为MySQL会为每个连接提供缓冲区,意味着消耗更多的内存。

-- 查看最大连接数
SHOW VARIABLES LIKE '%max_connections%';
-- 设置最大连接数
SET GLOBAL MAX_CONNECTIONS = 1024;

-- 查看用户最大连接数(重启失效。要想永久生效修改配置文件)
SHOW VARIABLES LIKE '%max_user_connections%';
#-- 设置用户最大连接数(重启失效。要想永久生效修改配置文件)
set GLOBAL max_user_connections = 0;

日志保留天数

Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间。
出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作。
使用以下命令可以控制binlog日志文件保留时间,超过保留时间的binlog日志会被自动删除

-- mysql8.0以下版本查看当前数据库日志binlog保存时效 以天为单位,默认0 永不过期,最多只能设置99天
show variables like 'expire_logs_days';
-- 设置保留天数。(重启失效。要想永久生效修改配置文件)
set global expire_logs_days=60;

通过binlog恢复数据

开启binlog

通过以下命令查看是否开启了binlog

show variables like '%log_bin%';

通过改命令也可以查看binlog的保存位置
file

binlog保存位置

查看当前正在写入的binlog文件
file
在服务器上也能在上述路径汇总找到binlog记录的文件
file

测试恢复文件

修改前的数据:
file
修改后数据:
file
查询要恢复事件的起始位置:

show binlog EVENTS in 'mysql-bin.005105'

可看到起始位置是564结束为止是1163
file

恢复数据

(待补充)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。