Acabei de instalar o MySQL no Mac OS X. O próximo passo foi definir a senha do usuário root, então fiz o seguinte:
- Inicie o aplicativo de terminal para acessar a linha de comando do Unix.
Sob o prompt do Unix, executei estes comandos:
$ cd /usr/local/mysql/bin $ ./mysqladmin -u root password 'password'
Mas quando executo o comando
$ ./mysql -u root
, esta é a resposta:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Eu posso entrar na mysql
linha de comando sem nenhuma senha!
Por que é isso?
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
.'password'
lado direito da igualdade #ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Se você não se lembra da senha definida para raiz e precisa redefini-la, siga estas etapas:
sudo mysqld_safe --skip-grant-tables;
mysql -u root
Para o MySQL mais antigo que o MySQL 5.7, use:
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
Para o MySQL 5.7+, use:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';
Atualizar e sair:
FLUSH PRIVILEGES;
\q
fonte
password
precisa serauthentication_string
agora.UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
, assim como o @Scott disse.sudo kill
Não trabalho como o Mac OSX iria relançar automaticamente uma nova msql instantaneamente uma vez eu parei mysql usando painel de preferências, eu poderia executar manualmente.mysqld_safe --skip-grant-tables
Depois de instalar o MySQL, você precisará estabelecer a senha "root". Se você não estabelecer uma senha root, então, não haverá senha root e não precisará de uma senha para efetuar login.
Então, dito isso, você precisa estabelecer uma senha root.
Usando o terminal, digite o seguinte:
Instalação: Defina a senha do usuário root:
Se você cometeu um erro ou precisa alterar a senha root, use o seguinte:
Alterar senha de root:
fonte
update user set authentication_string=PASSWORD("NEW_PASSWORD_HERE") where User='root';
em vez de usarset password=...
As instruções fornecidas no site mysql são tão claras que as mencionadas acima
$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
exit
ou Ctrl + z$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
Referência: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
fonte
Pare o servidor mysqld.
System Preferences
>MySQL
>Stop MySQL Server
sudo systemctl stop mysqld.service
Inicie o servidor no modo de segurança com desvio de privilégio
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
Em uma nova janela do terminal:
sudo /usr/local/mysql/bin/mysql -u root
Isso abrirá a linha de comando do mysql. A partir daqui, digite:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
quit
Pare o servidor mysqld novamente e reinicie-o no modo normal.
sudo /usr/local/mysql/support-files/mysql.server restart
sudo systemctl restart mysqld
fonte
Para o novo Mysql 5.7, por algum motivo, os comandos bin do Mysql não estão anexados ao shell:
Reinicie o Mac após a instalação.
Inicie o Mysql:
Preferências do Sistema> Mysql> botão Iniciar
Vá para a pasta de instalação do Mysql no terminal:
$ cd /usr/local/mysql/bin/
Acesso ao Mysql:
$ ./mysql -u root -p
e digite a senha inicial dada à instalação.
No terminal Mysql, altere a senha:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';
fonte
No terminal, escreva
mysql -u root -p
e pressione Return. Digite a senha atual do mysql que você deve ter anotado. E defina a senhaSET PASSWORD = PASSWORD('new_password');
Consulte esta documentação aqui para obter mais detalhes.
fonte
Se você esqueceu a senha root do MySQL, não consegue se lembrar ou deseja invadir ... .. você pode redefinir a senha do banco de dados mysql na linha de comando no Linux ou OS X, desde que saiba a senha de usuário root da caixa você está em:
(1) Pare o MySQL
(2) Inicie no modo de segurança:
(3) Este será um comando em andamento até o término do processo; portanto, abra outra janela do shell / terminal , faça o login sem uma senha:
No comando UPDATE acima, basta substituir a 'senha' por sua própria nova senha, certifique-se de manter as aspas
(4) Economize e bastante
(5) Inicie o MySQL
fonte
Quando instalei o OS X Yosemite, tive um problema com o Mysql. Eu tentei muitos métodos, mas nenhum funcionou. Na verdade, encontrei uma maneira bastante fácil. Experimente isso.
sudo su
sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
fonte
Os métodos mencionados nas respostas existentes não funcionam no mysql 5.7.6 ou posterior. De acordo com a documentação do mysql, esta é a maneira recomendada.
B.5.3.2.3 Redefinindo a senha root: instruções genéricas
MySQL 5.7.6 e posterior:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Referência: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
fonte
Se você não se lembra da sua senha, a resposta do @ radtek funcionou para mim, exceto no meu caso, eu configurei o MySQL usando o brew, o que significa que as etapas 1 e 2 da resposta dele devem ser alteradas para:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
Nota: a falta de
sudo
.fonte
Eu acho que isso deve funcionar :
(Observe que você provavelmente deve substituir root por seu nome de usuário, se não for root)
fonte
Parando o servidor MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
Iniciando o MySQL no modo de segurança
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Alterando a senha root
/usr/local/mysql/bin/mysql -u root
Teste
Corre
/usr/local/mysql/bin/mysql -u root
Agora digite a nova senha para começar a usar o MySQL.
fonte
Isto é o que exatamente funcionou para mim:
Verifique se nenhum outro processo MySQL está em execução. Para verificar isso, faça o seguinte:
Inicie o MySQL com o comando:
A senha para cada usuário é armazenada na tabela mysql.user nas colunas User e authentication_string, respectivamente. Podemos atualizar a tabela como:
fonte
macOS 10.14+ com 5.7.26 instalado a partir do instalador do Mac OSX DMG.
Ao tentar usar o comando UPDATE publicado por outros usuários, resulta no seguinte erro:
ERRO 1820 (HY000): você deve redefinir sua senha usando a instrução ALTER USER antes de executá-la.
Copie a senha que lhe foi apresentada pelo terminal aberto do Instalador e faça o seguinte:
fonte
Tente isso no terminal:
/usr/local/bin/mysql_secure_installation
fonte
Para referenciar o MySQL 8.0.15 +, a função password () não está disponível. Use o comando abaixo.
Por favor, use
fonte
Se você esqueceu sua senha ou deseja alterá-la para seu mysql:
onde "new_password" - seu novo passe. Você não precisa de um passe antigo para o mysql.
fonte
Muita coisa mudou para o MySQL 8. Encontrei a seguinte modificação da documentação do MySQL 8.0 "Como redefinir a senha raiz" funciona com o Mac OS X.
Crie um arquivo temporário
$HOME/mysql.root.txt
com o SQL para atualizar a senha raiz:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';
Isso é usado
mysql_native_password
para evitar que o plug-in de autenticação 'caching_sha2_password' não possa ser carregado com erro, que eu recebo se omitir a opção.Pare o servidor, comece com uma
--init-file
opção para definir a senha root e, em seguida, reinicie o servidor:mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start
fonte
Vamos adicionar esta solução alternativa que funciona no meu laptop!
Mac com Osx Mojave 10.14.5
Mysql 8.0.17 foi instalado com homebrew
Eu executo o seguinte comando para localizar o caminho do mysql
brew info mysql
Depois que o caminho é conhecido, eu executo o seguinte:
/usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table
Em outro terminal, eu corro:
mysql -u root
Dentro desse terminal, mudei a senha root usando:
update mysql.user set authentication_string='NewPassword' where user='root';
e para terminar eu corro:
FLUSH PRIVILEGES;
E pronto, a senha foi redefinida.
Referências :
fonte
Você pode desativar manualmente o mysql no Mac, clicando no menu Apple e abrir Preferências do Sistema. Escolha o painel de preferências "MySQL" e clique no botão "Stop MySQL Server" para parar o MySQL Server no Mac.
Depois de parar o mysql, você precisará seguir estas etapas.
Depois, você pode ir para o menu Apple e abrir Preferências do Sistema. Escolha o painel de preferências "MySQL" e clique no botão "Stop MySQL Server" para parar o MySQL Server no Mac.
Finalmente, você pode novamente ir para o menu Apple e abrir Preferências do Sistema. Escolha o painel de preferências “MySQL” e clique no botão “Start MySQL Server” para iniciar o MySQL Server no Mac.
espero que ajude
fonte
Nenhum dos comentários anteriores resolve o problema no meu Mac. Eu usei os comandos abaixo e funcionou.
fonte
De alguma forma, preciso fazer isso toda vez que meu Macbook for reiniciado. Postando isso para referência pessoal, espero que ajude outra pessoa também.
fonte