sql >> Database teknologi >  >> RDS >> Mysql

Fjernadgang til Mysql

Hvis du har fuld adgang til din server (kræver root-rettigheder):

Trin 1:rediger my.cnf (normalt placeret i /etc)

Find følgende linje:[mysqld] og sørg for linje skip-networking er kommenteret (eller fjern linje), og tilføj følgende linje:

bind-address=YOUR-SERVER-IP

For eksempel, hvis din MySQL-server IP er 66.166.170.28, skal hele blokken se ud som følger:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......

Hvor

  • bindingsadresse :IP-adresse, der skal bindes til.
  • spring over netværk :Lyt slet ikke efter TCP/IP-forbindelser. Al interaktion med mysqld skal foretages via Unix-sockets. Denne mulighed anbefales stærkt til systemer, hvor kun lokale anmodninger er tilladt. Da du skal tillade fjernforbindelse, skal denne linje fjernes fra my.cnf eller sætte den i kommentartilstand.

Trin 2:Giv adgang til alle værter

Start MySQL-skærmen med denne kommando:mysql eller /usr/local/mysql/bin/mysql . Din shell-prompt skulle nu se sådan ud:mysql> . Kør denne kommando:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";

Hvor:

  • BRUGERNAVN er det brugernavn, du bruger, når du forbinder med dit php-script.
  • ADGANGSKODE er den adgangskode, du bruger, når du opretter forbindelse.

Du skal nu tømme MySQL's privilegier. Kør denne kommando:

FLUSH PRIVILEGES;

Kør denne kommando for at afslutte MySQL:

exit;

Trin 3:genstart mysql deamon

/etc/init.d/mysqld restart

eller

/etc/init.d/mysql restart

afhængigt af hvilken linux distro din server kører i øjeblikket.



  1. Antal unikke værdier

  2. MySQL CHAR()-funktion og UTF8-output?

  3. Import af MySQL-database fra en server til en anden

  4. Hvordan skriver man oracle insert script med et felt som CLOB?