物理写入文件已满 - MySQL 错误
物理写入文件已满 - MySQL 错误
我使用xampp,每次启动mysql时,我都会在xampp中收到以下错误信息:
错误:MySQL意外关闭。 13:16:14 [mysql] 可能是由于端口被阻止、缺少依赖、权限不正确、崩溃或其他方法导致的关闭。 13:16:14 [mysql] 按下日志按钮以查看错误日志并检查。
我检查了错误日志,以下是输出结果,我甚至更改了端口,但没有帮助。之前,我根据其他的stackoverflow答案删除了ibdata文件,导致整个数据库丢失,所以不想再犯同样的错误。有没有安全修复此错误的指导?
2019-08-07 13:16:01 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2019-08-07 13:16:01 0 [Note] InnoDB: Uses event mutexes 2019-08-07 13:16:01 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 2019-08-07 13:16:01 0 [Note] InnoDB: Number of pools: 1 2019-08-07 13:16:01 0 [Note] InnoDB: Using SSE2 crc32 instructions 2019-08-07 13:16:01 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M 2019-08-07 13:16:01 0 [Note] InnoDB: Completed initialization of buffer pool 2019-08-07 13:16:01 0 [Note] InnoDB: 128 out of 128 rollback segments are active. 2019-08-07 13:16:01 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2019-08-07 13:16:01 0 [Note] InnoDB: Setting file 'D:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2019-08-07 13:16:01 0 [Note] InnoDB: File 'D:\xampp\mysql\data\ibtmp1' size is now 12 MB. 2019-08-07 13:16:01 0 [Note] InnoDB: Waiting for purge to start 2019-08-07 13:16:01 0 [Note] InnoDB: 10.3.16 started; log sequence number 1951328; transaction id 1068 2019-08-07 13:16:01 0 [Note] InnoDB: Loading buffer pool(s) from D:\xampp\mysql\data\ib_buffer_pool 2019-08-07 13:16:01 0 [Note] Plugin 'FEEDBACK' is disabled. 2019-08-07 13:16:01 0 [Note] Server socket created on IP: '::'. 2019-08-07 13:16:01 0 [Note] InnoDB: Buffer pool(s) load completed at 190807 13:16:01
我在Windows事件中收到以下错误:
无法找到源MySQL的事件ID 100的描述。可能是因为引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复该组件。
如果事件起源于另一台计算机,则显示信息必须与事件一起保存。
以下信息包含在事件中:
从mysql.gtid_slave_pos加载复制GTID从站状态失败:引擎中不存在表'mysql.gtid_slave_pos',内部MariaDB错误代码:1932
物理写文件已满 - mysql错误。
出现这个问题的原因可能是数据库中的数据文件已经达到了最大限制。解决方法是通过编辑/mysql/bin/my.conf
文件进行配置。在该文件中,可以修改以下参数来解决这个问题:innodb_data_home_dir
、innodb_log_group_home_dir
、innodb_buffer_pool_size
、innodb_data_file_path
、innodb_log_buffer_size
、innodb_log_file_size
、innodb_flush_log_at_trx_commit
、innodb_lock_wait_timeout
。在修改之前,可以先尝试将备份文件夹中的文件复制到数据文件夹中,但是请务必先备份好数据文件夹!
问题原因:该问题的原因是由于在xampp/mysql/data/文件夹中存在具有特定前缀和非常长文件名的文件,这些文件名中有大量重复的"@"符号。这些文件实际上是崩溃转储文件,而不是标准的短表名。
解决方法:要解决这个问题,可以按照以下步骤进行操作:
1. 在/xampp/mysql/data/文件夹中查找具有上述特征的文件。
2. 创建一个/backup文件夹,并将这些文件移动到该文件夹中。
3. 通过XAMPP控制面板重新启动MySQL。
附加说明:
如果删除这些文件后MySQL仍无法启动,则还需要删除一个名为"multi-master.info"的文件。
删除该文件后,MySQL应该能够启动,并在XAMPP中保持运行状态。
这是一个简单且快速的解决方法,无需重新安装XAMPP和重新配置。通过将崩溃转储文件移动到备份文件夹中,然后重新启动MySQL,可以解决这个问题。这是一种真正的解决方法,而不是选择重新安装XAMPP。
这位用户在使用这个方法后解决了相同的问题,并表示这是一个真正的解决方法,而不是重新安装XAMPP。
这就是该问题的原因和解决方法。通过按照上述步骤操作,可以解决"Physically writing the file full - mysql Error"的问题。