Preciso redefinir a senha root da minha instalação mysql local, mas ela não me deixou. Eu tentei isso:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
Como posso redefinir a senha? edit 1 eu consegui isso:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
parece que um processo está reiniciando o mysql automaticamente assim que eu o mato ...
dpkg-reconfigure mariadb-server-10.1
funcionou para MariaDB quando todas as outras soluções não. Obrigado por isso.dpkg-reconfigure
não solicitou a senha para mim .. existe uma maneira de forçá-lo?Referência retirada deste blog:
Etapa 1: Interrompa o serviço MySQL.
Etapa 2: Mate todos os mysqld em execução.
Etapa 3: Iniciando o mysqld no modo de Segurança.
Etapa 4: Inicie o cliente mysql
Etapa 5: Após o login bem-sucedido, execute este comando para alterar qualquer senha.
Etapa 6: você pode atualizar a senha root do mysql.
para mysql> 5.7 use isto em vez de acima:
Etapa 7: Por favor, execute este comando.
Etapa 8: sair do console do mysql
Etapa 9: Mate o mysqld_safe e inicie o mysql
fonte
sudo service mysql stop
, nãosudo stop mysql
sudo killall mysqld_safe && sudo service mysql start
e, em seguida, tente fazer login novamenteALTER USER root IDENTIFIED BY 'NEW_PASSWORD_HERE'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASS';
. Você pode ler sobre isso aqui . Teoricamente (não tentei), você deve conseguir fazer login no mysql sem uma senha se "sudo su -" se tornar root.ALTER USER ...
não funcionar, usoUPDATE mysql.user SET authentication_string = PASSWORD('NEWPASS'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
No Ubuntu 16.04 e
mysql-server-5.7
, a resposta correta é o último comentário do olafure,dpkg-reconfigure mysql-server-5.7
não funciona mais.Agora no console do mysql
>mysql
Reinicie o bom
mysql
processoVerifique sua nova senha
fonte
mysqld_safe
execução, eu recebo o erro:Directory '/var/run/mysqld' for UNIX socket file don't exists.
. Então eu corrisudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
e o restante da resposta acima funciona. Isso é um bug no Ubuntu 16? Eu nunca tive todos esses problemas ao atualizar senhas antes.A partir do MySQL 5.7 , durante a instalação inicial, se você deixar a senha em branco, a autenticação será baseada no
auth_socket
plug - in para esse usuário .A maneira correta de alterar a senha será:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
fonte
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
--skip-grant-tables
opção e veja se esta solução funciona.--skip-grant-tables
opção Eu não consigo nem entrar no MySQL como root. Ele dizERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysqld_safe
) como root sem senha. Eu tenho o Ubuntu 18.04 e o mysql-server-5.7. Esta resposta me ajudou a askubuntu.com/a/767252/585252 (veja a parte inferior)Nada do restante das respostas pareceu funcionar para mim. Esta é a minha solução:
Lá:
Então:
fonte
2017-05-30T06:33:22.291126Z mysqld_safe Logging to syslog. 2017-05-30T06:33:22.294375Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-05-30T06:33:22.296874Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
Isso está no mysql 5.7 e no ubuntu 18.04 .Crie um arquivo com isso:
Pare o servidor mysql e execute o seguinte:
Verifique aqui para mais detalhes: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
fonte