Heim >Datenbank >MySQL-Tutorial >MySQL ermöglicht Fernzugriff

MySQL ermöglicht Fernzugriff

黄舟
黄舟Original
2017-02-15 10:53:241336Durchsuche


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:


Alle oben genannten Methoden funktionieren. Wenn Sie sich über die Befehlszeile anmelden, können Sie Folgendes tun:
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
mysql -u test (Enter)

, um sich anzumelden.

Wie lösche ich also das Passwort? Sie können Jiang Zi:

Ich bedauere die Exzellenz von MySQL. Es scheint, dass sein Konto tatsächlich durch Kontoname + Host bestimmt wird, was einem zusammengesetzten Primärschlüssel entspricht. Diese Idee ist sehr neu. Auch sehr praktisch.
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 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


Der Host des auf diese Weise erstellten Benutzers ist „%“
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 zugelassen
create 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)

, um sich anzumelden.
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:

Ich bedauere die Exzellenz von MySQL. Es scheint, dass sein Konto tatsächlich durch Kontoname + Host bestimmt wird, was einem zusammengesetzten Primärschlüssel entspricht. Diese Idee ist sehr neu. Auch sehr praktisch.

Das Obige ist der Inhalt, den MySQL für den Fernzugriff bereitstellt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!
set password for test@'%'=password('');
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