有个泌阳的删了我的数据库

image-20240625102300988


SHOW DATABASES;
USE database_name;
SHOW TABLES;

//查看数据库表日志
SHOW BINARY LOGS;
mysqlbinlog /path/to/binlog.0000 > binlog.txt
现在使用的那个
SHOW MASTER STATUS;


SHOW VARIABLES LIKE 'log_bin_basename';
SHOW VARIABLES LIKE 'datadir';


=============================================================


SHOW BINARY LOGS;
mysqlbinlog /path/to/binlog.0000 > binlog.txt
SHOW DATABASES;
USE database_name;
SHOW TABLES;


SHOW BINARY LOGS;
mysqlbinlog /path/to/binlog.0000 > binlog.txt
SHOW MASTER STATUS;


SHOW VARIABLES LIKE 'log_bin_basename';
SHOW VARIABLES LIKE 'datadir';
SHOW MASTER STATUS;


SHOW VARIABLES LIKE 'log_bin_basename';
SHOW VARIABLES LIKE 'datadir';

mysqlbinlog /var/lib/mysql/binlog.000058 > binlog_contents58.sql
日志恢复sql语句
mysql -u root -p < binlog_contents57.sql
数据恢复

指定时间区间数据恢复
mysqlbinlog --start-datetime="2023-06-23 00:00:00" --stop-datetime="2023-06-23 12:00:00" /var/lib/mysql/binlog.000057 > /tmp/restore.sql



ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';


FLUSH PRIVILEGES;

/var/lib/mysql/ 数据库默认数据 修改conf可以自定义

/var/log/mysql/ erro.log存放


使用配置文件(推荐)
创建一个 MySQL 配置文件:

touch ~/.my.cnf

在文件中添加以下内容:

[client]
user=root
password=xssroot

确保配置文件的权限仅限于用户自己:

chmod 600 ~/.my.cnf

这样,你可以通过简单的 mysql 命令登录,而不需要在命令行中输入密码:

mysql

使用环境变量
设置环境变量(仅适用于当前会话):

export MYSQL_PWD='root'

登录 MySQL:

mysql -u root

这种方法同样可以避免在命令行中直接输入密码。

步骤1:检查和找到二进制日志文件

首先,你需要找到你的二进制日志文件。可以通过以下命令来查看:

sql
复制代码
SHOW BINARY LOGS;

这会列出所有的二进制日志文件。如果你需要查看当前使用的二进制日志文件,可以使用:

sql
复制代码
SHOW MASTER STATUS;

步骤2:找到恢复点

你需要找到数据丢失之前和之后的事件。在二进制日志文件中,你可以通过 mysqlbinlog 工具来查看具体的操作记录。

bash
复制代码
mysqlbinlog /path/to/binlog.000001 > binlog.txt

然后你可以在 binlog.txt 文件中查找需要的恢复点。

步骤3:恢复数据

找到恢复点后,你可以使用 mysqlbinlog 工具来恢复数据。

恢复到特定的时间点

如果你想恢复到特定的时间点,可以使用以下命令:

bash
复制代码
mysqlbinlog --stop-datetime="2024-06-25 12:00:00" /path/to/binlog.000001 | mysql -u username -p

恢复到特定的事件位置

如果你想恢复到特定的事件位置,可以使用以下命令:

bash
复制代码
mysqlbinlog --stop-position="12345" /path/to/binlog.000001 | mysql -u username -p

示例:恢复全部数据

如果你想恢复整个二进制日志文件中的所有数据,可以使用以下命令:

bash
复制代码
mysqlbinlog /path/to/binlog.000001 | mysql -u username -p

注意事项

  1. 备份:在进行任何恢复操作之前,建议先备份当前数据库。
  2. 权限:确保你有足够的权限访问二进制日志文件并执行恢复操作。
  3. 测试环境:如果可能,先在测试环境中进行恢复操作,确保没有问题后再在生产环境中执行。

示例命令

假设你的二进制日志文件路径为 /var/log/mysql/binlog.000001,并且你想恢复到某个特定时间点,可以执行以下命令:

bash
复制代码
mysqlbinlog --stop-datetime="2024-06-25 12:00:00" /var/log/mysql/binlog.000001 | mysql -u root -p

输入数据库的 root 密码,等待恢复过程完成。


MySQL 二进制日志(binlog)文件的存放位置取决于你的 MySQL 配置文件(my.cnfmy.ini)中的配置。默认情况下,二进制日志文件存储在 MySQL 数据目录中,但你可以通过配置文件更改其存储位置。

查找二进制日志文件的位置

  1. 检查配置文件

    打开 MySQL 配置文件(通常位于 /etc/my.cnf/etc/mysql/my.cnf,在 Windows 上则可能位于 MySQL 安装目录下的 my.ini 文件)并查找 [mysqld] 部分中的 log-bin 参数。例如:

    ini复制代码[mysqld]
    log-bin=/var/log/mysql/mysql-bin.log
    

    log-bin 参数指定了二进制日志文件的存储路径。如果没有设置该参数,二进制日志文件将默认存储在 MySQL 数据目录中。

  2. 使用 SQL 命令查看日志位置

    你也可以通过 MySQL 命令行客户端运行以下命令来查看二进制日志文件的位置:

    sql
    复制代码
    SHOW VARIABLES LIKE 'log_bin_basename';
    

    这将返回二进制日志文件的基本路径。

查看 MySQL 数据目录

如果配置文件中没有明确指定二进制日志文件的位置,默认情况下它们存储在 MySQL 的数据目录中。你可以使用以下命令来查看数据目录的位置:

sql
复制代码
SHOW VARIABLES LIKE 'datadir';

这将返回 MySQL 数据目录的路径。在该目录中,你应该能找到二进制日志文件,文件名通常类似于 mysql-bin.000001mysql-bin.000002 等等。

示例

假设 SHOW VARIABLES LIKE 'log_bin_basename'; 返回以下结果:

text复制代码+------------------+-----------------------------+
| Variable_name    | Value                       |
+------------------+-----------------------------+
| log_bin_basename | /var/log/mysql/mysql-bin    |
+------------------+-----------------------------+

这意味着你的二进制日志文件存储在 /var/log/mysql/ 目录中,文件名前缀为 mysql-bin

你可以通过 ls 命令来查看该目录下的所有二进制日志文件:

bash
复制代码
ls /var/log/mysql/mysql-bin.*

这将列出所有二进制日志文件,如 mysql-bin.000001mysql-bin.000002 等。

总结

  1. 查看 MySQL 配置文件中的 log-bin 参数。
  2. 使用 SHOW VARIABLES LIKE 'log_bin_basename'; 查看二进制日志文件的基本路径。
  3. 检查 MySQL 数据目录(通过 SHOW VARIABLES LIKE 'datadir'; 获取)。

根据以上步骤,你可以确定二进制日志文件的存放位置。如果有进一步的问题或需要更多帮助,请随时告知。

刚学java菜鸡,永劫无间蚀月,王者荣耀王者,金铲铲小铂金,第五人格菜鸡,原神开服玩家,星穹铁道菜鸡,崩坏的菜鸡,闪耀暖暖,和平精英,LOL,CSGO,以及三A大作收集者等等。。。