MYSQL数据库 MariaDB断电恢复总结
背景:本次是机房异常断电,导致数据库文件损坏。在数据库自启动之后频繁宕机,在多次尝试以后,总结了一下几种方法,及供参考。
1.mariadb服务器断电重启之后Missing MLOG_CHECKPOINT的报错信息?
解决办法是,删除data目录下的ib_logfile0、ib_logfile1这两个文件,建议最好备份一份。
2.数据库文件损坏,导致频繁宕机
编辑 /etc/my.cnf,在[mysqld]小节添加如下两行:
innodb_force_recover = 3
innodb_purge_threads = 0
innodb_force_recovery=3 #mariadb数据库文件损坏重启,当参数值大于3的时候会对数据文件造成永久性的破坏。
1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
3.启动命令设置强制回滚
/usr/sbin/mysqld --skip-grant-tables --general-log &
service mysql start --tc-heuristic-recover=ROLLBACK
[client]
port = 3306
socket = /tmp/mysql.sock [mysqld]
port = 3306
socket = /tmp/mysql.sock
user = mariadb
basedir = /usr/local/mariadb
datadir = /data/mysql
log_error = /data/mysql/mariadb.err
pid-file = /data/mysql/mariadb.pid
skip-external-locking
key_buffer_size = 64M
max_allowed_packet = 4M
table_open_cache = 256
sort_buffer_size = 4M
net_buffer_length = 18K
read_buffer_size = 4M
read_rnd_buffer_size =2M
myisam_sort_buffer_size = 16M
thread_cache_size = 32
query_cache_size = 32M
tmp_table_size = 64M explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535 log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10 default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /data/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/mysql
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 10
innodb_lock_wait_timeout = 50 [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash [myisamchk]
key_buffer_size = 64M
sort_buffer_size = 1M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout
MYSQL数据库 MariaDB断电恢复总结的更多相关文章
- MySQL 数据库通过日志恢复
http://blog.csdn.net/hanxin1987216/article/details/5976856 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名.一般可以从选 ...
- mysql 数据库备份,恢复。。。。
mysql 数据备份,恢复,恢复没写,这里只写了备份... 先暂作记录吧! 备份:表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则 ...
- JSP 实现 之 调用java方法实现MySQL数据库备份和恢复
package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOEx ...
- mysql 数据库备份和恢复
物理备份对比逻辑备份 物理备份是指直接复制包含数据的文件夹和文件.这种类型的备份适用于大数据量且非常重要,遇到问题需要快速回复的数据库. 逻辑备份保存能够代表数据库信息的逻辑结构(CREATE DAT ...
- ubuntu mysql 数据库备份以及恢复[命令行]
之所以加了个ubuntu,其实也没什么,就是恢复数据库的时候给幽默了一下,所以特地加上. 写在前面:一直很想好好的学linux命令行.shell编程,幻想自己能够通过学习进而成为命令行高手,游刃于 ...
- mysql数据库备份及恢复命令mysqldump,source的用法
还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root ...
- mysql数据库备份和恢复
1.数据库备份 mysqldump -uroot -proot jira736 > jira736.sql 2.数据库恢复 mysql -uroot -proot jira762 < ji ...
- mysql 数据库备份及恢复
1.备份 # 导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -–add-drop-table -uusername -ppassword da ...
- MySQL数据库的数据备份和恢复(导入和导出)命令操作语法【转】
不管是Oracle数据库还是SQL Server数据库,每个数据库都有自己的一套数据备份和恢复的方法,MySQL数据库也不例外.MySQL数据库备份和恢复用到了两个命令,分别是“mysqldump”和 ...
- 沃森Mysql数据库修复工具
华信Mysql数据库修复程序是由北京华信数据恢复中心独立研发.主要针对Mysql数据库损坏的恢复. 本程序可用于因为各种误操作而导致数据丢失的恢复,以及因为断电.陈列损坏.硬盘坏道等各种原因导致数据库 ...
随机推荐
- biancheng-Linux教程
目录http://c.biancheng.net/linux_tutorial/ 1Linux简介2Linux安装3Linux文件和目录管理4Linux打包(归档)和压缩5Vim文本编辑器6Linux ...
- ctfshow--web2 sql注入
这题是考sql注入,我们先用个万能语句注入 发现它上面会出现 欢迎你,ctfshow 那么这就很明显了,这个用户的名字就是ctfshow 那么猜测flag会不会是在flag的用户里面呢我们提交一下 如 ...
- 变量-python
变量-python 1. 变量的定义 变量是存储数据的地方,在程序运行时,变量的值可以改变.变量的定义格式如下: 变量名 = 数据 例如: a = 10 b = "hello" c ...
- mysl 修改数据存储位置后服务启动后停止
在 Windows 系统中安装完 mysql 后,如果是生产用的机器,通常会修改数据存储位置.基本步骤: 1. 停止 mysql 服务: 2. 修改 my.ini 文件中的 datadir=" ...
- java内部类与单例模式
java中不允许外部类使用 private,protected 修饰 所谓的外部类:就是在源码中直接声明的类 所谓的内部类: 就是类中声明的类,内部类可以使用 public, private, pro ...
- 快速 log2 取整算法 (O(1) 时间与空间复杂度)
先上核心代码(文末附针对多种整数类型的代码): inline int log_2(int x) { int rst = 0; if (x & 0xffff'0000U) rst += 16, ...
- 管理虚拟机(libvirt)
给我的理解就是与用户交互的"显示器" [root@kvm1 ~]# systemctl status libvirtd [root@kvm1 ~]# virsh virsh # l ...
- 【SqlServer主从复制】Sql Server主从复制【完美实践】
目录 [0]环境信息 [0.1]拓扑架构环境 [0.2]实例名与服务器名检查 [1]前置环境配置 [1.1]修改hosts(配置DNS) [1.2]修改防火墙(网络连通性) [1.3]建立复制账户,测 ...
- keycloak~关于社区认证的总结
keycloak关于社区认证它有统一的设计,社区认证包括了github,microsoft,wechat,qq,dingtalk等等,当然你还可以扩展很多实现了oauth2协议的第三方社区,将它们对接 ...
- 发那科焊接机器人M-10iA维修总结
发那科作为工业机器人制造商,其焊接机器人产品广泛应用于各种工业领域.然而,随着时间的推移,焊接机器人可能会出现故障,因此了解发那科焊接机器人M-10iA维修知识显得尤为重要. 一.日常法那科机械手维护 ...