mysql中Table is read only的解决方法小结
本文章总结了关于在linux与windows中 mysql出现Table is read only解决办法总结,有需要的朋友可参考一下
如果是使用中的数据库突然出现些类问题在Linux下面执行下面命令就可以了,当然你要找到你的mysql目录
linux中
代码如下:
/usr/local/mysql/bin/mysqladmin -u root -p flush-tables
windows中
可以在cmd中执行lush-tables
也可以在phpmyadmin 直利用修复表进行修改
如果是导入还原数据
,所以将该数据库文件夹下面所有表文件chmod成777,chown成”_mysql”,但这次问题更严重,drupal里面现实table crached。没办法,马上Google,发现其实解决起来挺容易的。
首先,找到mysqladmin所在位置,一般都在mysql/bin下面,然后运行一下命令:
代码如下:
./mysqladmin -u root -p flush-tables
之后输入root账号的密码,马上就好了,没有任何任何提示,重新打开drupal,一切正常。
通过这次,也找到了数据库文件的正确权限设置:data下面数据库文件夹700,表文件660,所有文件都应owned by mysql。
以下也是从window数据库转移到linux服务器出的问题
一个Discuz论坛,原来架在windows下,用的是GBK编码,MYSQL版本是5.0的。
现在需要转移到Linux下,我本来建议用mysqldump导出的方法,但同事希望直接用data目录下的数据库目录。
那就先用移目录的方式试下,在新服务器创建数据库,然后将旧的目录移过来。
在mysql中,Select之类的都正常,但在网页程序中提示:Table 'cdb_posts' is read only
给数据库目录的所属用户和组改为mysql,并加上777的权限,还是一样提示。
程序中使用root连接,也是一样的提示。
想用myisamchk来检查一下,也提示read only。
最终在这里找到了解决方法:http://www.mysqltalk.org/re-the-table-is-read-only-vt154092.html
引用
I just encountered a similar problem on one of my production servers
this morning. (I'm still investigating the cause.) After doing a
quick bit of Google-searching, this solved my problem:
mysqladmin -u
By the way: All directories in /var/lib/mysql should have 700
permissions (owned my the mysql user) and everything within those
directories should be 660 (owned by the mysql user and mysql group).
运行flush-tables后,read only问题解决:)
然后发现数据结构和内容还是有问题,用myisamchk查错无效,后来用mysqldump导,不过也还是碰到了一大堆问题,由于要转的数据库挺大,化了很长时间,最终没有继续下去。
了解了一些知识点,记录一下:
就是mysql5导出的有default-charact的设置,mysql4不支持,需要加skip-opt参数,如:
mysqldump -uroot -p --default-character-set=gbk -skip-opt databse > hx.sql
参考文章:Mysql 数据库字符集转换
最后找了台mysql5的服务器,用mysqldump导出,mysql导入,一次成功!
发现用mysqldump导出一个表,300w多条记录,用了才4分多钟,每秒处理1w多记录,快啊!导入时,差不多用了十几分钟,每秒导入几千条也很快了:)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

„Beherrschen Sie die Grundfunktionen und Bedienfähigkeiten des Linux-Lesebefehls“ Im Linux-System ist der Lesebefehl ein sehr nützlicher Befehl zum Lesen von Daten aus der Standardeingabe. Über den Lesebefehl können Benutzer Daten interaktiv eingeben oder Daten zur späteren Verarbeitung in Variablen speichern. In diesem Artikel werden wir uns mit den grundlegenden Funktionen und Betriebstechniken des Lesebefehls befassen und spezifische Codebeispiele bereitstellen, um den Lesern zu helfen, diesen Befehl besser zu verstehen und zu verwenden. Grundlegende Verwendung des Lesebefehls Lesebefehl

[So verwenden Sie den Linux-Befehl „read“ zum Lesen von Dateiinhalten] In Linux-Systemen ist „read“ ein Befehl, der zum Lesen von Daten aus Standardeingaben oder Dateien verwendet wird. Mithilfe des Lesebefehls können Benutzer den Dateiinhalt schnell abrufen und die anschließende Verarbeitung durchführen. Im Folgenden wird detailliert beschrieben, wie Sie den Linuxread-Befehl zum Lesen von Dateiinhalten verwenden, einschließlich spezifischer Codebeispiele. Lesen des Dateiinhalts Um den Dateiinhalt zu lesen, müssen Sie zunächst ein Terminal öffnen und das folgende Befehlsformat verwenden, um den Dateiinhalt zu lesen: read[-

Grundlegende Tabelle Bevor Sie die Tabellenkomponente entwickeln, überlegen Sie zunächst, welchen API-Stil Sie verwenden möchten. Da der Autor in der Produktionsarbeit Elemente verwendet, ähneln die Stile der vorherigen Komponenten denen von Element, aber dieses Mal habe ich nicht vor, den Elementstil zu verwenden . Ich habe vor, es zu ändern und direkt anzuzeigen: Wir erwarten, dass Benutzer es wie folgt verwenden: constdataList=[{id:1,name:'"JavaEE Enterprise Application Practice"',author:'dev1ce',price:'10.22 ',desc:&# 3

So fügen Sie einer Tabelle mit jQuery eine Zeile hinzu: 1. Erstellen Sie eine HTML-Beispieldatei und referenzieren Sie die jQuery-Datei. 2. Verwenden Sie die Tags „table“, „tr“ und „td“, um eine Tabelle zu erstellen und binden Sie das Onclick-Klickereignis und führen Sie dann die Funktion „addhang()“ aus. 4. Definieren Sie eine Variable tr innerhalb der Funktion, um die Tabellenzeilen zu speichern, die hinzugefügt werden müssen Fügen Sie über die Methode „append()“ eine Zeile zur Tabelle hinzu.

Wenn wir mit der Win7-Systemsoftware eine Anwendung auf einem Computer öffnen, werden wir gelegentlich vom System daran erinnert, dass der Speicher nicht gelesen werden kann. Was sollten wir also tun, wenn wir auf ein solches Problem stoßen? Werfen wir einen Blick auf einige Lösungen mit dem folgenden Editor. Lösung für das Problem, dass der Win7-Speicher nicht gelesen werden kann: 1. Klicken Sie mit der Maus, um das Menüleistensymbol zu öffnen, und wählen Sie aus der resultierenden Auswahl [Ausführen] aus. 2. Wenn das Operationsdialogfeld erscheint, geben Sie [cmd] ein und klicken Sie auf OK. 3. Geben Sie beim Aufrufen der Befehlserweiterungsseite [for%1in (%windir%\system32\*.dll)doregsvr32.exe/s%1] ein und drücken Sie dann die Eingabetaste, um es auszuführen. 4. Nach der Bestätigung wird cmd angezeigt

Titel: Ausführliche Erklärung und Nutzungsanleitung für den Linux-Lesebefehl. In Linux-Systemen ist der Lesebefehl ein sehr häufig verwendeter Befehl, der zum Lesen von Daten aus Standardeingaben oder Dateien und zum Zuweisen der Daten zu Variablen verwendet wird. Die Verwendung ist einfach und flexibel und kann Benutzern dabei helfen, verschiedene interaktive Vorgänge durchzuführen. In diesem Artikel werden die Syntax, Parameter und spezifischen Codebeispiele des Lesebefehls ausführlich vorgestellt, um den Lesern zu helfen, den Befehl besser zu verstehen und zu beherrschen. 1. Syntax und Parameter des Lesebefehls Die grundlegende Syntax des Lesebefehls lautet wie folgt: read[select

Java verwendet die Funktion read() der Klasse FileInputStream, um die Binärdaten der Datei zu lesen. In der Programmiersprache Java können Sie die Funktion read() der Klasse FileInputStream verwenden, um die Binärdaten der Datei zu lesen. Diese Methode ist sehr flexibel und eignet sich zum Lesen aller Dateitypen wie Bilder, Audio und Video. Die FileInputStream-Klasse ist eine Klasse im Java.io-Paket und wird zum Lesen von Bytestream-Daten aus Dateien verwendet. Auf seinen Konstruktor kann zugegriffen werden

„Linuxread-Befehlsfunktionsanalyse und Beispieldemonstration“ In Linux-Systemen ist der Lesebefehl ein Befehl, der zum Lesen von Daten aus Standardeingaben oder Dateien verwendet wird. Es kann Benutzern dabei helfen, interaktiv Daten aus Benutzereingaben in Shell-Skripten abzurufen und diese zur späteren Verarbeitung in Variablen zu speichern. In diesem Artikel werden die Funktionen des Lesebefehls analysiert und Beispieldemonstrationen bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern. 1. Grundlegende Syntax des Lesebefehls Die grundlegende Syntax des Lesebefehls lautet wie folgt: read[-o
