是否可以删除MariaDB上的提示历史记录?

是否可以删除MariaDB上的提示历史记录?,mariadb,prompt,mysql-cli,Mariadb,Prompt,Mysql Cli,主要问题是我在MariaDB上写了一条安全敏感语句(在许多其他语句中),因此我想删除提示历史记录(如Linux上的命令history-c): 因此,当我单击键盘上的向上和向下按钮时,我会看到所有提示历史记录 当我试图删除MariaDB上的提示历史记录时,它不起作用: MariaDB [(none)]> clear MariaDB [(none)]> \c MariaDB [(none)]> quit Bye 因此,我在互联网上查看了这个脚本(,它也不起作用): 参考> 之

主要问题是我在MariaDB上写了一条安全敏感语句(在许多其他语句中),因此我想删除提示历史记录(如Linux上的命令history-c):

因此,当我单击键盘上的向上和向下按钮时,我会看到所有提示历史记录

当我试图删除MariaDB上的提示历史记录时,它不起作用:

MariaDB [(none)]> clear

MariaDB [(none)]> \c

MariaDB [(none)]> quit
Bye
因此,我在互联网上查看了这个脚本(,它也不起作用):

参考>

之后,我还在互联网上查看了另一个脚本(,同样也不起作用):

参考>

一方面,我的操作系统上有太多与“mysql”相关的文件,但是没有一个与mysql历史相关的文件,所以我逐一检查了所有与mysql配置相关的文件,没有找到应该删除的文件:

jordiba90@lts:~$ locate mysql | wc
    421     421   25918

jordiba90@lts:~$ locate mysql | grep history

jordiba90@lts:~$ locate mysql | grep conf
/etc/mysql/conf.d
/etc/mysql/conf.d/mysql.cnf
/etc/mysql/conf.d/mysqldump.cnf
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/50-client.cnf
/etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
/usr/share/mysql-common/configure-symlinks
/usr/share/mysql/systemd/use_galera_new_cluster.conf
/var/lib/dpkg/info/mysql-common.conffiles
另一方面,mariadb文件也会发生同样的情况:

jordiba90@lts:~$ locate mariadb | wc
    101     101    5042

jordiba90@lts:~$ locate mariadb | grep history

jordiba90@lts:~$ locate mariadb | grep conf
/etc/insserv.conf.d/mariadb
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/50-client.cnf
/etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
/usr/lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
/var/lib/dpkg/info/mariadb-client-10.3.conffiles
/var/lib/dpkg/info/mariadb-common.conffiles
/var/lib/dpkg/info/mariadb-server-10.3.conffiles
/var/lib/dpkg/info/mariadb-server-10.3.config
你能给我一个提示吗?你可以检查一下我是否试过。提前谢谢

PS_1:如果在Stack*上有关于此主题的任何其他条目(我已经检查过了,但没有看到),或者如果我的条目违反了Stack*上的任何规则(我已经检查了规则,我认为我没有违反任何规则),请给我发送一个PM,我将删除此条目。我在努力学习,但不会因为问问题而失去声誉

PS_2:我重新启动了mysql,现在状态为活动(正在运行):

参考>

PS_3:我已经尝试了命令
stat~/.mysql_history;rm~/.mysql_历史;stat~/.mysql_history
,我的输出是文件或目录
/home/jordiba90/.mysql_history
不存在

PS_4:我已经尝试了命令
strace mysql
,但我不能在这里共享输出,因为消息正文限制为30.000个字符(如果我这样做,我应该输入44.321,aprox)

PS_5:检查了特定的输出
openat(AT_FDCWD…
),没有任何与mysql_历史相关的内容。似乎没有特定的句子

PS_6:我使用“sudo”尝试了命令“strace mysql”,我得到了与mysql历史相关的以下输出:

openat(AT_FDCWD, "/root/.mysql_history", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0600, st_size=4585, ...}) = 0
read(4, "misql -u root -p\nDatascience2005"..., 4585) = 4585
close(4)                                = 0
write(1, "\33(B\33[m\33(B\33[0;1mType 'help;' or '"..., 94Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
) = 94
write(1, "\n", 1
) 

PS_7:我已经删除了与mysql历史记录相关的最后一个名为
/root/.mysql_history
的目录,但是我仍然可以在mariadb提示符上看到历史记录

请记住,您需要重新启动“mysql”客户端。删除
.mysql\u历史记录
文件是正确的。请说明您如何知道(在启动新的“mysql”客户端后)通过发布的步骤清除mysql命令历史记录不起作用。除此之外,不要直接
更新
表,请使用或。它最终(10.4+)不行。谢谢你的回复,@Progman我重新启动了“mysql”此外,我没有看到任何名为.mysql_history的文件,只有bash history。我想我发布了所有步骤和结果,试图清除mysql命令历史。你能说得更具体一点吗?我只是在了解它。@jordiba90请回答你的问题,包括stat~/.mysql\u history;rm~/.mysql\u history;stat~/.mysql\u history。此外,这可能有点棘手,请运行命令
strace mysql
(根据需要添加登录数据),然后再次杀死该程序。将输出添加到您的问题中,但请检查它是否尝试读取
/mysql\u历史记录
,并在将其添加到此处之前删除所有敏感数据。可能会出现类似
openat(AT_FDCWD,“/home/{youruser}/.mysql\u历史记录”的行=4
您可以在哪里查看它是否以及如何访问您的文件。@Progman为了确定,关于您所说的命令,我应该在Linux上的命令行上还是在mariadb上的提示符命令行上编写它?因为“;”我不确定是有管道还是只有mysql语句。这两种语句都试过了就不起作用。谢谢记住你需要重新启动“mysql”客户端。删除
.mysql_history
文件是正确的。请说明你是如何知道清除mysql命令历史记录不起作用的(在你启动新的“mysql”之后)客户端)使用您发布的步骤。除此之外,不要直接更新表,请使用or。它最终(10.4+)将不起作用。感谢您的回复,@Progman I重新启动了“mysql”此外,我没有看到任何名为.mysql_history的文件,只有bash history。我想我发布了所有步骤和结果,试图清除mysql命令历史。你能说得更具体一点吗?我只是在了解它。@jordiba90请回答你的问题,包括stat~/.mysql\u history;rm~/.mysql\u history;stat~/.mysql\u history
。此外,这可能有点棘手,请运行命令
strace mysql
(根据需要添加登录数据),然后再次杀死该程序。将输出添加到您的问题中,但请检查它是否尝试读取
/mysql\u历史记录
,并在将其添加到此处之前删除所有敏感数据。可能会出现类似
openat(AT_FDCWD,“/home/{youruser}/.mysql\u历史记录”的行=4
您可以在哪里查看它是否以及如何访问您的文件。@Progman为了确定,关于您所说的命令,我应该在Linux上的命令行上还是在mariadb上的提示符命令行上编写它?因为“;”我不确定是有管道还是只有mysql语句。这两种语句都试过了,但都不起作用。谢谢
jordiba90@lts:~$ locate mysql | wc
    421     421   25918

jordiba90@lts:~$ locate mysql | grep history

jordiba90@lts:~$ locate mysql | grep conf
/etc/mysql/conf.d
/etc/mysql/conf.d/mysql.cnf
/etc/mysql/conf.d/mysqldump.cnf
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/50-client.cnf
/etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
/usr/share/mysql-common/configure-symlinks
/usr/share/mysql/systemd/use_galera_new_cluster.conf
/var/lib/dpkg/info/mysql-common.conffiles
jordiba90@lts:~$ locate mariadb | wc
    101     101    5042

jordiba90@lts:~$ locate mariadb | grep history

jordiba90@lts:~$ locate mariadb | grep conf
/etc/insserv.conf.d/mariadb
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/50-client.cnf
/etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
/usr/lib/systemd/system/mariadb@bootstrap.service.d/use_galera_new_cluster.conf
/var/lib/dpkg/info/mariadb-client-10.3.conffiles
/var/lib/dpkg/info/mariadb-common.conffiles
/var/lib/dpkg/info/mariadb-server-10.3.conffiles
/var/lib/dpkg/info/mariadb-server-10.3.config
jordiba90@lts:~$ sudo /etc/init.d/mysql restart
Restarting mysql (via systemctl): mysql.service.

jordiba90@lts:~$ sudo /etc/init.d/mysql status
● mariadb.service - MariaDB 10.3.25 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-11-14 13:24:47 CET; 8h ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 826 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 861 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 876 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
    Process: 1026 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 1028 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 957 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 9423)
     Memory: 93.1M
     CGroup: /system.slice/mariadb.service
             └─957 /usr/sbin/mysqld

nov 14 13:24:46 lts systemd[1]: Starting MariaDB 10.3.25 database server...
nov 14 13:24:47 lts mysqld[957]: 2020-11-14 13:24:47 0 [Note] /usr/sbin/mysqld (mysqld 10.3.25-MariaDB-0ubuntu0.20.04.1) starting as…ess 957 ...
nov 14 13:24:47 lts mysqld[957]: 2020-11-14 13:24:47 0 [Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)
nov 14 13:24:47 lts systemd[1]: Started MariaDB 10.3.25 database server.
nov 14 13:24:47 lts /etc/mysql/debian-start[1030]: Upgrading MySQL tables if necessary.
nov 14 13:24:47 lts /etc/mysql/debian-start[1033]: Looking for 'mysql' as: /usr/bin/mysql
nov 14 13:24:47 lts /etc/mysql/debian-start[1033]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
nov 14 13:24:47 lts /etc/mysql/debian-start[1033]: This installation of MySQL is already upgraded to 10.3.25-MariaDB, use --force if y…l_upgrade
Hint: Some lines were ellipsized, use -l to show in full.
openat(AT_FDCWD, "/root/.mysql_history", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0600, st_size=4585, ...}) = 0
read(4, "misql -u root -p\nDatascience2005"..., 4585) = 4585
close(4)                                = 0
write(1, "\33(B\33[m\33(B\33[0;1mType 'help;' or '"..., 94Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
) = 94
write(1, "\n", 1
)