Se você nunca definiu um senha de root
para
o MySQL, então o servidor não irá exigir uma senha para a
conexão como root
. É recomendado que sempre
seja definida uma senha para cada usuário. See
Secção 4.3.2, “Como Tornar o MySQL Seguro contra Crackers”.
Se você tiver definido um senha de root
, mas
a esqueceu, você pode definir uma nova senha com o seguinte
procedimento:
Finalize o daemon mysqld
enviando um
kill
(não kill -9
)
para o servidor mysqld
. O pid é
armazenado em um arquivo .pid
, que
normalmente está no diretório de banco de dados do MySQL:
shell> kill `cat /mysql-data-directory/hostname.pid`
Você deve ser o usuário root
do Unix ou
o mesmo usuário com o qual o mysqld
está executando para fazer isto.
Reinicie o mysqld
com a opção
--skip-grant-tables
.
Defina uma nova senha com o comando mysqladmin
password
:
shell> mysqladmin -u root password 'mynewpassword'
Agora você também pode parar o mysqld
e
reiniciá-lo normalmente, ou apenas carregue a tabela de
privilégios com:
shell> mysqladmin -h hostname flush-privileges
Depois disto, você deve estar apto para conectar usando a nova senha.
De forma alternativa, você pode definir a nova senha usando o
cliente mysql
:
Finalize e reinicie o mysqld
com a
opção --skip-grant-tables
com descrito
acima.
Conecte ao servidor mysqld
com:
shell> mysql -u root mysql
Dispare os seguintes comandos no cliente
mysql
:
mysql>UPDATE user SET Password=PASSWORD('minhanovasenha')
->WHERE User='root';
mysql>FLUSH PRIVILEGES;
Depois disto, você deve estar apto a conectar usando a nova senha.
Você agora pode parar o mysqld
e
reiniciá-lo normalmente.
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.