mysql的历史命令记录,~/.mysql_history

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

~/.mysql_history文件中记录每个用户使用数据库的操作命令


root用户的mysql操作,~/.mysql_history


transfor用户的mysql操作,/home/transfor/.mysql_history


[root@cp-mysql01-new ~]# tail -20 /root/.mysql_history 

show variables like '%resolve%';

show variables like '%connection%';

 show global status like ‘Max_used_connections;

 show global status like ‘Max_used_connections';

show global status like 'max_user_connections';

show global status like 'max_used_connections';

show global variables like 'max_user_connections';

show global status like '%open%table%';

show variables like 'table%cache%';

show global status like 'thread%';

show variables like 'thread_cache_size';

show global status like 'qcache%';

show variables like 'query_cache%';

select count(id) from mop_bet_order_history;

use lottery;

select count(id) from mop_bet_order_history;


不过这个文件会把所有操作记录下来,包括创建用户和修改用户的明文密码。万一被人攻击,获取该文件内容,非常危险。


这个文件是mysql编译安装时默认配置好的,不容易修改。但是最好不要保存,仅仅删除是不行的,要直接将其软连接到垃圾箱:


rm ~/.mysql_history


ln -s /dev/null ~/.mysql_history


如果确实想将一些操作记录下来,可以在/etc/my.cnf配置文件的[client]组临时添加

[client]

tee=/tmp/mysql.history


tee命令添加完成后,无需重启mysql服务,所以仅对当前打开的客户端记录mysql操作命令


等操作使用完成后,注释



~/.mysql_history文件产生原理


因为mysql本身就是一个shell,每次mysql连接退出后,都会把此次操作信息记录到~/.mysql_history文件中


如果该文件不存在,会先创建再记录(像rm,或者刚安装的mysql)


此文件的名字和路径,是根据MYSQL_HISTFILE这个环境变量来设置的,默认是~/.mysql_history,修改文件名和路径:

vim ~/.bash_profile

export MYSQL_HISTFILE=/home/jason/.my_history


./etc/profile重新初始化后,生效











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1899607,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 关系型数据库 MySQL
初步了解MySQL数据库的基本命令
初步了解MySQL数据库的基本命令
170 0
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
存储 关系型数据库 MySQL
(十五)MySQL命令大全:以后再也不用担心忘记SQL该怎么写啦~
相信大家在编写SQL时一定有一个困扰,就是明明记得数据库中有个命令/函数,可以实现自己需要的功能,但偏偏不记得哪个命令该怎么写了,这时只能靠盲目的去百度,以此来寻找自己需要的命令。
611 28
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
272 5
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
363 3
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
137 0
|
SQL 关系型数据库 MySQL
MySQL删除表数据、清空表命令(truncate、drop、delete 区别)
MySQL删除表数据、清空表命令(truncate、drop、delete区别) 使用原则总结如下: 当你不需要该表时(删除数据和结构),用drop; 当你仍要保留该表、仅删除所有数据表内容时,用truncate; 当你要删除部分记录、且希望能回滚的话,用delete;
|
SQL 关系型数据库 MySQL
mysql性能调优:EXPLAIN命令21
【7月更文挑战第21天】掌握SQL性能调优:深入解析EXPLAIN命令的神奇用法!
269 1
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之 MySQL数据库中,执行delete命令删除数据后,存储空间通常不会立即释放,该如何优化
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
473 2

推荐镜像

更多