Por uma questão de interesse, por que você não quer uma senha?
John Gardeniers
Por exemplo, encontro erros quando executo "dpkg-reconfigure phpmyadmin". Para com erro 1045 com acesso negado root @ localhost "password: no" terminando.
Lacek
Respostas:
29
Pessoalmente, acho que é melhor definir uma senha e salvá-la em /root/.my.cnf:
Primeiro:
mysqladmin -u root password 'asdfghjkl'
Em seguida, edite o arquivo .my.cnf da raiz:
[client]
password = asdfghjkl
Certifique-se de chmod 0600 .my.cnf.
Agora você tem uma senha, mas não é mais solicitada. Minha instalação padrão do servidor MySQL é uma senha exclusiva totalmente aleatória para cada servidor MySQL, salva no arquivo .my.cnf como este.
Concordo plenamente com a configuração do seu ambiente para autenticar você automaticamente e remover a senha.
Zoredache
2
Você pode precisar de aspas em torno dessa senha no .my.cnf. Não funcionou para mim sem.
user67641
1
@ user67641: Pode depender da versão e do que está na sua senha ... As minhas são longas sequências aleatórias de alfanuméricos (sem caracteres especiais) e não precisam de aspas.
freiheit 12/03
2
Se você precisar criar /root/.my.cnf, vale a pena definir explicitamente 0600 permissões para garantir que nenhum outro usuário possa bisbilhotar. Na maioria das vezes, os usuários normais não podem entrar no / root, mas a paranóia extra é quase sempre garantida.
Dale Anderson
Faltando mv ./+%Y%m%d. $ Db.sql $ OUTPUT` entre mysqldump e gzip
Siddharth
9
Se você possui uma senha definida para o MySQL, siga as instruções em Recuperar senha root do MySQL e defina sua senha como nula:
Para 5.7.6 e posterior
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
Para 5.7.5 e versões anteriores
update user set password=PASSWORD("") where User='root';
* precisa de uma reinicialização do banco de dados (consulte as instruções no link) para que isso entre em vigor.
neste caso, não se esqueça de "liberar privilégios";
Marco Ramos
@ meeyosef - marque uma resposta como respondida se resolver seu problema (clique na marca de seleção verde abaixo do número de votos).
Jneves #
Eu pensei que poderia usar senha vazia apenas para soquete Unix e não loopback, mas não é possível. O unix_socketplugin faz uma coisa um pouco diferente.
bacia
9
Sim, menos senhas podem ser boas. Mas não basta abrir o banco de dados para todos.
via unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
Isso fornece a você acesso mysql sem senha para um usuário root conectado localmente. Btw. este é o padrão nas versões recentes do ubuntu / debian.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
Bem-vindo ao SF! Adorável primeira resposta: clara, um bom resumo, um link para uma exploração mais aprofundada e acrescenta algo ao corpus de respostas existente. Estou encantado por ser o seu primeiro voto positivo, e espero que você fique por aqui para escrever mais respostas como esta.
Respostas:
Pessoalmente, acho que é melhor definir uma senha e salvá-la em /root/.my.cnf:
Primeiro:
Em seguida, edite o arquivo .my.cnf da raiz:
Certifique-se de
chmod 0600 .my.cnf
.Agora você tem uma senha, mas não é mais solicitada. Minha instalação padrão do servidor MySQL é uma senha exclusiva totalmente aleatória para cada servidor MySQL, salva no arquivo .my.cnf como este.
fonte
mv ./+%Y%m%d
. $ Db.sql $ OUTPUT` entre mysqldump e gzipSe você possui uma senha definida para o MySQL, siga as instruções em Recuperar senha root do MySQL e defina sua senha como nula:
Para 5.7.6 e posterior
Para 5.7.5 e versões anteriores
* precisa de uma reinicialização do banco de dados (consulte as instruções no link) para que isso entre em vigor.
fonte
unix_socket
plugin faz uma coisa um pouco diferente.Sim, menos senhas podem ser boas. Mas não basta abrir o banco de dados para todos.
via unix_socket:
Isso fornece a você acesso mysql sem senha para um usuário root conectado localmente. Btw. este é o padrão nas versões recentes do ubuntu / debian.
Slides explicativos: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .
fonte
Você também pode fazer:
fonte
Tenho certeza de que, por padrão, não há senha se você for o usuário administrador e acessá-lo localmente. Você está encontrando algo diferente disso?
Isto funciona?
fonte