Vorwort Dieser Artikel stellt hauptsächlich die relevanten Inhalte zu häufig verwendeten MySQL-Tools vor und gibt sie zu Ihrer Information und zum Lernen weiter. Schauen wir uns ohne weiteres die ausführliche Einführung an. 1. mysql (Client-Verbindungstool) Das am häufigsten verwendete Clienttool zum Herstellen einer Verbindung mit der Datenbank hat die folgende Syntax: mysql [Optionen] [Datenbank] Hier beziehen sich Optionen auf die verfügbaren Optionen von MySQL. Sie können eine oder mehrere gleichzeitig schreiben oder auch keine. Datenbank bezieht sich auf die verbundene Datenbank. Sie können nur eine gleichzeitig schreiben oder keine. Wenn Sie sie nicht schreiben, müssen Sie den Befehl „Datenbank verwenden“ verwenden, um die Datenbank einzugeben, die nach erfolgreicher Verbindung betrieben werden soll. 1. Konnektivitätsoptionen Optionen können auf verschiedene Arten ausgedrückt werden, zum Beispiel: # Alle drei Methoden sind möglich shell> mysql -u root Shell>mysql -uroot Shell> MySQL -Benutzer=Root 1. Konnektivitätsoptionen
Im Allgemeinen können Sie in der lokalen Umgebung der Einfachheit halber den aktuellen Benutzer und das aktuelle Kennwort in der Konfigurationsdatei my.cnf konfigurieren. Nach der Konfiguration können Sie MySQL direkt ausführen, um eine Verbindung zur Datenbank herzustellen: [Kunde] Benutzer=root Passwort=000000 Port = 3306 Socket = /tmp/mysql.sock Standardzeichensatz = utf8mb4 Führen Sie nach der Konfiguration einfach MySQL aus: zj@bogon:~$ mysql Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 19 ... Um sich beim Remote-Server anzumelden, müssen Sie die Adresse und den Port angeben: shell>mysql -h 192.168.10.10 -P 3306 -uroot -p Hinweis: In einer formellen Produktionsumgebung ist es aus Sicherheitsgründen im Allgemeinen erforderlich, ein Anwendungskonto zu erstellen und entsprechende Berechtigungen zu erteilen, anstatt Root zum direkten Betrieb der Datenbank zu verwenden. Der Standardport (3306) wird im Allgemeinen nicht verwendet und kann in jeden freien Port des Betriebssystems geändert werden. 2. Client-Zeichensatzoptionen --default-character-set=Zeichensatzname Als Server-Zeichensatzoption kann diese Option auch in der Gruppe [mysqld] von my.cnf konfiguriert werden. Ebenso kann es als Client-Zeichensatzoption in der Gruppe [mysql] von my.cnf konfiguriert werden, sodass dieser Client-Zeichensatz automatisch bei jeder Verbindung mit der Datenbank über das MySQL-Tool verwendet wird. Natürlich können Sie den Client-Zeichensatz auch manuell in der MySQL-Befehlszeile angeben: Shell> mysql -u Benutzer -default-character-set=Zeichensatz Dies entspricht der Ausführung nach erfolgreicher Verbindung des MySQL-Clients: Namen-Zeichensatz festlegen; 3. Ausführungsoptionen -e, --execute=name // SQL-Anweisung ausführen und beenden Mit dieser Option können SQL-Anweisungen direkt im MySQL-Client ausgeführt werden, was insbesondere für einige Batch-Skripte praktisch ist: zj@bogon:~$ mysql mysql -e "Benutzer auswählen, Host vom Benutzer" +--------------+--------------+ | Benutzer | Gastgeber | +--------------+--------------+ | Wurzel | 127.0.0.1 | | mysql.sys | lokaler Host | | Stammverzeichnis | lokaler Host | +--------------+--------------+ Auf diese Weise können Sie mehrere SQL-Anweisungen nacheinander ausführen, getrennt durch Semikolon (;). 4. Formatierungsoptionen
Die Option „-E“ ähnelt dem Hinzufügen von „G“ nach der Ausführung einer SQL-Anweisung in MySQL und wird häufig zusammen mit -e verwendet. 2. myisampack (Myisam-Tabellenkomprimierungstool) myisampack ist ein Tabellenkomprimierungstool, das die Tabellen der Myisam-Speicher-Engine mit einer sehr hohen Komprimierungsrate komprimieren kann, sodass die komprimierte Tabelle viel weniger Speicherplatz einnimmt als vor der Komprimierung. Die komprimierte Tabelle wird jedoch zu einer schreibgeschützten Tabelle und es können keine DML-Operationen ausgeführt werden. 3. mysqladmin (MySQL-Verwaltungstool) mysqladmin ist ein Client-Programm zum Ausführen administrativer Vorgänge. Sie können damit die Konfiguration und den aktuellen Status des Servers überprüfen, Datenbanken erstellen und löschen usw. Seine Funktionalität ist der des MySQL-Clients sehr ähnlich. Der Hauptunterschied besteht darin, dass er sich mehr auf einige Verwaltungsfunktionen konzentriert. Verwenden Sie die Syntax: Shell> mysqladmin [Optionen] Befehl [Befehlsoptionen] … Die folgenden Befehle können ausgeführt werden: create databasename Erstellt eine neue Datenbank debug Weist den Server an, Debug-Informationen ins Protokoll zu schreiben drop databasename Löscht eine Datenbank und alle ihre Tabellen extended-status Gibt eine erweiterte Statusmeldung vom Server aus flush-hosts Leert alle zwischengespeicherten Hosts flush-logs Alle Protokolle leeren Flush-Status – Statusvariablen löschen flush-tables Alle Tabellen leeren flush-threads Leert den Thread-Cache flush-privileges Berechtigungstabellen neu laden (dasselbe wie reload) kill id,id,... MySQL-Threads beenden Passwort [neues Passwort] Altes Passwort in neues Passwort im aktuellen Format ändern ping Überprüfe, ob mysqld aktiv ist processlist Liste der aktiven Threads auf dem Server anzeigen neu laden Berechtigungstabellen neu laden Aktualisieren Alle Tabellen leeren und Logdateien schließen und öffnen shutdown Server herunterfahren status Gibt eine kurze Statusmeldung vom Server aus start-slave Slave starten stop-slave Slave stoppen variables Druckt verfügbare Variablen version Versionsinformationen vom Server abrufen Beispiel: zj@bogon:/usr/local/mysql/bin$ mysqladmin -uroot -p shutdown Passwort eingeben: 4. Tools zur Protokollverwaltung Da die vom Server generierten Binärdateien im Binärformat gespeichert werden, verwenden Sie das Protokollverwaltungstool mysqlbinlog, wenn Sie das Textformat dieser Dateien überprüfen möchten. Die Verwendung ist wie folgt: Shell> mysqlbinlog [Option] Logdatei1 Logdatei2… Es gibt viele Möglichkeiten:
1. Beispielvorbereitung: Erstellen Sie ein neues Protokoll, erstellen Sie neue Datenbanken t1 und t2 und erstellen Sie jeweils neue Tabellen test1 und test2 MySQL [(keine)]> Master zurücksetzen; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) MySQL [(keine)]> Tabelle t1 erstellen (ID int, Name varchar); FEHLER 1046 (3D000): Keine Datenbank ausgewählt MySQL [(keine)]> Master zurücksetzen; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) MySQL [(keine)]> Datenbank t1 erstellen; Abfrage OK, 1 Zeile betroffen (0,04 Sek.) MySQL [(keine)]> Datenbank t2 erstellen; Abfrage OK, 1 Zeile betroffen (0,02 Sek.) MySQL [(keine)]> verwende t1; Datenbank geändert MySQL [t1]> Tabelle erstellen test1(id int, name varchar(30)); Abfrage OK, 0 Zeilen betroffen (0,11 Sek.) MySQL [t1]> in test1 Wert einfügen (1,'zj'); Abfrage OK, 1 Zeile betroffen (0,14 Sek.) MySQL [t1]> in test1 Wert einfügen (2,'zj2'); Abfrage OK, 1 Zeile betroffen (0,02 Sek.) MySQL [t1]> verwende t2; Datenbank geändert MySQL [t2]> Tabelle erstellen test2(id int,name varchar(30)); Abfrage OK, 0 Zeilen betroffen (0,02 Sek.) MySQL [t2]> in test2 einfügen, select * from t1.test1; Abfrage OK, 2 Zeilen betroffen (0,03 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 MySQL [t2]> wähle * aus t1.test1; +------+------+ | Ich würde | Name | +------+------+ | 1 | zj | | 2 | zj2 | +------+------+ 2 Zeilen im Satz (0,02 Sek.) MySQL [t2]> wähle * aus test2; +------+------+ | Ich würde | Name | +------+------+ | 1 | zj | | 2 | zj2 | +------+------+ 2 Zeilen im Satz (0,00 Sek.) 2. Alle Protokolle anzeigen, ohne Parameter hinzuzufügen Hinweis: Sie müssen über die Berechtigung zum Zugriff auf die Zieldatei verfügen. zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 [sudo] Passwort für zj: /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; TRENNUNGSZEICHEN /*!*/; # bei 4 #170920 20:44:49 Server-ID 1 end_log_pos 123 CRC32 0x42fd5a4d Start: Binlog v 4, Server v 5.7.18-Log erstellt 170920 20:44:49 beim Start ...... Tabelle erstellen test2(id int,name varchar(30)) /*!*/; # bei 1366 #170920 20:50:29 Server-ID 1 End-Log-Pos 1431 CRC32 0x18a95938 Anonymous_GTID last_committed=6 Sequenznummer=7 SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/; # bei 1431 #170920 20:50:29 Server-ID 1 End-Log-Pos 1509 CRC32 0x2fa8bd6c Abfrage Thread-ID = 4 Exec-Zeit = 0 Fehlercode = 0 ZEITSTEMPEL EINSTELLEN=1505911829/*!*/; BEGINNEN /*!*/; # bei 1509 #170920 20:50:29 Server-ID 1 end_log_pos 1622 CRC32 0x77ce6f3b Abfrage Thread-ID = 4 Exec_time = 0 Fehlercode = 0 ZEITSTEMPEL EINSTELLEN=1505911829/*!*/; in test2 einfügen, * aus t1.test1 auswählen /*!*/; # bei 1622 #170920 20:50:29 Server-ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 BEGEHEN /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* hinzugefügt von mysqlbinlog */ /*!*/; TRENNUNGSZEICHEN ; # Ende der Protokolldatei /*!50003 SETZEN SIE COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=0*/; 3. Fügen Sie die Option -d hinzu, um nur das Betriebsprotokoll der t2-Datenbank anzuzeigen zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -d t2 /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; ...... ZEITSTEMPEL EINSTELLEN=1505911829/*!*/; in test2 einfügen, * aus t1.test1 auswählen /*!*/; # bei 1622 #170920 20:50:29 Server-ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 BEGEHEN /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* hinzugefügt von mysqlbinlog */ /*!*/; TRENNUNGSZEICHEN ; # Ende der Protokolldatei /*!50003 SETZEN SIE COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=0*/; 4. Fügen Sie die Option -o hinzu, um die ersten 20 Befehlszeilen zu ignorieren zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; TRENNUNGSZEICHEN /*!*/; # bei 4 #170920 20:44:49 Server-ID 1 end_log_pos 123 CRC32 0x42fd5a4d Start: Binlog v 4, Server v 5.7.18-Log erstellt 170920 20:44:49 beim Start # Warnung: Dieses Binärprotokoll wird entweder verwendet oder wurde nicht ordnungsgemäß geschlossen. ROLLBACK/*!*/; BINLOG ' wWLCWQ8BAAAAdwAAAHsAAAABAAQANS43LjE4LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADBYsJZEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA AU1a/UI= '/*!*/; # bei 1509 #170920 20:50:29 Server-ID 1 End-Log-Pos 1622 CRC32 0x77ce6f3b Abfrage Thread-ID = 4 Exec-Zeit = 0 Fehlercode = 0 verwende `t2`/*!*/; ZEITSTEMPEL EINSTELLEN=1505911829/*!*/; SET @@session.pseudo_thread_id=4/*!*/; SETZEN Sie @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SETZEN Sie @@session.sql_mode=1436549152/*!*/; SETZEN Sie @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; /*!\C utf8mb4 *//*!*/; SETZEN @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/; SETZEN @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; in test2 einfügen, * aus t1.test1 auswählen /*!*/; # bei 1622 #170920 20:50:29 Server-ID 1 end_log_pos 1653 CRC32 0x41b7a45b Xid = 29 BEGEHEN /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* hinzugefügt von mysqlbinlog */ /*!*/; TRENNUNGSZEICHEN ; # Ende der Protokolldatei /*!50003 SETZEN SIE COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=0*/; 5. Fügen Sie die Option -r hinzu, um die obigen Ergebnisse in die Datei „resultfile“ auszugeben. zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -r ./logfile zj@bogon:/usr/local/mysql/bin$ sudo mehr ./logfile /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; ... 6. Die Ergebnisse zeigen viel Inhalt, was unübersichtlich ist. Fügen Sie die Option -s hinzu, um den obigen Inhalt auf einfache Weise anzuzeigen. zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 -o 20 -s /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SETZEN @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; TRENNUNGSZEICHEN /*!*/; ROLLBACK/*!*/; verwende `t2`/*!*/; ZEITSTEMPEL EINSTELLEN=1505911829/*!*/; SET @@session.pseudo_thread_id=999999999/*!*/; SETZEN Sie @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/; SETZEN Sie @@session.sql_mode=1436549152/*!*/; SETZEN Sie @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; /*!\C utf8mb4 *//*!*/; SETZEN @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/; SETZEN @@session.lc_time_names=0/*!*/; SET @@session.collation_database=DEFAULT/*!*/; in test2 einfügen, * aus t1.test1 auswählen /*!*/; BEGEHEN /*!*/; SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* hinzugefügt von mysqlbinlog */ /*!*/; TRENNUNGSZEICHEN ; # Ende der Protokolldatei /*!50003 SETZEN SIE COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; /*!50530 SETZEN @@SESSION.PSEUDO_SLAVE_MODE=0*/; 7. Fügen Sie die Optionen „--start-datetime --stop-datetime“ hinzu, um Protokolle zwischen 5:00:00 und 5:01:00 anzuzeigen zj@bogon:/usr/local/mysql/bin$ sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-datetime="2017/09/30 05:00:00" --stop-datetime='2017/09/30 05:01:00' Sie können nur eines der Start- und Enddatum eingeben. Wenn Sie nur das Startdatum angeben, bedeutet dies, dass der Bereich vom Startdatum bis zum Ende des Protokolls reicht. Wenn Sie nur das Enddatum angeben, bedeutet dies, dass das Protokoll bis zum angegebenen Enddatum beginnt. 8. --start-position=# und --stop-position=#, ähnlich wie Datumsbereich, kann den Bereich jedoch genauer ausdrücken. sudo ./mysqlbinlog --no-defaults /data/mysql/mysql-bin.000001 --start-position=4 --stop-datetime=100 5. mysqlcheck (Myisam-Tabellenwartungstool) Das Tool mysqlcheck kann MyISAM-Tabellen überprüfen und reparieren sowie Tabellen optimieren und analysieren. Tatsächlich integriert es die Prüf-, Reparatur-, Analyse- und Optimierungsfunktionen in das MySQL-Tool. Es gibt drei Möglichkeiten, mysqlcheck aufzurufen: Shell> mysqlcheck [Optionen] db_name [Tabellen] Shell> mysqlcheck [Optionen] --database DB1 [DB2 DB3...] Shell> mysqlcheck [Optionen] --all-database Die folgenden Optionen sind gebräuchlich:
Die Standardoption ist -c (Checkliste) Beispiel: 1. Checklist zj@bogon:/data/mysql$ mysqlcheck -c t2 t2.test1 OK t2.test2 OK 2. Reparaturtisch zj@bogon:/data/mysql$ mysqlcheck -r t2 t2.test1 Hinweis: Die Speicher-Engine für die Tabelle unterstützt keine Reparatur t2.test2 OK Die Speicher-Engine der Tabelle test1 ist innodb, die keine Reparatur unterstützt. 3. Analysetabelle zj@bogon:/data/mysql$ mysqlcheck -a t2 t2.test1 OK t2.test2 OK 4. Tabelle optimieren zj@bogon:/data/mysql$ mysqlcheck -o t2 t2.test1 Hinweis: Die Tabelle unterstützt keine Optimierung. Stattdessen werden „Neu erstellen + analysieren“ ausgeführt. Status: OK t2.test2 6. mysqldump (Datenexporttool) Das Clienttool mysqldump wird zum Sichern der Datenbank oder zum Migrieren von Daten zwischen verschiedenen Datenbanken verwendet. Der Sicherungsinhalt umfasst die SQL-Anweisungen zum Erstellen oder Laden von Tabellen. Es gibt drei Möglichkeiten, mysqldump aufzurufen: mysqldump [OPTIONEN] database [tables] //Eine einzelne Datenbank oder einige Tabellen in der Datenbank sichernmysqldump [OPTIONEN] --databases [OPTIONEN] DB1 [DB2 DB3...] //Eine oder mehrere angegebene Datenbanken sichernmysqldump [OPTIONEN] --all-databases [OPTIONEN] //Alle Datenbanken sichern 1. Konnektivitätsoptionen
Beispiel: shell>mysqldump -h192.18.10.10 -p3306 -uroot -p test > test.sql 2. Ausgabeinhaltsoptionen
Standardmäßig werden beide Parameter automatisch hinzugefügt.
3. Ausgabeformatoptionen Die Option --compact prägt die Ausgabe und schließt verschiedene Kommentare in den Standardoptionen aus. root@bogon:/usr/local/mysql/bin# ./mysqldump --compact t2 emp > emp.sql root@bogon:/usr/local/mysql/bin# mehr emp.sql /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET Zeichensatzclient = utf8 */; CREATE TABLE `emp` ( `id` int(11) NICHT NULL STANDARD '0', `name` varchar(10) DEFAULT NULL, `Kontext`-Text, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8mb4; /*!40101 SET Zeichensatzclient = @saved_cs_client */; INSERT INTO `emp` VALUES (1,'a','a'),(2,'b','b'); Die Option -c oder --complete-insert bewirkt, dass die Einfügeanweisungen in der Ausgabedatei die Feldnamen einschließen, die standardmäßig nicht eingeschlossen sind. root@bogon:/usr/local/mysql/bin# ./mysqldump -c --compact t2 emp > emp.sql root@bogon:/usr/local/mysql/bin# mehr emp.sql /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET Zeichensatzclient = utf8 */; CREATE TABLE `emp` ( `id` int(11) NICHT NULL STANDARD '0', `name` varchar(10) DEFAULT NULL, `Kontext`-Text, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8mb4; /*!40101 SET Zeichensatzclient = @saved_cs_client */; INSERT INTO `emp` (`id`, `name`, `kontext`) WERTE (1,'a','a'),(2,'b','b'); Die Option -T sichert die Daten in der angegebenen Datentabelle in zwei Dateien: einfacher Datentext und SQL zur Tabellenerstellung. Sie wird häufig in Verbindung mit den folgenden Optionen verwendet, um Daten zur Anzeige in ein angegebenes Format zu exportieren.
Beispiel: Exportieren Sie die EMP-Tabelle in der T2-Datenbank in zwei Dateien: eine einfache Datentextdatei und eine SQL-Datei zur Tabellenerstellung, und speichern Sie sie im Bak-Verzeichnis unter dem aktuellen Pfad. 1. Erstellen Sie ein Backup-Verzeichnis root@bogon:/usr/local/mysql/bin# mkdir bak 2. Sichern Sie die emp-Tabelle unter der t2-Datenbank im bak-Verzeichnis root@bogon:/usr/local/mysql/bin# ./mysqldump t2 emp -T ./bak 3. Überprüfen Sie das Bak-Verzeichnis und finden Sie zwei Dateien root@bogon:/usr/local/mysql/bin# ls ./bak emp.sql emp.txt 4. Überprüfen Sie den Inhalt der beiden Dateien. Die Datei mit der Endung .sql enthält das SQL zum Erstellen der Tabelle und Einfügen der Daten, die Datei mit der Endung .txt enthält die Tabellendaten. root@bogon:/usr/local/mysql/bin# mehr ./bak/emp.sql -- MySQL Dump 10.13 Distrib 5.7.18, für Linux (x86_64) -- -- Host: localhost Datenbank: t2 -- ------------------------------------------------------ --Serverversion 5.7.18-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 NAMEN FESTLEGEN utf8mb4 */; /*!40103 SETZEN @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SETZE ZEITZONE='+00:00' */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Tabellenstruktur für Tabelle „emp“ -- Tabelle löschen, wenn `emp` vorhanden ist; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET Zeichensatzclient = utf8 */; CREATE TABLE `emp` ( `id` int(11) NICHT NULL STANDARD '0', `name` varchar(10) DEFAULT NULL, `Kontext`-Text, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8mb4; /*!40101 SET Zeichensatzclient = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40101 SET CHARACTER_SET_CLIENT=@ALTER_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@ALTE_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump abgeschlossen am 21.09.2017 12:07:38 root@bogon:/usr/local/mysql/bin# mehr ./bak/emp.txt 1aa 2 bb 4. Zeichensatzoptionen Der Zeichensatz der von mysqldump exportierten Daten verwendet den Standardzeichensatz, wenn mysqld gestartet wird. Wenn der Zeichensatz der Tabelle nicht der Standardzeichensatz ist, können in den exportierten Daten verstümmelte Zeichen auftreten. Daher sollten Sie beim Exportieren zuerst den Zeichensatz der Tabelle bestimmen und dann beim Exportieren den Zeichensatz angeben. Shell> mysqldump -uroot --compact --default-character-set=utf8 t2 emp > emp.sql 5. Andere gängige Optionen -F --flush-logs (Protokolle vor dem Backup leeren) Mit dieser Option wird das alte Protokoll geschlossen und vor der Sicherung ein neues Protokoll erstellt. Auf diese Weise können Sie bei der Wiederherstellung direkt mit der Neuausführung anhand des neuen Protokolls beginnen, was den Wiederherstellungsvorgang erheblich vereinfacht. -l --lock-tables (Lesesperre zu allen Tabellen hinzufügen) Es kann während der Sicherung verwendet werden, um zu verhindern, dass Daten aktualisiert werden, und so die Konsistenz der gesicherten Daten zu wahren. Es kann zusammen mit der Option -F verwendet werden. 7. mysqlimport (Datenimporttool) mysqlimport ist ein clientseitiges Datenimporttool zum Importieren von Textdateien, die von mysqldump mit der Option -T exportiert wurden. Grundlegende Verwendung: shell> mysqlimport [Optionen] db_name textdatei1 8. mysqlshow (Tool zum Anzeigen von Datenbankobjekten) mysqlshow ist ein Client-Objektsuchtool, mit dem Sie schnell herausfinden können, welche Datenbanken, Tabellen in einer Datenbank, Spalten in einer Tabelle oder Indizes vorhanden sind. Es ist dem mysql-Clienttool sehr ähnlich, verfügt jedoch über einige Funktionen, die das mysql-Clienttool nicht hat. Anwendung: shell> mysqlshow [Option] [Datenbankname [Tabellenname [Spaltenname]]] Wenn keine Optionen angegeben sind, werden standardmäßig alle Datenbanken angezeigt. Allgemeine Optionen: 1. --count (Datenbank- und Tabellenstatistiken anzeigen) Wenn keine Datenbank angegeben ist, werden der Name, die Anzahl der Tabellen und die Anzahl der Datensätze jeder Datenbank angezeigt. Wenn eine Datenbank angegeben ist, werden alle Tabellennamen, die Anzahl der Felder und die Anzahl der Datensätze der angegebenen Datenbank angezeigt. Wenn eine bestimmte Tabelle in einer bestimmten Datenbank angegeben ist, werden die Feldinformationen der Tabelle angezeigt. 2. -k oder --keys (alle Indizes in der angegebenen Tabelle anzeigen) Diese Option zeigt zwei Teile an, einer ist die Tabellenstruktur der angegebenen Tabelle und der andere sind die aktuellen Indexinformationen der angegebenen Tabelle. 3. -i oder --status (zeigt einige Statusinformationen der Tabelle an) 9. perror (Tool zur Anzeige von Fehlercodes) Bei der Verwendung von MySQL können verschiedene Fehler auftreten. Einige dieser Fehler werden durch das Betriebssystem verursacht, beispielsweise das Nichtvorhandensein von Dateien oder Verzeichnissen. Andere werden durch unsachgemäßen Gebrauch der Speicher-Engine verursacht. Diese Fehler haben normalerweise einen Code ähnlich „Fehler: #“ oder „Errcode: #“, wobei „#“ die spezifische Fehlernummer darstellt. Die Rolle von perror besteht darin, die detaillierte Bedeutung dieser Fehlercodes zu erklären: perror [Optionen] [Fehlercode [Fehlercode]] zj@bogon:/usr/local/mysql/bin$ perror 30 OS-Fehlercode 30: Nur-Lese-Dateisystem zj@bogon:/usr/local/mysql/bin$ perror 60 OS-Fehlercode 60: Gerät kein Stream zj@bogon:/usr/local/mysql/bin$ perror 30 60 OS-Fehlercode 30: Nur-Lese-Dateisystem OS-Fehlercode 60: Gerät kein Stream Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Der beste Weg, ein JAR-Paketprojekt unter einem Centos7-Server zu starten
>>: Detaillierte Erklärung der CocosCreator MVC-Architektur
1. Installation von Docker unter CentOS8 curl htt...
Verzögertes Laden (Lazy Loading) und Vorladen sin...
Die Indizierung ähnelt dem Erstellen bibliografis...
Inhaltsverzeichnis Typische Wasserfall-Website Wa...
1. Hintergrund Auf jeder OLTP-Datenbankinstanz vo...
1. Problem Mehrere schwebende Elemente können die...
1. Über die Registrierung Der offizielle Docker-H...
In diesem Artikelbeispiel wird der spezifische Co...
Zuerst ist die Idee Um diesen Effekt zu erzielen,...
Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...
Wie kann ich nach dem Bearbeiten einer Datei in L...
Vorwort Vor Feierabend erhielt der Autor eine Anf...
Vorwort Jede Anwendung, die in JavaScript geschri...
1. Um die Abfrage zu optimieren, sollten Sie voll...
Eine MySQL-ähnliche PHP-Switch-Case-Anweisung. wä...