Heim  >  Artikel  >  Datenbank  >  Der MySQL-Remotecomputer importiert und exportiert Daten, sperrt die Tabelle oder sperrt einige Daten oder die gesamte Tabelle nicht

Der MySQL-Remotecomputer importiert und exportiert Daten, sperrt die Tabelle oder sperrt einige Daten oder die gesamte Tabelle nicht

黄舟
黄舟Original
2017-03-02 16:39:382824Durchsuche

Bei der Verwendung von MySQL stoße ich in letzter Zeit häufig auf die Situation, Daten zu exportieren oder zu importieren. Bei einigen einfachen Fällen können Sie die Ergebnisse jedoch häufig direkt exportieren, da die Maschine remote ist und eine Online-Maschine ist . Wenn MySQL nach einem Sprung nicht mit MySQL verknüpft werden kann, kann Navicate diese Methode nicht zum Exportieren verwenden. Ich habe einige Artikel im Internet durchsucht und den Import und Export von MySQL wie folgt zusammengefasst:

1. Exportieren Sie die Datenbank

mysqldump -h 127.0.0.1  -u name -p  dbname >name.sql

Exportieren Sie den Datenbank-Datenbanknamen von 127.0.0.1 in die Datei name.sql


2. Exportieren Sie eine bestimmte Tabelle der Datenbank

mysqldump -h 127.0.0.1  -u username -ppassword  dbname tablename >name.sql

Exportieren Sie die Tabelle „tablename“ in der Datenbank „dbname“ auf IP 127.0.0.1 in die Datei „name.sql“


3. Exportieren Sie Daten aus einer Tabelle in der Datenbank, die bestimmte Bedingungen erfüllt

mysqldump -h 127.0.0.1  -u username -ppassword  dbname tablename  --where="id>10 limit 10000" >name.sql

Oben 1. In beiden Fällen werden alle Tabellen exportiert oder Bibliotheken, aber manchmal möchten wir nur einen Teil der Daten erfüllen. Für die obige Struktur extrahiert

100 Daten mit der ID>10 in dbname und exportieren Sie sie in die Datei name.sql


4. Exportieren Sie eine Tabelle der Datenbank. Entsperren Sie die Tabelle

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction dbname  tablename>name.sql

Manchmal verfügen Sie nicht über die Berechtigung, die Tabelle beim Exportieren zu sperren. Wenn Sie beispielsweise nur über eine Leseberechtigung verfügen, verfügen Sie wahrscheinlich nicht über die Berechtigung, die Tabelle zu sperren. Fügen Sie in diesem Fall einfach einen Satz hinzu. Einzelne Transaktionen können exportiert werden, ohne die Tabelle zu sperren

Durch das Hinzufügen dieses Befehls können Daten exportiert werden, ohne die Tabelle zu sperren


5. Exportieren Sie die Tabellenstruktur einer bestimmten Tabelle in die Datenbank, ohne Daten zu exportieren

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction -d dbname  tablename>name.sql

Manchmal geht es nicht darum Beim Exportieren von Daten geht es lediglich darum, die Tabellenstruktur vollständig zu kopieren und entsprechend der Tabellenstruktur zu erstellen. In diesem Fall können Sie beispielsweise eine direkte Verbindung herstellen Zur Datenbank hinzufügen und den Befehl show create table tablename verwenden. Sie können auch die Anweisung zum Erstellen einer Tabelle abrufen. Wenn Sie nur die Tabellenstruktur exportieren möchten, können Sie -d


6. Exportieren Sie die Daten einer bestimmten Tabelle in die Datenbank, ohne die Struktur zu exportieren

mysqldump -h 127.0.0.1  -u username -ppassword --single-transaction -t dbname  tablename>name.sql
Wenn Sie möchten Um nur die Daten, aber nicht die Tabellenstruktur zu exportieren, verwenden Sie -t. Der ursprüngliche Zweck der Verwendung dieses Satzes besteht darin, die Ansicht in die Datenbank zu exportieren. Da keine Berechtigung zum Anzeigen der Ansicht vorhanden ist, kann ich es nur versuchen Es stellt sich heraus, dass es nicht möglich ist, noch einmal darüber nachzudenken und es später zu verwenden.



7. Datenbank zum Importieren

use dbname;
set names gbk;
source /d1/name/name.sql;
Beim Importieren von Daten stellen Sie einfach eine Verbindung zur Datenbank her. Sie können das Kodierungsformat vorher auf gbk oder utf-8 einstellen wird keine verstümmelten chinesischen Zeichen enthalten


8. Autorisierung


insert into mysql.user(User,Password) effects("name",password("password"));

insert into mysql.user(User,Password) values("name",password("password"));


GRANT ALL PRIVILEGES ON *.* TO "name"@'%' IDENTIFIED BY 'password';


flush privileges;


show grants for 'test_group'@'%';

Flush-Privilegien;

show grants for 'test_group'@'%';

Das Obige ist der Inhalt des Imports und Exports von Daten von einem MySQL-Remote-Computer, dem Sperren der Tabelle oder dem Nicht-Sperren der Tabelle. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn