debian(wheezy)安装mysql的时候报错There's not enough sp
新机器,安装#apt-get install mysql-server提示需要安装mysql-server-5.5 等其它几个。 于是跟上。 到了安装的时候提示错误。 Setting up mysql-common (5.5.33+dfsg-0+wheezy1) ...(Reading database ... 180252 files and directories currently installe
新机器,安装#apt-get install mysql-server提示需要安装mysql-server-5.5 等其它几个。 于是跟上。 到了安装的时候提示错误。
Setting up mysql-common (5.5.33+dfsg-0+wheezy1) ... (Reading database ... 180252 files and directories currently installed.) Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb) ... ERROR: There's not enough space in /var/lib/mysql/ dpkg: error processing /var/cache/apt/archives/mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb (--unpack): subprocess new pre-installation script returned error exit status 1 Selecting previously unselected package mysql-server. Unpacking mysql-server (from .../mysql-server_5.5.33+dfsg-0+wheezy1_all.deb) ... Errors were encountered while processing: /var/cache/apt/archives/mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
这里我们分析下问题。apt-get install 调用的dpkg, 然后dpkg 去调的
/var/cache/apt/archives/mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb
#cp /var/cache/apt/archives/mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb /home/bak
然后我们去看看打包的文件里面是怎么判断的。执行下面的shell,我们把这个包解压出来。
#cd /home/bak && make tmp #mkdir tmp #dpkg-deb -x mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb tmp #dpkg-deb --control mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb.deb tmp/DEBIAN
然后
#cd tmp/DEBIAN
找到了一个预安装文件叫preinst,用编辑器打开。在149行找到这句话
# checking disc space if LC_ALL=C BLOCKSIZE= df --portability $DATADIR/. | tail -n 1 | awk '{ exit ($4>1000) }'; then echo "ERROR: There's not enough space in $4 and $DATADIR/" 1>&2 db_stop exit 1 fi
这里是个判断,就是刚才我们安装的时候报的错
ERROR: There's not enough space in /var/lib/mysql/
#df --portability $DATADIR/. | tail -n 1 | awk '{ print $4 }'
我们继续把这个preinst改下,或者是修改下判断 比如从$5来判断 或者直接反起来, 把$4>1000 改成$4
然后重新打包
#dpkg -b tmpmysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb
接下来复制回去mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb
#cp mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb/var/cache/apt/archives/mysql-server-5.5_5.5.33+dfsg-0+wheezy1_amd64.deb
#yes
继续重新安装发现通过了安装。没有再提示空间不足。
但是问题的根源不在mysql的预安装文件上, 而是在我们自身的系统环境上。
通过排查,发现系统已经安装了一些会影响系统命令输出的程序。
找到你的.bashrc 看看是不是装了一些终端显色的软件。比如cw 它会影响到这个的输出。注释掉这个再运行下刚才修改的语句,就可以看见区别了。
会显示几百万甚至几千万,在preinst这里就会跳过而不报错了。
比如cw 终端显色,正是这个软件导致了系统命令的输出出现了错行。所以,只需要暂时注销掉在.bashrc里面的cw就可以了

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



In der MySQL -Datenbank wird die Beziehung zwischen dem Benutzer und der Datenbank durch Berechtigungen und Tabellen definiert. Der Benutzer verfügt über einen Benutzernamen und ein Passwort, um auf die Datenbank zuzugreifen. Die Berechtigungen werden über den Zuschussbefehl erteilt, während die Tabelle durch den Befehl create table erstellt wird. Um eine Beziehung zwischen einem Benutzer und einer Datenbank herzustellen, müssen Sie eine Datenbank erstellen, einen Benutzer erstellen und dann Berechtigungen erfüllen.

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

1. Verwenden Sie den richtigen Index, um das Abrufen von Daten zu beschleunigen, indem die Menge der skanierten Datenmenge ausgewählt wird. Wenn Sie mehrmals eine Spalte einer Tabelle nachschlagen, erstellen Sie einen Index für diese Spalte. Wenn Sie oder Ihre App Daten aus mehreren Spalten gemäß den Kriterien benötigen, erstellen Sie einen zusammengesetzten Index 2. Vermeiden Sie aus. Auswählen * Nur die erforderlichen Spalten. Wenn Sie alle unerwünschten Spalten auswählen, konsumiert dies nur mehr Serverspeicher und veranlasst den Server bei hoher Last oder Frequenzzeiten, beispielsweise die Auswahl Ihrer Tabelle, wie beispielsweise die Spalten wie innovata und updated_at und Zeitsteuer und dann zu entfernen.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Zeigen Sie die MySQL -Datenbank mit dem folgenden Befehl an: Verbindung zum Server: MySQL -U -Benutzername -P -Kennwort ausführen STEILE -Datenbanken; Befehl zum Abrufen aller vorhandenen Datenbanken auswählen Datenbank: Verwenden Sie den Datenbanknamen. Tabelle Ansicht: Tabellen anzeigen; Tabellenstruktur anzeigen: Beschreiben Sie den Tabellennamen; Daten anzeigen: Wählen Sie * aus Tabellenname;

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).
