OU

OU

Eu costumava apt install mysql-serverinstalar 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 1045fazer o login roote mysql_secure_installationdeu o mesmo erro. Eu purged e autoremoved 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 mysqlno 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-serverversã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:

  1. sudo mysql (sim, sem usuário, sem passe)

  2. Você está agora no console do mysql. Executar:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';

  3. FLUSH PRIVILEGES;

É isso. Agora você pode entrar no console na próxima vez, como de costume:

mysql -u root -pmy_new_pass

Responder4

  1. existe uma conta de usuário padrão.

    $ vim /etc/mysql/debian.cnf 
    

    você obterá esta conta assim:

    user     = debian-sys-maint
    password = nUZTARYslBsASzpw
    
  2. você faz login com esta conta

    $ mysql -u debian-sys-maint -p
    
  3. 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;
    
  4. reinicie o mysql

    $ /etc/init.d/mysql restart;
    

então você pode mysql -u root -pcom sua configuração anterior.

informação relacionada