Heim >Datenbank >MySQL-Tutorial >Linux下MySQL出现#1036 – Table ‘ ‘ is read only 错误解决方法

Linux下MySQL出现#1036 – Table ‘ ‘ is read only 错误解决方法

WBOY
WBOYOriginal
2016-06-07 16:33:491196Durchsuche

我遇到的问题是:在navicat mysql中从一台mysql服务器(正式)上传输数据到另外一台服务器(模拟数据库)。是整库传输。将模拟数

  我遇到的问题是:在navicat mysql中从一台mysql服务器(正式)上传输数据到另外一台服务器(模拟数据库)。是整库传输。将模拟数据库中某一个库的数据文件夹重命名之后,重新创建一个新的数据库,再进行数据传输。传输完成之后,发现模拟上新建的数据库的表变为了只读。 通过按照下面文章的类似步骤,解决了问题。  

  这两天在进行网站搬家,这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行。我的VPS存放数据库的路径是 /usr/local/mysql/var。

  上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已 经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table ‘* ‘ is read only (*号为任意表),也就是说表只有只读属性。

  通过SSH,给数据库文件777权限,admin是我的数据库文件夹

第一步: chmod -R 0777 /usr/local/mysql/var/admin/

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

1 第二步: chown -R mysql:mysql admin


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

1 第三步: ./mysqladmin -u root -p flush-tables 

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

本文永久更新链接地址: 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn