我有一个 MySQL 数据库,其中包含大量数据(100-200GB - 一堆科学测量值)。绝大多数数据存储在一张表中Sample。现在我正在创建数据库的从属副本,我想innodb_file_per_table在此过程中利用它的优势。所以我设置innodb_file_per_table了我的从属配置并导入了数据库的转储。令我惊讶的是,它失败了
第 5602 行的 ERROR 1114 (HY000):表 'Sample' 已满
该文件Sample.ibd目前约为 93GB,分区上有超过 600GB 的可用空间,因此这不是磁盘可用空间问题。它似乎没有达到任何类型的文件系统限制(我使用的是 ext4)。
对于可能是什么原因或要调查什么的任何想法,我将不胜感激。
更新:我正在使用mysql Ver 14.14 Distrib 5.1.66, for debian-linux-gnu (x86_64).
SELECT @@datadir; -- returns `/home/var/lib/mysql/`
SHOW VARIABLES LIKE '%innodb_data_file_path%'; -- ibdata1:10M:autoextend
df -h /home/var/lib/mysql/
768G 31G 699G 5% /home
Run Code Online (Sandbox Code Playgroud) 我只是尝试使用添加一个新用户到 MySQL
CREATE USER 'name'@'%' IDENTIFIED BY '...'
Run Code Online (Sandbox Code Playgroud)
但是,它失败并出现以下错误:
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
Run Code Online (Sandbox Code Playgroud)
仅为 localhost 添加用户工作正常:
CREATE USER 'name'@'localhost' IDENTIFIED BY '...'
Run Code Online (Sandbox Code Playgroud)
我不知道可能是什么问题。我会很感激任何想法。
(我正在使用mysql Ver 14.14 Distrib 5.1.66。)