Ich führe Ubuntu als Gast auf einem Windows 7-Hostcomputer aus. Zum Ausführen der Gäste verwende ich VMware Workstation.
Ich habe MySQL auf dem Host installiert. Ich möchte von meinem Ubuntu-Gast auf diese MySQL-Datenbank zugreifen. Im Grunde versuche ich, mit Django eine Beispielanwendung auf meinem Ubuntu-Gast zu entwickeln, und dafür brauche ich MySQL. Ich habe eine sehr langsame Internetverbindung, daher kann ich MySQL für Ubuntu nicht herunterladen, und ich habe Python nicht auf meinem Host-Betriebssystem installiert.
Wie kann ich vom Ubuntu-Gast aus eine Verbindung zur MySQL-Datenbank herstellen?
Antwort1
Sie müssen die Tabelle mysql.user überprüfen
Normalerweise können Sie diese Abfrage ausführen, um die Benutzernamen, Hostadressen und MD5-verschlüsselten Passwörter anzuzeigen.
SELECT user,host,password FROM mysql.user;
BEISPIEL #1: Lassen Sie uns einen Benutzer namens „myclient“ erstellen, der sich von einem Ubuntu-Server mit der IP-Adresse „123.50.89.191“ aus mit MySQL verbindet und der uneingeschränkt auf alles in der Datenbank „mydata“ zugreifen und es bearbeiten kann. Das Passwort lautet „permission“;
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY 'permission';
BEISPIEL #2: Lassen Sie uns einen Benutzer namens „myreadclient“ erstellen, der sich von einem Ubuntu-Server mit der IP-Adresse „123.50.89.191“ aus mit MySQL verbindet und der nur alles in der Datenbank „mydata“ einfügen und auswählen kann. Das Passwort lautet „readpermission“;
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY 'readpermission';
Weitere Informationen zum Erstellen von Benutzern mit bestimmten Berechtigungen finden Sie unterBitte folgen Sie dieser URL.
Versuche es !!!
VORBEHALT
Es ist immer besser, Passwörter im MD5-Format einzurichten, als Passwörter im Klartext.
Beispiel
mysql> SET @X=PASSWORD('permission');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *1D6447E2F5B7AFD0E27D8E6CCA53099BE980803C |
+-------------------------------------------+
1 row in set (0.00 sec)
Legen Sie nun das Passwort für das erste Beispiel wie folgt fest:
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
Hier ist das zweite Beispiel im MD5-Format
mysql> SET @X=PASSWORD('readpermission');
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *22DA1CEDDBA3B75FD193775AC69D9184105F0BE0 |
+-------------------------------------------+
1 row in set (0.00 sec)
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
Dadurch wird verhindert, dass das Kennwort im Klartext in Binärprotokollen oder anderen Dateien aufgezeichnet wird, die MySQL-Clientsitzungen aufzeichnen.