Auf MySQL kann standardmäßig nicht aus der Ferne zugegriffen werden.
was! Wie ist das möglich! Dongdong, das von allen so gelobt wurde, ist eigentlich eine eigenständige Version, die zu Spielzeug ist.
Eigentlich gilt dies nur für das neu installierte MySQL. Das neu installierte MySQL hat nur ein Konto, das Administrator-Root, und es kann nur lokal darauf zugegriffen werden. Daran scheint nichts auszusetzen (aber vorsichtiger?).
Wie können wir also den Fernzugriff ermöglichen, um beispielsweise anderen Computern im selben LAN den Zugriff auf die Datenbank zu ermöglichen?
Gehen Sie davon aus, dass die anfängliche Kontosituation von neu installiertem MYSQL wie folgt ist:
+------+-----------+| user | host | +------+-----------+| root | 127.0.0.1 | | root | ::1 || root | localhost | +------+-----------+3 rows in set (0.14 sec)
Nach einer Online-Suche sagten einige Experten, dass Sie den Host in „%“ ändern können, damit er Kann von allen besuchten Maschinen verwendet werden.
Die Situation, mit der ich jetzt konfrontiert bin, ist jedoch, dass es ein System gibt, das von einem Dritten entwickelt wurde, und wir Daten aus seiner Datenbank lesen müssen. Sein Konto ist standardmäßig auf das oben genannte Konto eingestellt, auf das nur lokal zugegriffen werden kann. Muss ich sein Konto ändern? Es scheint, dass die Änderung sehr gering ist und kein Risiko bestehen sollte, aber es fühlt sich trotzdem falsch an.
Im Grunde basieren jedoch alle Tutorials im Internet auf dem Argument, den Host in „%“ zu ändern, und es gibt viele Artikel auf der Welt.
Ich denke, die Idee sollte so aussehen:
1. Erstellen Sie einen Benutzer
2. Gewähren Sie diesem Benutzer den Fernzugriff
Nach dem Test war es erfolgreich. Die Schritte sind wie folgt:
1. Erstellen Sie einen Benutzer
create user 'test' identified by '123456'
Der Host des auf diese Weise erstellten Benutzers ist „%“
Wenn Sie den Zugriff auf einen beschränken möchten Bestimmte IP, Sie können Jiangzi verwenden:
create user 'test'@'192.168.0.164' identified by '123456'
Okay, jetzt haben Sie einen Benutzer erstellt und den Fernzugriff zugelassen
2 >
Hier alle Berechtigungen der Datenbank db1 Alle zum Testen zugewiesen.grant all on db1.* to test@'%';
Auf diese Weise kann test verwendet werden, um auf die MySQL-Datenbank zuzugreifen.
3. Löschen Sie das Passwort
Für dieses Drittanbietersystem lautet das MySQL-Konto root und das Passwort ist leer. Wie schreibe ich es in die Verbindungszeichenfolge? Es stellt sich heraus, dass es drei Möglichkeiten zum Schreiben gibt:server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1mysql -u test (Enter)
, um sich anzumelden.
Wie lösche ich also das Passwort? Sie können Jiang Zi:
set password for test@'%'=password('');
Auf MySQL kann standardmäßig nicht aus der Ferne zugegriffen werden.
was! Wie ist das möglich! Dongdong, das von allen so gelobt wurde, ist eigentlich eine eigenständige Version, die zu Spielzeug ist.
Eigentlich gilt dies nur für das neu installierte MySQL. Das neu installierte MySQL hat nur ein Konto, das Administrator-Root, und es kann nur lokal darauf zugegriffen werden. Daran scheint nichts auszusetzen (aber vorsichtiger?).
Wie können wir also den Fernzugriff ermöglichen, um beispielsweise anderen Computern im selben LAN den Zugriff auf die Datenbank zu ermöglichen?
Gehen Sie davon aus, dass die anfängliche Kontosituation von neu installiertem MYSQL wie folgt ist:
Nach einer Online-Suche sagten einige Experten, dass Sie den Host in „%“ ändern können, damit dies der Fall ist Kann von allen besuchten Maschinen verwendet werden.+------+-----------+| user | host | +------+-----------+| root | 127.0.0.1 | | root | ::1 || root | localhost | +------+-----------+3 rows in set (0.14 sec)
Die Situation, mit der ich jetzt konfrontiert bin, ist jedoch, dass es ein System gibt, das von einem Dritten entwickelt wurde, und wir Daten aus seiner Datenbank lesen müssen. Standardmäßig ähnelt sein Konto dem oben genannten und kann nur lokal aufgerufen werden. Muss ich sein Konto ändern? Es scheint, dass die Änderung sehr gering ist und kein Risiko bestehen sollte, aber es fühlt sich trotzdem falsch an.
Im Grunde basieren jedoch alle Tutorials im Internet auf dem Argument, den Host in „%“ zu ändern, und es gibt viele Artikel auf der Welt.
Ich denke, die Idee sollte so aussehen:
1. Erstellen Sie einen Benutzer2. Gewähren Sie diesem Benutzer den Fernzugriff1. Erstellen Sie einen BenutzerNach dem Test war es erfolgreich. Die Schritte sind wie folgt:
create user 'test' identified by '123456'
Wenn Sie den Zugriff auf einen beschränken möchten Bestimmte IP, Sie können Jiangzi verwenden:
Okay, jetzt haben Sie einen Benutzer erstellt und den Fernzugriff zugelassencreate user 'test'@'192.168.0.164' identified by '123456'
2 >
Hier alle Berechtigungen der Datenbank db1 Alle zum Testen zugewiesen. Auf diese Weise kann test verwendet werden, um auf die MySQL-Datenbank zuzugreifen.grant all on db1.* to test@'%';
3. Löschen Sie das Passwort
Für dieses Drittanbietersystem lautet das MySQL-Konto root und das Passwort ist leer. Wie schreibe ich es in die Verbindungszeichenfolge? Es stellt sich heraus, dass es drei Möglichkeiten zum Schreiben gibt:Alle oben genannten Methoden funktionieren. Wenn Sie sich über die Befehlszeile anmelden, können Sie Folgendes tun:
mysql -u test (Enter)
server=192.168.128.130; user id=test; password=;database=db1server=192.168.128.130; user id=test; password='';database=db1server=192.168.128.130; user id=test; database=db1
Wie lösche ich also das Passwort? Sie können Jiang Zi:
set password for test@'%'=password('');