Pregunta MySQL no se iniciará después de configurar la dirección de enlace externa


Quiero habilitar el acceso remoto a mi servidor MySQL, así que configuré la opción de dirección de enlace en [mysqld], que se parece a:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
bind-address=**.**.**.66
port=3306
# skip-networking
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

Cuando comento bind-address, el servidor se inicia normalmente. Sin embargo, cuando lo comento no se reiniciará. El puerto está abierto y escucha.

¿Puedes ayudarme por favor a resolver esto? Gracias


5
2017-07-19 00:31


origen


**.**.**.66 no es una dirección IP válida ... - womble♦
@womble, ¿eh? ¿No es eso simplemente una ofuscación de dirección estándar? - Zoredache
@Zoredache: No lo sabemos, ¿verdad? Tal vez eso es lo que él puso, y por eso no está funcionando. La forma correcta de ofuscar direcciones es utilizar las redes de documentación RFC5737. - womble♦
Probablemente debería aclarar esto, en el archivo my.cnf real, uso la dirección IP real. Yo uso * sólo para esconderlo aquí. - Vasilis


Respuestas:


¿Por qué crees que necesitas usar bind-address habilitar el acceso remoto?

Sin la opción de dirección de enlace intente ejecutar el comando netstat -ntlp | grep 3306. Si ve una salida como la que se muestra a continuación, mysql está escuchando en todas las IP asociadas con la computadora.

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      23465/mysqld 

Solo necesitas el dirección de enlace Si quieres escuchar en una IP específica. Si desea escuchar las solicitudes en todas las direcciones, debe dejar ese comentario o establecerlo en 0.0.0.0. Algunas versiones empaquetadas de mysql vienen con scripts de inicio / mantenimiento que intentarán acceder a mysql en 127.0.0.1. Si usa la opción de dirección de enlace, mysql solo estará vinculado a esa IP específica, y nada más, posiblemente rompiendo cualquier script que tenga actualmente.


6
2017-07-19 00:37



netstat: option -p requiere un argumento - Almo
No requiere un argumento en la versión de net-tools de netstat en Linux. ¿En qué sistema operativo estás ejecutando? Sé que netstat tiene diferentes sintaxis / opciones en Windows y en BSD. - Zoredache
Ah ok Gracias. :) - Almo


Tal vez esto ayude a algunas personas:

Parece que si bind-address Se declara en 2 lugares, el servicio no se reinicia.

Quizás rápidamente escaneaste tu /etc/conf/my.cnf archivo y no vio una segunda aparición de bind-address. Sin embargo, tenga en cuenta que el archivo puede contener un !includedir directiva, y algunos de los archivos incluidos pueden contener una segunda bind-address.


1
2018-05-25 04:24





Asegúrese de que no haya una instancia de mysqld bloqueada ya iniciada. Comprobar

ps aux|grep mysqld

y matar todos los procesos con

kill -9

a continuación, intente iniciar mysqld de nuevo. Preste atención a los procesos mysqld en estado "Sl".


0
2017-10-20 16:00



y asegúrese de que el cielo no se esté cayendo y que la red eléctrica aún esté viva. ¿Todavía estoy respirando? - chicks