You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB执行ALTER DATABASE语句遇READ ONLY语法错误求助

MariaDB设置数据库只读语法错误的解决方法
  • 你用的ALTER DATABASE testDB READ ONLY = 1;是MySQL 8.0+的专属语法,MariaDB不支持这种空格分隔的READ ONLY写法,必须使用下划线连接的READ_ONLY关键字。

  • 适配MariaDB的正确语句:

    ALTER DATABASE testDB READ_ONLY = 1;
    
  • 若你的MariaDB版本低于10.5.1,ALTER DATABASE不支持直接设置READ_ONLY,可以用以下两种替代方案:

    1. 设置全局只读(影响所有数据库,需超级权限):
      SET GLOBAL read_only = 1;
      
      要是想禁止超级用户的写操作,可改用:
      SET GLOBAL super_read_only = 1;
      
    2. 针对testDB单独回收写权限(精准控制单个数据库):
      REVOKE INSERT, UPDATE, DELETE ON testDB.* FROM '你的用户名'@'你的主机地址';
      

提示:设置全局变量后,重启MariaDB会失效,若要永久生效,需在配置文件(如my.cnf)中添加read_only=1或super_read_only=1。

内容的提问来源于stack exchange,提问作者polandonion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:22:04