Todos los productos
Search
Centro de documentos

Elastic Compute Service:Common MySQL deployment issues

Última actualización: Sep 02, 2026

Este documento ofrece soluciones para problemas frecuentes de instalación, configuración y gestión de MySQL con el fin de ayudarle a mantener un servidor estable.

Contraseñas olvidadas de usuarios de MySQL

Si olvida la contraseña de un usuario que no es root, puede utilizar el usuario root para cambiarla directamente. Si olvida la contraseña del usuario root, debe detener el servicio de MySQL y reiniciarlo en un modo especial que omite las comprobaciones de permisos. Esto le permite restablecer la contraseña.

Contraseña olvidada para un usuario que no es root

  1. Consulte el valor Host del usuario objetivo.

    # Replace with the actual username
    mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"
  2. Cambie la contraseña según el valor Host. Si el usuario tiene varios valores Host, debe ejecutar el comando para cada uno.

    # Replace with the actual username, password, and Host
    mysql -uroot -p -e "ALTER USER 'target_username'@'target_host' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;"

Contraseña olvidada del usuario root

Importante

Restablecer la contraseña del usuario root requiere detener el servicio de MySQL.

  1. Para detener el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl stop mysqld

    Ubuntu y Debian

    sudo systemctl stop mysql
  2. Inicie MySQL en modo temporal y anote el ID del proceso. Necesitará este ID para finalizar el proceso más adelante.

    Nota
    • --skip-grant-tables: Omite la validación de permisos y permite iniciar sesión sin contraseña.

    • &: Ejecuta el proceso de MySQL en segundo plano. La terminal devuelve un ID de proceso (PID). Por ejemplo, en la salida [1] 1234, el PID es 1234.

    sudo -u mysql mysqld --skip-grant-tables &
  3. Recargue las tablas de autorización y cambie la contraseña de root. Reemplace <password> con su nueva contraseña. La contraseña debe cumplir con la política de contraseñas actual: como mínimo 8 caracteres de longitud, que contenga al menos una letra mayúscula, una letra minúscula, un dígito y un carácter especial.

    mysql -uroot -e"FLUSH PRIVILEGES;" -e"ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';"

    Si recibe el error Your password does not satisfy the current policy requirements, significa que su contraseña no cumple con los requisitos. Debe finalizar el proceso de MySQL, reiniciarlo en el modo que omite permisos y volver a ejecutar el comando con una contraseña válida.

  4. Finalice el proceso de MySQL.

    kill <process ID>
  5. Para iniciar el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl start mysqld

    Ubuntu y Debian

    sudo systemctl start mysql
  6. Inicie sesión con la nueva contraseña. Si logra acceder a la línea de comandos de MySQL, el restablecimiento de la contraseña fue exitoso.

    mysql -u root -p

Cambio del directorio de datos de MySQL

  1. Para detener el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl stop mysqld

    Ubuntu y Debian

    sudo systemctl stop mysql
  2. En el archivo de configuración my.cnf (ubicado generalmente en /etc/my.cnf), cambie el valor datadir por la ruta del nuevo directorio de datos.

    datadir=/new/data/directory
  3. Copie todos los archivos y directorios del directorio de datos original al nuevo directorio de datos.

    sudo cp -aR /old/data/directory/* /new/data/directory/
  4. Para iniciar el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl start mysqld

    Ubuntu y Debian

    sudo systemctl start mysql

Error de inicio de MySQL: Permission denied

  1. Revise el archivo error.log de MySQL para localizar el mensaje de error específico.

    Nota

    La ubicación predeterminada de este archivo suele ser /var/log/mysqld.log o /var/log/mysql/error.log.

    [ERROR] [MY-010092] [Server] Can't start server: can't create PID file: Permission denied
  2. Busque y finalice cualquier proceso mysqld pendiente.

    sudo ps aux | grep mysqld
    sudo kill -9 <process ID>
  3. Para iniciar el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl start mysqld

    Ubuntu y Debian

    sudo systemctl start mysql

Error de inicio de MySQL: File './binlog.index' not found

  1. Revise el archivo error.log de MySQL para localizar el mensaje de error específico.

    Nota

    La ubicación predeterminada de este archivo suele ser /var/log/mysqld.log o /var/log/mysql/error.log.

    mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
  2. Este error suele deberse a una propiedad de archivos incorrecta en el directorio de datos de MySQL. Ejecute el siguiente comando para comprobar la propiedad.

    Nota

    El directorio de datos predeterminado suele ser /var/lib/mysql. Si utiliza un directorio de datos personalizado, modifique el comando en consecuencia.

    sudo ls -l /var/lib/mysql
    -rw-r-----  1  root root        56 Mar 19 15:51   auto.cnf
    -rw-r-----  1  root root      1551 Mar 19 15:51   binlog.000001
    -rw-r-----  1  root root        16 Mar 19 15:51   binlog.index
    -rw-------  1  root root      1680 Mar 19 15:51   ca-key.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   ca.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   client-cert.pem
  3. Ejecute el siguiente comando para asignar la propiedad correcta al usuario y grupo mysql.

    sudo chown -R mysql:mysql <data_directory>
  4. Para iniciar el servicio de MySQL, ejecute el siguiente comando.

    Alibaba Cloud Linux y CentOS

    sudo systemctl start mysqld

    Ubuntu y Debian

    sudo systemctl start mysql