Linux下MySql 1036 错误码解决(1036: Table ‘xxxx’ is read only)

yizhihongxing

当我们在Linux下使用MySQL时,可能会遇到1036错误码,该错误码的含义是“Table 'xxxx' is read only”,也就是指被访问的表只读,无法进行写入操作。下面是解决该错误码的完整攻略:

1.查看访问权限

首先,我们需要检查访问该表的用户是否具备写入权限。可以使用如下命令查看当前用户的权限:

SHOW GRANTS;

输出结果中会列出当前用户的一些权限,我们需要检查其中是否具有写入权限。

2.检查文件权限

如果用户拥有写入权限,那么我们需要检查目标表所在的文件的权限是否正确。通常,在Linux下,MySQL的数据文件和日志文件都位于/var/lib/mysql/目录下,我们可以在该目录下使用如下命令检查文件权限:

ls -l /var/lib/mysql/

输出结果中会列出该目录下的所有文件以及相关的权限信息,我们需要检查目标表所在的文件的权限是否正确,通常情况下,该文件的用户和用户组都应该是mysql,权限应该为775或777。

3.检查文件所有者

如果文件权限正确,那么我们需要检查文件所有者是否正确。通常情况下,该文件的所有者应该是mysql,如果该文件的所有者不正确,我们可以使用如下命令修改文件所有者:

sudo chown mysql:mysql /var/lib/mysql/xxxx

其中,xxxx是目标表所在的文件名。

示例1:

假设我们需要在MySQL中执行如下SQL语句:

INSERT INTO employee(id,name,age,salary) VALUES(1001,'张三',23,2000);

执行该SQL语句时,可能会遇到1036错误码。首先,我们可以通过如下命令查看当前用户的权限:

SHOW GRANTS;

如果当前用户已经具备了对employee表的写入权限,那么我们可以进一步检查该表所在文件的权限和所有者,通过如下命令查看文件权限:

ls -l /var/lib/mysql/

检查目标表所在文件的权限和所有者是否正确,并进行必要的修改即可。

示例2:

假设我们需要在MySQL中执行如下SQL语句删除一条记录:

DELETE FROM employee WHERE id=1001;

执行该SQL语句时,可能会遇到1036错误码。首先,我们可以通过如下命令查看当前用户的权限:

SHOW GRANTS;

如果当前用户已经具备了对employee表的写入权限,那么我们可以进一步检查该表所在文件的权限和所有者,通过如下命令查看文件权限:

ls -l /var/lib/mysql/

检查目标表所在文件的权限和所有者是否正确,并进行必要的修改即可。

以上就是解决Linux下MySQL 1036错误码的完整攻略,如果之前出现了该问题,可以按照上述步骤进行检查和解决。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下MySql 1036 错误码解决(1036: Table ‘xxxx’ is read only) - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • my.cnf(my.ini)重要参数优化配置说明

    首先,说明一下my.cnf(my.ini)是什么: my.cnf(my.ini)是MySQL的配置文件,存放在MySQL的安装目录下,用于配置MySQL的各种参数。 下面是my.cnf的重要参数优化配置说明: 1.缓冲池配置 缓冲池是MySQL的内存池,用来缓冲MySQL的数据和索引。以下是常用缓冲池参数的配置,可以根据实际情况进行调整: # InnoDB缓…

    MySQL 2023年5月19日
    00
  • 微信小程序连接MySQL数据库的全过程

    连接 MySQL 数据库的过程可以分为以下几个步骤: 1. 创建数据库 在 MySQL 中通过 SQL 语句来创建一个新的数据库,例如: CREATE DATABASE database_name CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; 其中 database_name 是你想要创建的数据库的名称,utf8mb…

    MySQL 2023年5月19日
    00
  • MySQL GRANT:用户授权方法详解

    MySQL GRANT 命令是 MySQL 数据库中最重要的命令之一,用于授权用户相关数据库操作的权限。通过 GRANT 命令,可以实现对数据库对象(如数据库、数据表、视图等)的不同级别的访问控制和权限分配。 在 MySQL 中,我们可以使用 GRANT 命令将权限授予一个用户,这个用户可以是本地用户,也可以是远程用户。下面对 MySQL GRANT 命令进…

    MySQL 2023年3月10日
    00
  • 实验六 存储过程

    实验六 存储过程 第1关:增加供应商相关列sqty use demo; #代码开始 #在S表中增加一列供应零件总数量(sqty),默认值为0。 altertable s add sqty intdefault0; #代码结束 desc s; 第2关:定义、调用简单存储过程 use demo; #代码开始 #1、定义简单存储过程:计算所有供应商供应零件总数量并…

    MySQL 2023年5月10日
    00
  • MySQL导出数据遇到secure-file-priv问题的解决方法

    问题描述: 在使用 MySQL 命令导出数据时,会遇到以下错误提示: ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement 这是因为在 MySQL 5.7.6 版本以后,为了安…

    MySQL 2023年5月18日
    00
  • 利用Java+MySQL实现附近功能实例

    下面详细讲解利用Java+MySQL实现附近功能实例的完整攻略,包括以下几个步骤: 确定技术栈和工具 在实现附近功能的过程中,我们需要使用到Java和MySQL,具体而言,主要使用以下工具和框架: Eclipse:Java开发的集成开发环境 Maven:项目管理工具 Spring Boot:Java编写的Web应用程序的开发框架 JPA:Java Persi…

    MySQL 2023年5月19日
    00
  • windows下本地连接MYSQL数据库,报1130错误的解决方法

    重装MySQL,使用重装之后的密码连接Mysql数据,总报 ERROR 1130: host ‘localhost’ not allowed to connect to this MySQLserver,不能连接数据库,猜测用户权限和密码的问题。 1、用root用户登录mysql数据库 (1)停止MySQL服务,执行net stop mysql; (2)在m…

    MySQL 2023年4月13日
    00
  • 关于mysql 8.0.13zip包安装方法

    下面是关于mysql 8.0.13zip包安装方法的完整攻略,分为以下几个步骤: 1. 下载mysql 8.0.13 zip包 首先需要下载mysql 8.0.13 zip包,可以从官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads,也可以从其他网站下载。下载完成后需要解压缩,将解压后的…

    MySQL 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部