GDB-Debugging, MySQL-Kompilierung und Installation des tatsächlichen Kampfquellcodes

GDB-Debugging, MySQL-Kompilierung und Installation des tatsächlichen Kampfquellcodes

Quellcode herunterladen

Git-Klon https://github.com/mysql/mysql-server.git
cd MySQL-Server
git checkout 5.7

Kompilieren und installieren

Abhängigkeiten installieren

yum install -y cmake make gcc gcc-c++ ncurses-devel bison gdb

Beachten Sie, dass Sie den Boost-Pfad angeben müssen, der beim Ausführen von cmake automatisch heruntergeladen wird.

cd BUILD; 
cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<Verzeichnis> -DWITH_DEBUG=1 -DWITH_UNIT_TESTS=off
machen 
installieren

Abschließend wird das Programm im Verzeichnis /usr/local/mysql installiert

Erstellen Sie einen dedizierten Benutzer

MySQL-Gruppenadd
useradd -s /sbin/nologin -M -g mysql mysql

Initialisieren der Datenbank

cd /usr/local/mysql/
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
2019-02-01T07:45:58.147032Z 1 [Hinweis] Ein temporäres Passwort wird für root@localhost generiert: jss<swtX.8og

Herstellen einer Verbindung zu einer Datenbank

[root@bogon bin]# ./mysql -h localhost -uroot
FEHLER 2002 (HY000): Verbindung zum lokalen MySQL-Server über Socket '/tmp/mysql.sock' nicht möglich (2)

Es stellt sich heraus, dass die Client-Socket-Datei nicht in der Konfigurationsdatei fixiert ist.

Katze /etc/my.cnf
[mysqld]
Datenverzeichnis=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Das Deaktivieren symbolischer Links wird empfohlen, um verschiedene Sicherheitsrisiken zu vermeiden
symbolische Links = 0
# Benutzer- und Gruppeneinstellungen werden ignoriert, wenn systemd verwendet wird.
# Wenn Sie mysqld unter einem anderen Benutzer oder einer anderen Gruppe ausführen müssen,
# Passen Sie Ihre Systemd-Unit-Datei für MariaDB entsprechend der
# Anweisungen unter http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-Datei=/var/run/mariadb/mariadb.pid
#
# alle Dateien aus dem Konfigurationsverzeichnis einbinden
#
!includedir /etc/my.cnf.d

Zunahme

[Kunde]
Standardzeichensatz = utf8
socket=/var/lib/mysql/mysql.sock
[mysql]
Standardzeichensatz = utf8
socket=/var/lib/mysql/mysql.sock

Stellen Sie die Verbindung erneut her, dann ist alles ok.

Ändern des Standardkennworts

PASSWORT FESTLEGEN = PASSWORT('123456');
ALTER USER 'root'@'localhost' PASSWORT LÄUFT NIE AB;
Berechtigungen leeren;

Testdaten importieren

/usr/local/mysql/bin/mysql -uroot -p123456 test < artikel_rank.sql

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Der Mysql LONGBLOB-Typ speichert Binärdaten (Änderung + Debuggen + Sortieren)
  • Der Mysql LONGTEXT-Typ speichert große Dateien (binär ist auch möglich) (Änderung + Debuggen + Sortieren)
  • Mysql-Einfügen von Chinesisch und chinesische Abfrage (Änderung + Debuggen)
  • Konfiguration einer PHP-Debugging-Umgebung für Anfänger (IIS+PHP+MYSQL)
  • Verwandte Methoden des MySQL UDF-Debugmodus debugview
  • Teilen Sie 101 MySQL-Debugging- und Optimierungstipps
  • Wie MLSQL Stack das Stream-Debugging vereinfacht

<<:  Installieren Sie Docker für Windows unter Windows 10 Home Edition

>>:  JavaScript-Canvas zum Erzielen eines Code-Rain-Effekts

Artikel empfehlen

Docker-Installations- und Konfigurationsschritte für RabbitMQ

Inhaltsverzeichnis Bereitstellung auf einem einze...

So passen Sie Docker-Images mit Dockerfile an

Anpassen von Bildern mit Dockerfile Unter Bildanp...

Analyse des Consul-Konfigurationsprozesses für die Docker-Bereitstellung

Befehl ausführen docker run -d --name consul -p 8...

Stellen Sie IE8 so ein, dass Code im IE7-Stil verwendet wird

<meta http-equiv="x-ua-kompatibel" co...

Detaillierte Schritte zur Entwicklung von WeChat-Miniprogrammen mit Typescript

Auf die Vorteile von Typescript müssen wir nicht ...

Detaillierte Erklärung zur Erstellung von Schießspielen mit CocosCreator

Inhaltsverzeichnis Szeneneinstellung Spielressour...

Einige Erfahrungen zum Aktivieren von HTTPS

Da sich die heimische Netzwerkumgebung immer weit...

Reparaturlösung für inkonsistenten MySQL GTID-Master und -Slave

Inhaltsverzeichnis Lösung 1: Replikate neu erstel...