
Eu costumava apt install mysql-server
instalar o MySQL no Ubuntu 16.04 mas durante a instalação ele não pedia senha de root.
Após a instalação, tentei ERROR 1045
fazer o login root
e mysql_secure_installation
deu o mesmo erro. Eu purge
d e autoremove
d então reinstalei, mas não funciona.
Como eu poderia consertar isso? Posso definir a senha root se não a configurei durante a instalação?
Este é o meu log de instalação:
Os seguintes pacotes adicionais serão instalados: libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7 mysql-server-core-5.7 Pacotes sugeridos: mailx tinyca Os seguintes NOVOS pacotes serão instalados: libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server mysql-server-5.7 mysql-server-core-5.7 0 atualizados, 6 recém-instalados, 0 para remover e 0 não atualizados. Precisa obter 0 B/17,9 MB de arquivos. Após esta operação, serão utilizados 160 MB de espaço adicional em disco. Você quer continuar? [S/n] sim Pré-configurando pacotes... Selecionando pacote anteriormente não selecionado libaio1:amd64. (Lendo banco de dados... 227144 arquivos e diretórios atualmente instalados.) Preparando para descompactar .../libaio1_0.3.110-2_amd64.deb ... Descompactando libaio1:amd64 (0.3.110-2) ... Selecionando pacote anteriormente não selecionado mysql-client-core-5.7. Preparando para descompactar .../mysql-client-core-5.7_5.7.12-0ubuntu1_amd64.deb ... Descompactando mysql-client-core-5.7 (5.7.12-0ubuntu1) ... Selecionando pacote anteriormente não selecionado mysql-client-5.7. Preparando para descompactar .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ... Descompactando mysql-client-5.7 (5.7.12-0ubuntu1) ... Selecionando pacote anteriormente não selecionado mysql-server-core-5.7. Preparando para descompactar .../mysql-server-core-5.7_5.7.12-0ubuntu1_amd64.deb ... Descompactando mysql-server-core-5.7 (5.7.12-0ubuntu1) ... Selecionando pacote anteriormente não selecionado mysql-server-5.7. Preparando para descompactar .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ... Descompactando mysql-server-5.7 (5.7.12-0ubuntu1) ... Selecionando pacote mysql-server não selecionado anteriormente. Preparando para descompactar .../mysql-server_5.7.12-0ubuntu1_all.deb ... Descompactando o servidor mysql (5.7.12-0ubuntu1) ... Processando gatilhos para libc-bin (2.23-0ubuntu3) ... Processando gatilhos para man-db (2.7.5-1) ... Processando gatilhos para systemd (229-4ubuntu4) ... Processando gatilhos para ureadahead (0.100.0-19) ... Configurando libaio1:amd64 (0.3.110-2) ... Configurando mysql-client-core-5.7 (5.7.12-0ubuntu1) ... Configurando mysql-client-5.7 (5.7.12-0ubuntu1) ... Configurando mysql-server-core-5.7 (5.7.12-0ubuntu1) ... Configurando o mysql-server-5.7 (5.7.12-0ubuntu1) ... alternativas de atualização: usando /etc/mysql/mysql.cnf para fornecer /etc/mysql/my.cnf (my.cnf) no modo automático Verificando se a atualização é necessária. Esta instalação do MySQL já está atualizada para 5.7.12, use --force se você ainda precisar executar mysql_upgrade Configurando o servidor mysql (5.7.12-0ubuntu1) ... Processando gatilhos para libc-bin (2.23-0ubuntu3) ...
Responder1
Você pode recuperar ou definir a senha root sem saber a atual, iniciando o mysql sem carregar as tabelas de concessão.
Por favor, observe o$
nos comandos. Isso especifica o prompt do terminal que você vê ao digitar o comando. Está mostrando que é uma linha de texto, mas um comando de terminal digitado real. O "mysql>
"prefixo também é um prompt. Esse é o prompt que você recebe ao executarmysqlinterativamente.
Isto é ocli(linha de comando) para fazer isso:
(Tenha certeza depare o servidor atualantes de executar as etapas. Apenas um servidor pode ser executado por vez.)
$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
$ sudo mysqld_safe --skip-grant-tables&
Agora você pode fazer login como root sem senha e executar todos os comandos, como neste caso, definir a senha do root como root.
$ sudo mysql --user=root mysql
Esta é a senha de root definida que você executará dentro do mysql se tiver o MySQL 5.6 ou inferior:
mysql> update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
No MySQL 5.7 ou superior
mysql> update user set authentication_string=PASSWORD('new-password') where user='root';
flush privileges;
A partir daí, saia (mate o msqld em execução) do mysql e inicie-o normalmente.
Notas sobre como iniciar e parar o serviço mysql:
Pare o mysql:
$ sudo service mysql stop
Inicie o mysql (normal):
$ sudo service mysql start
Encerre a sessão temporária do modo de segurança do MySQL:
$ sudo mysqladmin shutdown
Responder2
Ele não solicitará a senha durante a instalação mysql
no Ubuntu 16.04, mas você pode configurá-la após a instalação bem-sucedida da seguinte maneira:
Após a conclusão da instalação do mysql, execute o comando:
sudo mysql_secure_installation
Ele mostrará:
NOTA: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MariaDB EM USO DE PRODUÇÃO! LEIA CADA PASSO COM ATENÇÃO!
Para fazer login no MariaDB e protegê-lo, precisaremos da senha atual do usuário root. Se você acabou de instalar o MariaDB e ainda não definiu a senha de root, a senha estará em branco, então você deve apenas pressionar enter aqui.
Enter current password for root (enter for none):
(aqui pressione Enter)
OK, senha usada com sucesso, seguindo em frente...
Definir a senha root garante que ninguém possa fazer login no usuário root do MariaDB sem a devida autorização.
Set root password? [Y/n] y (press 'y' to set new password) New password: Re-enter new password:
Senha atualizada com sucesso! Recarregando tabelas de privilégios.. ... Sucesso!
Para Ubuntu 18.04 OU mysql-server
versão 5.7.22, ESTE MÉTODO NÃO FUNCIONARÁ
Para definir a senha root no Ubuntu 18.04, primeiro siga os três primeiros comandos ou as duas primeiras etapas deResposta de LD Jamesentão corra,
mysql> alter user 'root'@'localhost' identified by '<password>';
A senha do usuário root está definida!
OU
Siga estas etapas para definir a senha root em 18.04:
Como não há senha definida para o usuário root, basta fazer login comsenha em branco
sudo mysql -u root -p
Enter password: (press enter as no password is set)
depois disso, você pode facilmente executar a consulta
ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
Responder3
Após a instalação basta:
sudo mysql
(sim, sem usuário, sem passe)Você está agora no console do mysql. Executar:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';
FLUSH PRIVILEGES;
É isso. Agora você pode entrar no console na próxima vez, como de costume:
mysql -u root -pmy_new_pass
Responder4
existe uma conta de usuário padrão.
$ vim /etc/mysql/debian.cnf
você obterá esta conta assim:
user = debian-sys-maint password = nUZTARYslBsASzpw
você faz login com esta conta
$ mysql -u debian-sys-maint -p
edite sua senha root
mysql> show databases; mysql> use mysql; mysql> update user set authentication_string=PASSWORD("new_password") where user='root'; mysql> update user set plugin="mysql_native_password"; mysql> flush privileges; mysql> quit;
reinicie o mysql
$ /etc/init.d/mysql restart;
então você pode mysql -u root -p
com sua configuração anterior.