【问题标题】:Error dropping database in SQL (can't rmdir './tract', errno: 66)在 SQL 中删除数据库时出错(不能 rmdir './tract',errno: 66)
【发布时间】:2016-08-20 19:15:28
【问题描述】:

显然,我正在尝试删除数据库并重新创建它,但它不起作用。

它给了我错误


mysql>源/Users/divinedavis/downloads/tract_schema.sql;

ERROR 1010 (HY000): 删除数据库时出错(无法 rmdir './tract',errno:66

ERROR 1010 (HY000):无法创建数据库'TRACT';数据库退出

数据库已更改

DROP DATABASE IF EXISTS TRACT;
CREATE DATABASE TRACT;
USE TRACT;

# # is used for comment in MySQL
#DROP TABLE employee; 

CREATE TABLE CUSTOMER (
  cust_num   integer(10),
  cf_name varchar(15), 
  cm_init   varchar (2),
  cl_name varchar(15),
  c_address   varchar (40),
  c_uname varchar(15),
  primary key (cust_num, cf_name, cl_name)  
);

CREATE TABLE INVOICE (
  inum    integer(10) not null, 
  i_date    date default null,
  custf_name   varchar(15),
  cl_name varchar (15) default null,
  tech_uname      varchar(15) default null,
  lp_num    varchar(6) default null,
  primary key (inum)
);

#DROP TABLE department; #CASCADE CONSTRAINTS;
CREATE TABLE PAYMENT (
  p_type        varchar(25) not null,
  i_num      integer(10),
  amount       decimal(5,2), 
  foreign key (i_num) references invoice(inum)
);

#ALTER TABLE employee ADD(
#foreign key (dno) references department(dnumber)

#);

#DROP TABLE dept_locations; #CASCADE CONSTRAINTS;


#DROP TABLE project; #CASCADE CONSTRAINTS;
CREATE TABLE VEHICLE (
  model      varchar(25) not null,
  lp_num    varchar (6) not null,
  vin  varchar(17),
  v_year       integer(4) not null,
  v_trim      varchar(10) not null,
  tire_size    varchar(6),
  make  varchar(15),
  mileage       integer(8) not null,
  color varchar(20),
  cust_name varchar(30),
  primary key (lp_num, vin)
);

#DROP TABLE works_on; #CASCADE CONSTRAINTS;
CREATE TABLE TECHNICIAN (
  wage   decimal(3, 2),
  s_name    varchar (23),
  s_num  integer,
  city   varchar(20),
  state    varchar (20),
  zip  integer,
  reviews   varchar(400),
  ratings   integer (5),
  tf_name  varchar(10),
  tm_init   varchar(2),
  tl_name    integer (4),
  t_uname  varchar(15),
  t_ssn integer(9),
  primary key (t_uname)
);

#DROP TABLE dependent; #CASCADE CONSTRAINTS;
CREATE TABLE CREDENTIALS (
  email           char(9),
  username varchar(15),
  user_password       char,
  ssn integer(9),
  primary key (username)
  );

CREATE TABLE RT_CALENDAR (
  time_of_operation    integer(9),
  date_of_repair date
);

CREATE TABLE WORKS_ON (
  cost           decimal(3,2),
  hours integer(15),
  lp_num            char,
  t_ssn          date
);

【问题讨论】:

    标签: mysql sql macos


    【解决方案1】:

    先用命令找到DB目录

    mysql -e "select @@datadir"
    

    它将返回您的数据库目录,例如

    +-----------------------+
    | @@datadir             |
    +-----------------------+
    | /usr/local/var/mysql/ |
    +-----------------------+
    

    转到该目录并使用命令删除数据库

    rm -rf DB_name
    

    你也可以使用命令root用户

    sudo rm -rf DB_name
    

    【讨论】:

      【解决方案2】:

      看起来您可能丢失了一些文件,这可以解释为什么 mysql 说数据库存在,但由于找不到文件错误,您无法删除它。

      系统数据库中有数据库对象的条目,如果某些文件消失(被删除或其他),如果发生这种情况,您不能只是 DROP [数据库]。

      查看here 以获得答案。

      【讨论】:

      • 他是怎么让这个sh-3.2# ls -la data/test total 0 drwxr-xr-x 3 _mysql wheel 102 Apr 15 12:36 . drwxr-xr-x 11 _mysql wheel 374 Apr 15 12:28 .. -rw-r--r-- 1 _mysql wheel 0 Mar 31 10:19 .empty弹出来的?
      【解决方案3】:

      请看这篇文章:

      how to drop database

      tract目录里面好像有一些不是mysql的文件。

      【讨论】:

      • 我使用的是 Mac。有没有办法可以通过查找器删除它?
      • 您应该先检查该目录中有哪些文件,然后再将其删除。
      【解决方案4】:

      由于某种原因,无法删除数据库文件夹。可能有一些与数据库无关的文件。

      要手动删除数据库,请转到 /usr/local/mysql/data/ 并从那里删除 /tract 文件夹。

      【讨论】:

      • 小心。您可以删除一些与mysql无关的重要文件。
      猜你喜欢
      • 2018-04-27
      • 2013-07-30
      • 2011-06-02
      • 1970-01-01
      • 2022-01-24
      • 2015-06-02
      • 2012-08-25
      • 2013-05-07
      • 1970-01-01
      相关资源
      最近更新 更多