Configurando os Privilégios Iniciais do MariaDB
Depois de instalar o MySQL, você configura os privilégios iniciais dos acessos executando scripts/mysql_install_db
. Leia "Visão geral da instalação rápida". O script mysql_install_db
inicia o servidor mysqld
, depois inicializa as tabelas de permissões com a seguinte configuração dos privilégios:
- O usuário
root
do MariaDB é criado como um superusuário que pode fazer qualquer coisa. Conexões devem ser feitas através da máquina local.
NOTA: A senha inicial de
root
é vazia, portanto qualquer um que conectar comoroot
sem senha terá direito a todos os privilégios. - Um usuário anônimo é criado e pode fazer o que desejar com bancos de dados com nome
'test'
ou iniciando com'test_'
. Conexões devem ser feitas da máquina local. Isto significa que usuários locais podem se conectar sem senha e serem tratados como usuários anônimos. - Outros privilégios são negados. Por exemplo, usuários normais não podem executar
mysqladmin
oumysqladmin processlist
.
NOTA: Os privilégios padrões são diferentes no Windows. Leia "Executando o MariaDB no Windows".
Como sua instação inicialmente é parcialmente aberta, uma das primeiras coisas que você deve fazer é especificar uma senha para o usuário root
do MariaDB. Você pode fazer isto como a seguir (perceba que a senha foi especificada utilizando a função PASSWORD()
):
shell>mysql -u root mysql
mysql>SET PASSWORD FOR root@localhost=PASSWORD('nova_senha');
Substitua 'nova_senha'
pela senha que você deseja usar.
Se você souber o que esta fazendo, você também pode manipular diretamente a tabela privilégios:
shell>mysql -u root mysql
mysql>UPDATE user SET Password=PASSWORD('nova_senha')
->WHERE user='root';
mysql>FLUSH PRIVILEGES;
Outra forma de configurar a senha é utilizando o comando mysqladmin
:
shell> mysqladmin -u root password nova_senha
Somente usuários com acesso de escrita/atualização ao banco de dados MariaDB
podem alterar a senha de outros usuários. Todos os usuários comuns (não os anônimos) podem alterar somente a própria senha com um dos comandos acima ou com SET PASSWORD=PASSWORD('nova_senha')
.
Perceba que se você atualizar a senha na tabela user
diretamente utilizando UPDATE
, você deve dizer ao servidor para reler as tabelas de permissões (com FLUSH PRIVILEGES
), de outra forma a alteração não seria notificada.
Uma vez que a senha de root
foi configurada, você deve informar a senha quando se conectar ao servidor MariaDB como root
.
Você pode desejar deixar a senha de root
em branco para que você não precise especificá-la quando realizar configurações adicionais ou testes. Entretanto, tenha certeza de configurá-la antes de utilizar sua instalação para qualquer ambiente de produção.
Veja o script scripts/mysql_install_db
para ver como são configurados os privilégios padrões. Você pode usar isto como uma base para ver como adicionar outros usuários.
Se você deseja que os privilégios iniciais sejam diferentes do descrito acima, é possível modificar o script mysql_install_db
antes de executá-lo.
Para recriar as tabelas de permissões completamente, remova todos os arquivos .frm
.MYI
e .MYD
no diretório contendo o banco de dados MariaDB
. (Este é o diretório chamado MariaDB
sob o diretório do banco de dados, que é listado quando você executa mysqld --help
.) Depois execute o script mysql_install_db
, possivelmente depois de editá-lo para criar os privilégios desejáveis.
NOTA: Para versões do MariaDB mais antigas que a versão 3.22.10, você não deve apagar os arquivos .frm
. Se você fizer isso acidentalmente, você deve voltá-los a partir de sua distribuição MariaDB antes de executar mysql_install_db
.