mysql 中drop 库的问题

最近drop database pai; 报错

ERROR 1010 (HY000): Error dropping database (can‘t rmdir ‘./pai‘, errno: 39)

我就想把库文件直接删除试试,于是

rm -rf /usr/local/mysql/data/pai

然后我又show databases;

结果还有pai库

于是drop database pai;

ERROR 1010 (HY000): Error dropping database (can‘t rmdir ‘./pai‘, errno: 39)

纠结好长时间,网上大多都是没有删除pai,而是里面的文件。我呢,把所在库都删了

于是mysql> show variables like ‘%datadir%‘;

+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+

发现这个目录里面还有pai

于是rm -rf /var/lib/mysql/pai

然后show databases;

结果没有了,被删除。

mysql 中drop 库的问题

时间: 2024-10-25 17:55:10

mysql 中drop 库的问题的相关文章

mysql中 drop、truncate和delete的区别

mysql中drop.truncate和delete的区别 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作. TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的.并且在删除的过程中不会激活与表有关的删除触发器.执行速度快. (2)表和索引所占空间. 当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小, DELETE操作不会减少表或索引

Linux在mysql中新建库和新建表

创建库: create database test; drop database test; show databases; 创建表: use test; create table tabtest(id int,name nvarchar(255)); insert table tabtest values(1234,'插入内容'):    表中插入内容 drop table tabtest;    删除表 show tables;    查看库中表 select * from tabtest;

mysql中一库多表查询主键

mysql> show databases; mysql> use information_schema; mysql> show tables; mysql> select * from KEY_COLUMN_USAGE;    //这一步是查询每个库里每个表的信息 mysql> select * from KEY_COLUMN_USAGE where TABLE_SCHEMA='table_name' and CONSTRAINT_NAME='PRIMARY';  //根

MySQL中利用RENAME TABLE快速高效重命名库(schema)

目前的MySQL中一旦创建的了新的库(schema)就无法对它进行重命名,所以如果需要对一个库重命名一般的做法是把目标库中的数据dump出来后导入想重命名的新库中,在MySQL的导入中是使用大量的insert,大量使用了DML,如果是大数据量的库那就很低效,其实在MySQL中可以利用RENAME TABLE这种DDL的方式来移动表数据后来重命名库,下面就简单的介绍一下.首先,RENAME TABLE使用方法很简单: RENAME TABLE old_table TO new_table; 由此在

Mysql中五级权限小结

mysql的权限控制主要是通过mysql库下的db,user,host,table_priv,column_priv表控制. 由于权限信息数据量比较小,所以mysql在启动时会将所有的权限消息加载到内存. 所以每次手工修改相关权限表时需要通过 flush privileges命令来重新加载. 但是如果是通过grant,revoke或drop user,create user等命令这修改权限的话就不需flush mysql中权限一共有五级,按照大小顺序为:global > database >

Vusual C++连接Mysql和从MySql中取出数据的API介绍

.1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned int client_flag) 2.1.2 参数说明: • 第一个参数应该是一个现存MYSQL结

mysql中event的用法详解

一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程. 二.适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理. 例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表. 三.使用权限单独使用event调用SQL语句时,查看和创建

详细解读MySQL中的权限

一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行. 所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql.注:本文测试环境为mysql-5.6.4 二.Mysql权限介绍 mysql中存在4个控制权限的表,分别为use

MySQL中存储过程+事件的使用方法

一.背景 将界面操作日志存储在MySQL数据库中的operationlog表中,如果该表不能自动备份,表中的数据会越来越多,影响速度.可以定期将表中数据备份到另外一个表中来解决. 二.解决方案 1.使用MySQL中的存储过程+事件解决. 存储过程逻辑为: 1)创建一个新表operationlog_temp,各字段同operationlog相同; 2)将表operationlog更名为operationlog_yyyy-mm-dd; 3)将表operationlog_temp更名为operatio