Depois de instalar o MySQL, você configura os privilégios
iniciais dos acessos executando
scripts/mysql_install_db. See
Secção 2.3.1, “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 MySQL é 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 como root 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 ou
mysqladmin processlist.
NOTA: Os privilégios padrões são diferentes no Windows. See Secção 2.1.1.8, “Executando o MySQL 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 MySQL. Você pode
fazer isto como a seguir (perceba que a senha foi especificada
utilizando a função PASSWORD()):
shell>mysql -u root mysqlmysql>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 mysqlmysql>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 mysql 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 MySQL
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 mysql.
(Este é o diretório chamado mysql 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 MySQL
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 MySQL antes de executar
mysql_install_db.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
