Debugging-Umgebung: Redhat9.0Apache1.3.29Mysql3.23.58PHP4.3.4
Ich werde nicht auf die Installation des Linux-Systems eingehen. Tatsächlich sollte dieser Artikel auch auf andere Linux-Systeme wie Redhat anwendbar sein. Denken Sie daran, bei der Installation von Redhat9.0 nicht die Systemstandards Apache, MySQL, PHP und zugehörige Software zu installieren. Wenn es bereits installiert ist, löschen Sie das installierte Paket bitte mit rpm-e*.
1.Installieren Sie Mysql3.23.58
Um ehrlich zu sein, ist es tatsächlich eine praktikablere Möglichkeit, das von der offiziellen Mysql-Website bereitgestellte RPM-Paket direkt mit der Veröffentlichung des TAR-Pakets zu installieren. Zumindest die Installation des RPM-Pakets wird beim Debuggen nicht gefunden. Aber es ist immer noch notwendig, über die Schritte der benutzerdefinierten Installation zu sprechen. Schließlich gibt es eine ganze Reihe benutzerdefinierter Installationen durch Internetnutzer.
Software-Beschaffung: http://www.mysql.com/downloads/index.html
Installationsschritte:
tarzxvfmysql-3.23.58.tar.gz
cdmysql-3.23.58
./configure--prefix=/usr/local/mysql--sysconfdir=/etc--localstatedir=/var/lib/mysql
machen
makeinstall
#prefix=/usr/local/mysqlm Das Zielverzeichnis für die MySQL-Installation
#sysconfdir=/etcmy.ini-Konfigurationsdateipfad
#localstatedir=/var/lib/mysql-Datenbankspeicherpfad
Nach der Installation müssen Sie die Datenbank initialisieren. Dieser Schritt ist natürlich nicht erforderlich, wenn Sie ein Upgrade durchführen.
/usr/local/mysql/bin/mysql_install_db
Wenn das System nicht über den MySQL-Benutzer verfügt, führen Sie am besten die folgenden Schritte aus:
useradd-Mord/var/lib/mysql-s/bin/bash-c"MySQLServer"-u27mysql
Dann starte ich MySQL
/usr/local/mysql/bin/safe_mysqld&
Ok, schauen Sie zuerst, ob MySQL normal funktionieren kann
mysql-urootmysql
Unter normalen Umständen kann die Datenbank nicht normal verbunden werden und die Fehlermeldung lautet normalerweise:
FEHLER2002: Es kann keine Verbindung zum lokalen MySQL-Server über Socket'/var/lib/mysql/mysql.sock'(2) hergestellt werden.
Tatsächlich ist die am häufigsten gestellte Frage im Internet die, dass mysqld.sock nicht verlinkt werden kann. Sie können sich auch das Fehlerprotokoll von MySQL ansehen, um zu verstehen, was hier vor sich geht Befindet sich in /var/lib/mysql/ *.err, werden Sie feststellen, dass MySQL nicht gestartet werden kann, da die Berechtigungen von /var/lib/mysql keinen Zugriff auf den MySQL-Dienst zulassen. Standardmäßig ruft MySQL den MySQL-Benutzer auf Nun, da Sie den Grund kennen, können Sie ganz einfach herausfinden, warum er nicht gestartet werden kann. Wir müssen nur chown-Rmysql:mysql/var/lib/mysql ausführen. Wenn es immer noch nicht gestartet werden kann, debuggen Sie die Berechtigungen langsam. Wie auch immer, der Fehler beim Starten ist im Allgemeinen ein Berechtigungsproblem.
Wenn Sie es immer noch nicht starten können, verwenden Sie meine komplizierteren Berechtigungseinstellungen. Wie auch immer, ich mache das jedes Mal und es gibt normalerweise kein Problem.
chown-Rroot/usr/local/mysql
chgrp-Rmysql/usr/local/mysql
chown-Rroot/usr/local/mysql/bin
chgrp-Rmysql/usr/local/mysql/bin
chgrp-Rmysql/var/lib/mysql
chmod777/var/lib/mysql
chown-Rroot/var/lib/mysql/mysql
chgrp-Rmysql/var/lib/mysql/mysql
chmod777/var/lib/mysql/mysql
chown-Rroot/var/lib/mysql/mysql/*
chgrp-Rmysql/var/lib/mysql/mysql/*
chmod777/var/lib/mysql/mysql/*
chmod777/usr/local/mysql/lib/mysql/libmysqlclient.a
Nachdem Sie die oben genannten Schritte ausgeführt haben, KOPIEREN Sie ein Skript in Ihr Kompilierungsverzeichnis.
cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld
chkconfig --addmysqld
Verwenden Sie die NTSYSV-Einstellungen, um zu ermöglichen, dass MySQL bei jedem Start automatisch ausgeführt wird.
Okay, jetzt ist MySQL installiert, Sie können Ihren MySQL-Dienst wie folgt starten
/etc/rc.d/init.d/mysqldstart
Der nächste Schritt ist kritischer,
ln -s/usr/local/mysql/lib/mysql/usr/lib/mysql
ln -s/usr/local/mysql/include/mysql/usr/include/mysql
Sie müssen diesen Schritt nicht ausführen. Sie können den Bibliotheksdateipfad von myslq beim Kompilieren anderer Software anpassen, aber ich möchte die Bibliotheksdatei trotzdem mit dem Standardspeicherort verknüpfen, sodass Sie ihn beim Kompilieren nicht angeben müssen Software wie PHP, Vpopmail usw. Die Bibliotheksdateiadresse von MySQL.