首页 > 数据库技术 > MySql error #1036 – Table ‘ ‘ is read only 错误解决方法

MySql error #1036 – Table ‘ ‘ is read only 错误解决方法

这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行。我的VPS存放数据库的路径是 /usr/local/mysql/var。
上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table ‘* ‘ is read only (*号为任意表),也就是说表只有只读属性。
通过SSH,给数据库文件777权限,dedeadmin是我的数据库文件夹

1

chmod -R 0777 /usr/local/mysql/var/dedeadmin/

给数据库目录的所属用户和组改为MySQL

1

chown -R mysql:mysql dedeadmin

但是这样还不能更改数据库,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,还需要运行以下命令:

1

./mysqladmin -u root -p flush-tables

之后输入root账号的密码,马上就好了,没有任何任何提示,然后测试一下,能正常读写,搬家也就顺利完

 

 

 

Linux下MySQL出现问题,提示mysql error #1036 – Table ‘xxxx’ is read only

解决方法:

1. 找到数据库文件放置的目录,如/usr/local/mysql/var/xx

2. 更改此数据库下所有文件的所有权:chown mysql.mysql *.*

3. 关闭mysql:killall mysqld
4. 开启mysql:进入mysql的bin目录,运行 ./mysqld_safe –user=mysql &

 

 

为了方便mysql数据库服务器转移,今天将windows上的mysql data文件夹通过文件打包的形式直接上传到 linux上发现一个奇怪的问题,在操作数据库的时候出现 ERROR 1036 (HY000): blog ‘ is read only 错误,肯不是账户权限的问题,因为我是root,后来经过排查后发现,原来是文件上传到了linux上后mysql对文件的控制权限不够,有两种办法解决。

ERROR 1036 (HY000): Table ‘ is read only问题第一种解决办法: 停掉mysqld服务,删除windows上传输过来的文件夹 centos 默认在 /var/lib/mysql/ 然后通过navacat for mysql之类的客户端软件将数据传输到linux服务器上。

ERROR 1036 (HY000): Table ‘ is read only问题第二种解决办法: 修改mysqld权限 chown -R mysql:mysql /var/lib/mysql/table 然后重启mysqld

 

MySql出现#1036 – Table ‘ ‘ is read only 错误解决解决办法

1.将mysql目录下的文件 授权给mysql:mysql

chown mysql:mysql *

2.找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,还需要运行以下命令:
./mysqladmin -u root -p flush-tables

这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据 […]

  1. 还没有评论
评论提交中, 请稍候...

留言

(Spamcheck Enabled)

Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks