Linux 宝塔mysql莫名其妙数据库不见了恢复数据库

本文讲述了在宝塔管理的MySQL服务器上,数据库突然丢失后,如何通过查看binlog日志、下载并执行SQL文件来恢复数据,特别提到了使用时间点恢复的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因:宝塔安装的mysql 线上运行突然表包括库都不见了,想办法恢复数据库

登陆mysql

cd /www/server/mysql/bin
mysql -u root -p

查看binlog日志是否打开

show variables like 'log_%';

log_bin如果为 ON 则为开启状态,如果开启了才可以进行下一步操作
在这里插入图片描述

查看下binlog日志列表
binlog日志文件目录在 /www/server/data目录下
在这里插入图片描述

show master logs;

在这里插入图片描述

下载生成sql文件

进入mysql bin目录执行./mysqlbinlog

cd /www/server/mysql/bin

标题导出sql文件(执行sql文件恢复)

./mysqlbinlog --set-charset=utf8 /www/server/data/mysql-bin.000011 > tmp.sql;

根据时间点恢复指定文件,数据量大建议使用时间点恢复,sql文件执行起来会失败。

./mysqlbinlog --start-datetime="2023-12-20 21:10:33"  --stop-datetime="2023-12-23 21:12:05" /www/server/data/mysql-bin.000011 | mysql -u root -p

标记的为每条记录的时间点,根据需求执行对应范围的数据。
在这里插入图片描述

### 宝塔MySQL 数据库连接方法 #### 使用 phpMyAdmin 进行本地访问 对于在同一台服务器上的应用,可以直接利用宝塔板内置的 phpMyAdmin 工具来进行数据库管理操作[^1]。 ```sql -- 登录到phpMyAdmin界后可执行SQL语句 SELECT DATABASE(); ``` #### 配置远程连接方式 为了使外部设备能够访问位于宝塔板下的 MySQL 数据库,则需设置允许来自特定 IP 地址或任意地址(%)的 root 用户或其他自定义用户的远程登录权限,并确保防火墙已开放相应端口。此过程涉及修改 MySQL 的配置文件以及调整安全组策略以适应云服务提供商的要求[^2]。 - 修改 MySQL 设置,在 `my.cnf` 或者 `mysqld.cnf` 文件内到 `[mysqld]` 节点下加入 bind-address 参数设为0.0.0.0表示接受所有外网请求; ```ini [mysqld] ... bind-address = 0.0.0.0 ``` - 授权指定账户拥有远程访问权利: ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` - 如果是在阿里云这样的环境中还需要进入控制台的安全组规则里新增入方向规则放通3306端口。 最后一步是从客户端尝试建立连接测试连通性,命令如下所示,其中红色部分代表目标机器公网IP: ```bash mysql -uroot -h 主机ip -p ``` #### 利用 Navicat 实现图形化管理工具接入 除了命令行之外还可以借助专业的数据库管理软件比如 Navicat 来实现更加便捷的操作体验。只需按照提示输入正确的主机名/地址、用户名及密码即可完成初步设定;之后便能像平常一样展开增删改查等工作流了[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值