MariaDB中如何删除表空间?创建Users表遇表空间已存在错误
解决MariaDB中Tablespace已存在的问题
针对你遇到的ERROR 1005 (HY000): Can't create table test.Users (errno: 184 "Tablespace already exists")错误,由于MariaDB不支持DROP TABLESPACE,可以按以下步骤操作:
停止MariaDB服务
# 适用于systemd系统(如CentOS、Ubuntu) sudo systemctl stop mariadb # 若使用sysvinit系统,可尝试 sudo service mariadb stop定位表空间文件
先在MariaDB客户端执行命令获取数据目录路径:SHOW VARIABLES LIKE 'datadir';前往该路径下的
test库目录,找到Users.ibd文件(InnoDB表的表空间文件)。删除残留的表空间文件
rm /path/to/datadir/test/Users.ibd将
/path/to/datadir替换为实际查到的数据目录路径。重启MariaDB服务
sudo systemctl start mariadb # 或sysvinit系统 sudo service mariadb start清理无效表结构并重新创建表
进入MariaDB客户端执行:DROP TABLE IF EXISTS test.Users;之后重新执行你的建表语句即可:
CREATE TABLE Users( name varchar(200) NOT NULL, username varchar(200) NOT NULL UNIQUE, password varchar(200) NOT NULL);
注意:操作前请确认无重要数据需要保留,避免误删。
内容的提问来源于stack exchange,提问作者Sevada 797
相关产品推荐
相关产品推荐

