MySQL的innodb_force_recovery

MySQL在转储文件或者导入数据的过程中,出现中断、失败或者异常,造成数据无法回滚,可以通过innodb_force_recovery强力迫使InnoDB存储引擎运行,同时阻止后台操作运行,以便转储表数据。
应用程序在使用数据库时,innodb_force_recovery必须为0,否则应用启动失败。

java.sql.SQLException: Operation not allowed when innodb_forced_recovery > 0.
[mysqld]
innodb_force_recovery = 1

innodb_force_recovery有6个可选项,如下所示,更详细的描述请查阅官方文档

innodb_force_recovery描述
1SRV_FORCE_IGNORE_CORRUPT
2SRV_FORCE_NO_BACKGROUND
3SRV_FORCE_NO_TRX_UNDO
4SRV_FORCE_NO_IBUF_MERGE
5SRV_FORCE_NO_UNDO_LOG_SCAN
6SRV_FORCE_NO_LOG_REDO

SELECT … INTO OUTFILE 转储表数据

mysql> select * from level into outfile 'lecel.txt';
Query OK, 3 rows affected (0.00 sec)

在这里插入图片描述

转储开关secure-file-priv

mysql> select * into outfile 'C:\Desktop\temp\level.txt' from level ;
1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

检查当前secure-file-priv的状态,NULL表示禁止转储

mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv | NULL  |
+------------------+-------+
1 row in set (0.04 sec)

设置secure-file-priv,空字符串表示“去掉导入的目录限制”

更多secure-file-priv的选项,请查阅官方文档

[mysqld]
secure_file_priv=
mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv |       |
+------------------+-------+
1 row in set (0.06 sec)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值