Todos os produtos
Search
Central de documentação

Elastic Compute Service:Problemas comuns de implantação do MySQL

Última atualização: Jul 03, 2026

Este documento apresenta soluções para problemas comuns de instalação, configuração e gerenciamento do MySQL para ajudar você a manter a estabilidade do servidor.

Senhas de usuários do MySQL esquecidas

Se você esquecer a senha de um usuário que não seja root, use o usuário root para alterá-la diretamente. Caso tenha esquecido a senha do usuário root, pare o serviço do MySQL e reinicie-o em um modo especial que ignora as verificações de permissão. Isso permite redefinir a senha.

Senha esquecida para um usuário que não seja root

  1. Consulte o valor de Host do usuário desejado.

    # Replace with the actual username
    mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"
  2. Altere a senha com base no valor de Host. Se o usuário tiver múltiplos valores de Host, execute o comando para cada um deles.

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

Senha do usuário root esquecida

Importante

Redefinir a senha do usuário root exige parar o serviço do MySQL.

  1. Pare o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl stop mysqld

    Ubuntu e Debian

    sudo systemctl stop mysql
  2. Inicie o MySQL em modo temporário e anote o ID do processo. Você precisará desse ID para encerrar o processo posteriormente.

    Nota
    • --skip-grant-tables: Ignora a validação de permissões e permite login sem senha.

    • &: Executa o processo do MySQL em segundo plano. O terminal retorna um ID de processo (PID). Por exemplo, na saída [1] 1234, o PID é 1234.

    sudo -u mysql mysqld --skip-grant-tables &
  3. Recarregue as tabelas de autorização e altere a senha do root. Substitua <password> pela nova senha. A senha deve obedecer à política atual: ter no mínimo 8 caracteres, incluindo pelo menos uma letra maiúscula, uma minúscula, um dígito e um caractere especial.

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

    Se aparecer o erro Your password does not satisfy the current policy requirements, a senha não está em conformidade. Encerre o processo do MySQL, reinicie-o no modo que ignora permissões e execute o comando novamente com uma senha válida.

  4. Encerre o processo do MySQL.

    kill <process ID>
  5. Inicie o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl start mysqld

    Ubuntu e Debian

    sudo systemctl start mysql
  6. Faça login com a nova senha. O acesso à linha de comando do MySQL confirma que a redefinição da senha foi bem-sucedida.

    mysql -u root -p

Alteração do diretório de dados do MySQL

  1. Pare o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl stop mysqld

    Ubuntu e Debian

    sudo systemctl stop mysql
  2. No arquivo de configuração my.cnf (geralmente localizado em /etc/my.cnf), altere o valor de datadir para o caminho do novo diretório de dados.

    datadir=/new/data/directory
  3. Copie todos os arquivos e pastas do diretório de dados original para o novo diretório.

    sudo cp -aR /old/data/directory/* /new/data/directory/
  4. Inicie o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl start mysqld

    Ubuntu e Debian

    sudo systemctl start mysql

Erro de inicialização do MySQL: Permission denied

  1. Verifique o arquivo error.log do MySQL para identificar a mensagem de erro específica.

    Nota

    Geralmente, esse arquivo encontra-se em /var/log/mysqld.log ou /var/log/mysql/error.log.

    [ERROR] [MY-010092] [Server] Can't start server: can't create PID file: Permission denied
  2. Localize e encerre quaisquer processos mysqld remanescentes.

    sudo ps aux | grep mysqld
    sudo kill -9 <process ID>
  3. Inicie o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl start mysqld

    Ubuntu e Debian

    sudo systemctl start mysql

Erro de inicialização do MySQL: File './binlog.index' not found

  1. Verifique o arquivo error.log do MySQL para identificar a mensagem de erro específica.

    Nota

    Geralmente, esse arquivo encontra-se em /var/log/mysqld.log ou /var/log/mysql/error.log.

    mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
  2. Esse erro costuma ocorrer devido à propriedade incorreta dos arquivos no diretório de dados do MySQL. Execute o comando abaixo para verificar a propriedade.

    Nota

    O diretório de dados padrão geralmente é /var/lib/mysql. Caso utilize um diretório personalizado, ajuste o comando conforme necessário.

    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. Execute o comando a seguir para atribuir a propriedade correta ao usuário e grupo mysql.

    sudo chown -R mysql:mysql <data_directory>
  4. Inicie o serviço do MySQL executando o seguinte comando.

    Alibaba Cloud Linux e CentOS

    sudo systemctl start mysqld

    Ubuntu e Debian

    sudo systemctl start mysql