Como alterar a senha do MariaDB para usuários root e regulares
Esqueceu sua senha root do MariaDB? Sem ela, você não poderá gerenciar usuários, bancos de dados ou realizar configurações críticas. Neste artigo, você aprenderá não apenas como redefinir rapidamente a senha root do MariaDB, mas também como redefinir a senha para usuários regulares.
Para MySQL, por favor, consulte nosso guia separado.
O usuário root é o principal administrador do banco de dados. Eles têm acesso total a todos os dados e configurações. Se você perder esta senha, não poderá alterar algumas configurações ou executar comandos.
Todas as operações serão realizadas via linha de comando via SSH. Você pode encontrar instruções detalhadas sobre como se conectar ao seu servidor usando SSH neste artigo.
Antes de prosseguir, verifique o conteúdo do arquivo /root/.my.cnf. Muitas vezes, ele contém a senha root atual para acessar o MariaDB.
Para testar a conexão, use o comando:
mysql -u root -p
Em seguida, insira a senha do arquivo .my.cnf.
Se a senha não funcionar, siga as instruções abaixo.
Redefinindo a senha
Na maioria dos comandos abaixo, o comando mysql será usado em vez de mariadb para interagir com o servidor MariaDB. Isso ocorre porque, em alguns sistemas operacionais, como distribuições baseadas em RHEL (RockyLinux, AlmaLinux, etc.), o comando mariadb não está disponível. Em vez disso, o comando mysql é usado para compatibilidade com o MySQL.
Usar o comando mysql fornece compatibilidade universal, independentemente da distribuição ou implementação do servidor.
Passo 1: Parar o MariaDB
Para redefinir a senha, primeiro pare o servidor MariaDB. Execute o seguinte comando:
systemctl stop mariadb
Passo 2: Reiniciar o servidor em modo seguro
- Para Debian e Ubuntu:
Certifique-se de que o diretório em que o MariaDB será executado exista e tenha o proprietário correto:
mkdir -p /var/run/mysqld/ && chown -R mysql: /var/run/mysqld/
Inicie o servidor MariaDB sem controle de acesso:
mysqld_safe --skip-grant-tables --socket=/var/run/mysqld/mysqld.sock &
Se o servidor MariaDB iniciar com sucesso, você verá uma mensagem semelhante a:
2024-11-28T23:50:19.298141Z mysqld_safe Starting mariadb daemon with databases from /var/lib/mysql
Para continuar trabalhando na linha de comando, pressione “Ctrl + C”.
- Para CentOS/RockyLinux/AlmaLinux:
Inicie o servidor MariaDB sem controle de acesso:
mysqld_safe --skip-grant-tables --socket=/var/lib/mysql/mysql.sock &
Para continuar trabalhando na linha de comando, pressione “Ctrl + C”.
Passo 3: Conectar ao MariaDB
- Para Debian e Ubuntu:
mysql --socket=/var/run/mysqld/mysqld.sock
- Para CentOS/RockyLinux/AlmaLinux:
mysql --socket=/var/lib/mysql/mysql.sock
Passo 4: Redefinir a senha
Execute os seguintes comandos sequencialmente:
FLUSH PRIVILEGES;
Para um usuário local:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NovaSenha';
Para um usuário de rede (se existir):
ALTER USER 'root'@'%' IDENTIFIED BY 'NovaSenha';
Em seguida:
FLUSH PRIVILEGES;
Substitua NovaSenha pela sua nova senha desejada.
'user'@'localhost' — refere-se a um usuário local que se conecta via socket ou localhost. 'user'@'%' refere-se a um usuário de rede com acesso de qualquer endereço IP.
Você pode definir a mesma senha ou senhas diferentes para esses usuários. Se o usuário de rede não existir, o comando @'%' resultará em um erro.
Saia do MariaDB usando o comando exit ou pressionando “Ctrl + D”.
Passo 5: Reiniciar o MariaDB
Pare o servidor MariaDB:
- Para Debian e Ubuntu:
mysqladmin shutdown --socket=/var/run/mysqld/mysqld.sock -p
Em seguida, insira a senha root definida anteriormente.
- Para CentOS/RockyLinux/AlmaLinux:
mysqladmin shutdown --socket=/var/lib/mysql/mysql.sock -p
Em seguida, insira a senha root definida anteriormente.
Inicie o MariaDB em modo normal:
systemctl start mariadb