MySQL损坏,使用data恢复数据

# 初始化安装
mysqld -install

# 查看数据初始化密码
mysqld --initialize --console

# 启动/停止mysql服务
net start mysql
net stop mysql

# 关闭所有mysql服务
taskkill/f /t /im mysqld.exe


# 清空Windows mysql环境变量
gc delete mysql

# 删除相关服务
mysqld -remove mysql

# 数据库无法进行远程设置权限(该命令在mysql 下面执行)

update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;

# 登录MySQL查看配置是否生效
show variables like '%log_bin%';
# 查看日志列表
SHOW MASTER LOGS;

# 备份数据库
"D:\lib\mysql\bin\mysqldump.exe" -uroot -p (密码) --opt --default-character-set=utf8 -e --triggers -R --hex-blob --flush-logs -x (数据库名称) > d:\lib\test.sql

# 根据文件恢复数据库
C:\Windows\system32>mysql -uroot -p test001<"D:\lib\test.sql"

# 使用文件直接复原
mysql> use booksDB
Database changed
mysql> source   F:\backup\booksDB_20180603.sql

1.清空相关注册表(清空安装残留)

https://blog.csdn.net/2302_76413783/article/details/137375572

需要使用相同的mysql版本进行恢复 (以下为使用zip安装)

https://www.cnblogs.com/kendoziyu/p/MySQL.html(使用该教程进行安装)

2.下载合适MySQL版本(与损坏数据库版本相同)

下载地址:https://downloads.mysql.com/archives/community/
在这里插入图片描述

3.数据恢复

https://blog.csdn.net/ddd295569371/article/details/125330919
在这里插入图片描述
my.ini

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 设置3306端口
port=3306
character_set_server=utf8

# 允许最大连接数
max_connections=800
# 解压目录
basedir=D:\lib\mysql
# 解压目录下data目录
datadir=D:\lib\mysql\data
default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log-bin=mysql-bin
server-id=1
# 日志存储天数 默认0 永久保存
# 如果数据库会定期归档,建议设置一个存储时间不需要一直存储binlog日志,理论上只需要存储归档之后的日志
expire_logs_days = 30
# binlog最大值
max_binlog_size = 1024M
# 规定binlog的格式,binlog有三种格式statement、row、mixad,默认使用statement,建议使用row格式
binlog_format = ROW
# 在提交n次事务后,进行binlog的落盘,0为不进行强行的刷新操作,而是由文件系统控制刷新日志文件,如果是在线交易和账有关的数据建议设置成1,如果是其他数据可以保持为0即可
sync_binlog = 1

[WinMySQLAdmin]
D:\lib\mysql\bin\mysqld.exe

4.Windows server MySQL备份bat

back_tsyh.bat

@echo off

forfiles /p "D:\lib\back\tsyh" /m backup_tsyh_*.sql -d -1 /c "cmd /c del /f @path"

set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"

"D:\lib\mysql\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=xxx --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "tsyh" > "D:\lib\back\tsyh\backup_tsyh_%Ymd%.sql"

@echo on

5.设置Windows定时执行

https://www.cnblogs.com/xh_Blog/p/17215036.html
在这里插入图片描述

备注:以上教程由作者在生产环境已验证,数据库突然无法启动真的很让人崩溃

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值