我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

Linux中的MySQL会记录我们最近执行过的所有SQL命令,下面就给大家整理了Linux中MySQL历史执行命令的相关知识,希望对大家有所帮助!

linux中mysql历史执行命令详解

MySQL 会把我们最近执行过的 SQL 命令和脚本展示给我们;就像 Linux 把它们保存在 ~/. 中一样,你使用 MySQL 连接 MySQL 的所有操作也会被记录在 ~/. 文件中,这会造成很大的安全隐患。比如添加 MySQL 用户的 SQL 也会被明文记录在这个文件中。

1. 检查系统的 ~/. 文件

(在我的测试环境中一般都是使用Linux的MySQL用户来管理,所以在/home/mysql目录下会有这个文件)

-bash-3.2$ ls -al | grep

-rw------- 1 mysql mysql 5006 4月 10 日 18:53 。

2.测试MySQL用户管理的SQL会被记录

2.1 使用linux用户mysql通过mysql命令行工具登录MySQL,添加用户“@”,并设置密码

mysql> 授予 rep.* 至 @'123';

查询成功,0 行(0.00 秒)

mysql>

2.2断开mysql连接,查看/home/mysql/.文件,可以看到添加mysql用户的操作已经被记录下来,包括明文密码123。

-bash-3.2$ tail -1 ~/.

授予@代表*'123';

注意:这个 . 不仅仅存在于 MySQL 的位置。任何时候你可以远程连接到 MySQL,这个隐藏文件就会在当前用户的 ~ 目录中创建。

3.如何去除使用痕迹。

2.1 彻底清除 ~/.

2.1.1 删除当前文件

-bash-3.2$ rm ~/.

2.1.2 创建其软链接(原因后面会讲到)

-bash-3.2$ ln -s /dev/null ~/.

检查软链接是否创建成功。

-bash-3.2$ ls -al | grep

1 mysql mysql 9 月 10 日 20:30 .-> /dev/null

测试是否起作用:连接到mysql,执行操作,断开连接,检查操作是否还被记录下来。

mysql>显示;

+--------------------+

| |

+--------------------+

| |

| |

-------------------------

mysql>退出

再见

-bash-3.2$ cat ~/.

可以看出上面的show;操作命令是没有被记录的。同时,当你断开ssh,重新连接mysql时,按“up”键也没有任何历史操作记录提示,说明是有效的。

要使其再次生效,只需删除 ~/。下次连接和注销时将重新创建该文件。

2.2 仅清除敏感信息;如果你不想完全禁用该功能,而只是想在每次执行一些敏感操作后清除此文件,这样就足够了。

-bash-3.2$ cat /dev/null > ~/.

例如修改了MySQL用户信息,退出MySQL,再执行上述操作,即可清除所有操作痕迹。

3.~/.文件的生成原理

3.1 因为mysql工具本身带有shell,所以每次退出mysql连接时,都会在~/.文件中记录本次操作的信息。

如果此文件不存在,则会先创建,然后记录(就像上面删除它之后,或者只是安装 MySQL 一样)

3.2 这个文件的名字其实是根据Linux的环境变量来设置的,默认值是~/,我们来测试一下其他值。

3.2.1 在Linux用户的~/.=/home/mysql/中添加一行。

目录根据你的Linux用户来设置,我的测试用户是mysql。

-bash-3.2$ vi ~/.

# 用户和

PATH=$PATH:$HOME/bin

PATH=$PATH:/usr/sbin

=/home/mysql/。

3.2.2 退出Linux连接,重新登录Linux;使用MySQL连接数据库,操作,退出,检查~/.文件是否创建,检查刚才的操作是否记录下来。

mysql>显示;

+--------------------+

| |

+--------------------+

| |

----------------------

//退出mysql

mysql>退出

再见

// 检查隐藏文件是否已创建

-bash-3.2$ cd ~; ls -tal | grep

-rw------- 1 mysql mysql 16 年 4 月 10 日 20:55。

// 检查“show”命令是否正确记录在文件中

-bash-3.2$ tail -1 ~/.

展示 ;

从上面可以看出这个文件的文件名从何而来。

参考:linux下mysql查看历史命令

方法 1

如果你想查看MySQL的历史记录,你不能通过语句来实现。

只能通过记录每条语句来输入LOG

配置 my.ini 或 f

例如名称为:.log

[]

对数=.对数

然后重新启动 MySQL 服务器

此后,您的客户端执行的所有 SQL 语句都将保存在日志文件中。

方法 2

MySQL有这样的机制,就是在用户的主目录下会生成一个.文件,这个文件会记录用户登录MySQL之后,在MySQL中输入的每一条命令。

cat ~/.可以看到之前的命令历史记录。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/5702.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线