我有一个C#应用程序在MySQL 5.7服务器上执行一些数据库操作。一旦整个系统恢复,我就不得不硬地重新设置它。现在,当涉及特定的表读/写操作时,数据库服务器会崩溃。windows日志显示
InnoDB: Trying to access page number 286720 in space 29,
space name myInstance/myTable, which is outside the tablespace bounds.
Byte offset 0, len 16384, i/o type read.
我试着使用mysqlcheck --repair,但是它失败了,因为
我有一个具有二进制日志活动的MySQL服务器。每天有一次日志文件被“旋转”,也就是说,MySQL似乎停止了对它的写入,并创建和新的日志文件。例如,我目前在/var/lib/mysql中有这些文件
-rw-rw---- 1 mysql mysql 10485760 Jun 7 09:26 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Jun 7 09:26 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Jun 2 15:20 ib_logfile1
-rw-rw---- 1 mysql mysql 191
我正在尝试将mysqldump从一个服务器恢复到另一个服务器。当我运行导入时:
mysql -u user -p < file.sql
我知道错误:
您没有超级特权,并且启用了二进制日志记录
一个快速的google显示,我可以通过设置:
SET GLOBAL log_bin_trust_function_creators = 1;
但是,在我要导入的服务器上,我没有根权限,而且我的MySql帐户没有足够的权限来进行此设置。
我看了一下手册页:
看起来,此错误可能与正在导入的存储函数有关,并且它们没有启用,因此会导致此错误。
我在原始数据库上运行了这个:
mysql> SEL
我有一个MySQL服务器,我发现它不接受任何连接,因为磁盘中没有足够的空间。我检查了mysql的日志文件,它们的大小为480 as (几乎相当于磁盘容量)。当我手动删除这些日志文件时,服务器将再次服务并接受连接。我怎样才能解决这个问题?当MySQL日志文件的大小足够大时,我可以发出命令删除它们吗?或者我应该做些别的事情,比如不把所有的事情都记录下来。我应该做什么,我该怎么做?请帮助(ubuntu 18.04)。