sql >> Base de Datos >  >> RDS >> Mysql

Acceso remoto Mysql

Si tiene acceso completo a su servidor (se requieren privilegios de root):

Paso 1:edite my.cnf (generalmente ubicado en /etc)

Busque la siguiente línea:[mysqld] y asegúrese de que la línea skip-networking se comenta (o elimina la línea) y agrega la siguiente línea:

bind-address=YOUR-SERVER-IP

Por ejemplo, si la IP de su servidor MySQL es 66.166.170.28, el bloque completo debería tener el siguiente aspecto:

[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
.......

donde

  • dirección de enlace :dirección IP a la que enlazar.
  • omitir redes :No escuche las conexiones TCP/IP en absoluto. Toda interacción con mysqld debe realizarse a través de sockets Unix. Esta opción es muy recomendable para sistemas en los que solo se permiten solicitudes locales. Dado que necesita permitir la conexión remota, esta línea debe eliminarse de my.cnf o ponerla en estado de comentario.

Paso 2:otorgar acceso a todos los hosts

Inicie el monitor MySQL con este comando:mysql o /usr/local/mysql/bin/mysql . Su indicador de shell ahora debería verse así:mysql> . Ejecute este comando:

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

donde:

  • NOMBRE DE USUARIO es el nombre de usuario que usa cuando se conecta usando su script php.
  • CONTRASEÑA es la contraseña que usas cuando te conectas.

Ahora debe vaciar los privilegios de MySQL. Ejecute este comando:

FLUSH PRIVILEGES;

Ejecute este comando para salir de MySQL:

exit;

Paso 3:reiniciar mysql deamon

/etc/init.d/mysqld restart

o

/etc/init.d/mysql restart

dependiendo de qué distribución de Linux esté ejecutando actualmente su servidor.