小编Rol*_*DBA的帖子

无法删除 mysql.user 的权限

我正在尝试删除 mysql 用户的权限,以便无法删除特定的数据库。但是如果我运行这个命令:

revoke all privileges on test.* from 'demo'@'localhost';
Run Code Online (Sandbox Code Playgroud)

或这个

revoke drop on test.* from 'demo'@'localhost';
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

错误 1141 (42000):没有为主机“localhost”上的用户“demo”定义此类授权

test是数据库的名称。

演示用户的权限是这样的:

mysql> show grants for demo@'localhost';
+----------------------------------------------------------------------------------------------------------------------+
| Grants for demo@localhost |
+----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'demo'@'localhost' IDENTIFIED BY PASSWORD '*C142FB215B6E05B7C134B1A653AD4B455157FD79' |
Run Code Online (Sandbox Code Playgroud)

此外,当我以用户 demo 登录时,我可以删除数据库测试。

当我尝试从用户演示中删除权限时,为什么会出现此错误?

mysql permissions

3
推荐指数
1
解决办法
1401
查看次数

信息架构未显示可靠信息?

我目前正在从 SQL Server 迁移到 MySQL。当我尝试匹配行数时,我会查询 information_Schema.tables。我注意到迁移的信息和源信息之间存在一些差异。

但是,我做了一个select count(*) from table;给了我正确的行数

为什么information_Schema.tables.table_rows和之间有区别select count(*) from table

mysql innodb information-schema

3
推荐指数
1
解决办法
1618
查看次数

InnoDB:错误:找不到表“mysql”.“innodb_table_stats”

我遇到了同样的错误,尽管我正在运行具有 3 个节点的 galera 集群。我尝试按照InnoDB的说明进行操作:错误:升级到 mysql 5.6 后找不到表“mysql”.“innodb_table_stats”,但是当我进入运行 create 语句的步骤时,出现以下错误:

Error Code: 1813. Tablespace for table '`mysql`.`innodb_index_stats`' exists.
Please DISCARD the tablespace before IMPORT.
Run Code Online (Sandbox Code Playgroud)

这对我来说毫无意义,当我尝试使用

drop tablespace `innodb_index_stats`;
Run Code Online (Sandbox Code Playgroud)

我收到一个 SQL sysntax 错误。

mysql innodb replication mariadb galera

3
推荐指数
1
解决办法
2万
查看次数

MariaDB:如何减小 ibdata 文件大小

我发现我的MariaDB的ibdata文件不断增加。所以,我搜索了这个,发现innodb_file_per_table应该设置为1。但是,我的DBMS的配置已经设置为1;

为什么 ibdata 文件大小不断增加以及我还应该为此做什么。

以下是我的 dbms 信息。

DBMS: MariaDB
engine: InnoDB Engine
version: 10.3

** my.cnf **
innodb_file_per_table=ON
transaction-isolation=READ-COMMITTED
Run Code Online (Sandbox Code Playgroud)

mysql innodb mariadb ibdata

3
推荐指数
1
解决办法
5039
查看次数

Net Start OracleXETNSListner

我正在尝试在 Windows 7 上运行 Oracle Express Edition 并收到以下错误。

C:\oraclexe\app\oracle\product\1O.2.O\server\BIN>net start OracleXETNSListener  
    System error 5 has occurred. 
    Access is denied.
    C:\oraclexe\app\oracle\product\1O.2.O\server\BIN>net start OracleServiceXE  
    System error 5 has occurred. 
    Access is denied. 
    C :\oraclexe\app\oracle\product\1O. 2 .O\server\BIN>_ 
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

在此处输入图片说明

谢谢。

oracle-11g

2
推荐指数
1
解决办法
1万
查看次数

从其文件夹中恢复 MySQL DB

前段时间,我在WAMP服务器上构建了一个 webapp 。那时,我没有对我的 MySQL 数据库进行任何导出/转储,但我已经复制了 WAMP 文件夹。有没有人对如何从 WAMP 的“mysql”文件夹中恢复我的数据库有任何想法?

我有 *.frm 文件和很多 mysql-bin.* 文件

你对我有什么建议吗?

mysql

2
推荐指数
1
解决办法
2万
查看次数

DB2 触发器:仅更新当前行

我创建了以下触发器:

CREATE TRIGGER probeer2
  AFTER INSERT ON libtn01leb.kofax_release
  FOR EACH ROW
  UPDATE libtn01leb.kofax_release SET RRNR='bleh'
Run Code Online (Sandbox Code Playgroud)

此触发器将更新表中的每一行,而不是我当前添加的行。我怎样才能让它只对我插入的行有效?

trigger db2

2
推荐指数
1
解决办法
6077
查看次数

数据库不可知条件

我正在编写一个 Drupal 模块,我希望它在 PostgreSQL 和 MySQL 之间是不可知的。我有一个从条件中获取其值的字段,我最初将它写为IF(). 然后我发现这IF()是一个 MySQL 主义。所以,我查找了 PostgreSQL 的条件语句,CASE似乎是最好的工具。

但是,我注意到以 PostgreSQLCASE结尾END,而在MySQL 中以END CASE. 这会破坏我对数据库不可知论的希望吗?我可以用条件编写一个不可知的查询吗?

mysql postgresql query

2
推荐指数
1
解决办法
167
查看次数

为什么 MySQL 存储引擎在一种情况下在恢复时发生变化?

在我的生产数据库生活中,发生过一次悲剧,在恢复最近的备份时,MySQL 引擎类型从 InnoDB 意外更改为 MyISAM。结果是所有参照完整性都丢失了。

是什么导致了这一事件?我的生产数据库是 MySQL Server 5.1。

mysql innodb myisam

2
推荐指数
1
解决办法
789
查看次数

MySQL 数据库中毒:如何快速恢复到已知状态

如果您想避免数据库中毒(即想快速恢复到某个时间点),您更喜欢哪种方法?

让我定义数据中毒。您在数据库中插入了一些东西,这完全弄乱了内部结构和相互依赖关系。我知道这意味着可能还需要重新审视数据库设计,但损害已经造成。

我想到的方法是

  1. 以某种方式设置复制,其中从属被动且落后 X 小时。如果出现故障,我所要做的就是重置应用程序并将其指向从属设备作为我的新主设备。我怀疑这是可能的。
  2. 每隔几个小时做一次 MySQL 热备份,当检测到故障时,恢复到 X 小时前的备份。这将意味着应用程序停机,因为我不能让当前应用程序继续运行。可以使用 innobackup 或 percona 进行快速备份和恢复步骤。
  3. 专门设计应用程序和数据库,以便新添加的数据被删除(或搁置)。这意味着我存储所有事件/状态(我想这是最困难和理论上的解决方案)

如果第一个选项是可能的,并且它还存储了所有的中继日志(即在 Master 上发生的事情在同一时刻传输到 Slave,但在几个小时内自动应用),那么这将是一个完美的解决方案。也许可以在一个设置中设置多个从站以从中断和数据中毒中恢复

mysql replication backup

2
推荐指数
1
解决办法
655
查看次数