Não é possível definir a senha para o usuário "root" do mysql

16

Eu sou novo no Ubuntu. Estou executando o Ubuntu 12.10. Eu estou tentando instalar o apache, php, mysql. No entanto, eu instalei o apache e ele está funcionando perfeitamente.

sudo apt-get install apache2

Mas quando tentei instalar o mysql usando o seguinte comando

sudo apt-get install mysql-server 

Após o download, pediu a senha, mas depois de entrar e confirmar a senha. Eu recebo a seguinte mensagem de erro.

Unable to set password for the Mysql "root" user

An error occurred while setting password for the mysql
administrative user.This may have happened because the account already has a password, or because of a communication problem with the Mysql server.
You should check the account's password after the package installation.
Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for more information.

depois de clicar no botão ok no prompt eu estou recebendo a seguinte mensagem no terminal

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

O log de erros do MySQL diz

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

Eu procurei por esse problema, mas nada funcionou para mim. Por favor ajude.

    
por Devendra Verma 09.02.2013 / 08:08

7 respostas

24

Mesmo problema de configuração de senha root aqui, o meu possivelmente causado por uma instalação manual malsucedida do servidor mysql 5.6 anteriormente. Uma desinstalação completa do mysql não é tarefa fácil. Eu purgou / reinstalou por horas, então finalmente resolveu com

sudo dpkg --purge mysql-client-core-5.5 # or alternative version
sudo dpkg --purge mysql-client
sudo dpkg --purge mysql-server-core-5.5 # or alternative version
sudo dpkg --purge mysql-common

Basicamente eu apenas digito

sudo dpkg --purge mysql # followed by two tabs

Em seguida, --purge de todos os pacotes que o terminal concluir automaticamente. Purge mysql-common , por causa de alguns problemas de dependência.

Use os comandos acima de dpkg além de

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

Também tentei o método de Greq

sudo rm -rf /etc/mysql

Remova a pasta mysql do / var / lib

sudo rm -rf /var/lib/mysql/

Neste ponto, para ter certeza de que o mysql está completamente removido, verifique com

which mysql
mysql --version

O primeiro não deve retornar nenhuma saída em vez de uma pasta. O segundo deve retornar mysql não está instalado em vez de um número de versão. Caso contrário, a remoção ainda estará incompleta.

O significado de dpkg --purge é, quando usar apt-get sozinho, which mysql e mysql --version se comportam como se o mysql ainda estivesse lá.

Antes da reinstalação, reconfigure o dpkg e atualize

sudo dpkg --configure -a
sudo apt-get update

Problema resolvido finalmente. Espero que seja útil para outras pessoas.

    
por Sophia Feng 16.12.2013 / 09:07
5

Você precisa remover completamente o mysql. Acredite, eu tentei. O dpkg não fará isso sozinho.

Veja

link

Se você está com pressa

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.5
sudo apt-get purge mysql-client-core-5.5
    
por Pedro Braconnot 02.11.2014 / 18:37
3

Acho que o motivo é que mysql não pode acessar seu diretório /tmp/ , como diz a linha

mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)

Execute os seguintes comandos em um terminal:

sudo su
chown root:root /tmp
chmod 1777 /tmp
/usr/sbin/mysqld &

Explicação :

  • sudo su : para executar os seguintes comandos como root .
  • chown root:root /tmp : tornar o usuário root de root group o proprietário de /tmp .
  • chmod 1777 /tmp : Altere as permissões de /tmp para que seja acessível a todos os usuários e somente o proprietário ou o root possa excluir os arquivos desse diretório. (Mais sobre permissões de arquivos aqui )
  • /usr/sbin/mysqld & : inicia o daemon mysqld .
por green 09.02.2013 / 11:44
2

Eu lutei por várias horas na noite passada com isso e li tudo o que o Google tem em seu índice sobre o problema.

Eu re-instalei o mysql 20 vezes. Isso é provavelmente uma figura literal.

Finalmente, um deles, ou os dois, consertaram o problema (depois de desinstalar / limpar / queimar o mysql):

  1. sudo rm -rf /etc/mysql (isso não foi removido após a limpeza)
  2. Em seguida, encerro o servidor e redimensiono minha instância de VM de 512 MB para 1 GB (RAM).

Depois, executei sudo aptitude install mysql-server e finalmente instalei com sucesso:

$ sudo aptitude install mysql-server
[sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 amd64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-perl amd64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 amd64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...
    
por Greg 24.11.2013 / 16:51
1

Digite sudo apt-get purge mysql-server && sudo apt-get install mysql-server se isso não funcionar, por favor deixe um comentário sobre a minha resposta e eu trabalharei com você para resolver este problema.

    
por Nathan Suchy 23.02.2013 / 20:42
0

Os scripts de instalação para todas as versões do Ubuntu após 12.04 não seguem o mesmo processo de configuração do 12.04. Em 12.04 você é explicitamente solicitado a definir a senha do mysql durante a instalação. Para o 12.10 e depois ele simplesmente pede a senha do root do mysql, mas qual é a senha? O script de instalação é um passo para trás. Eu recomendo instalar o 12.04 em uma máquina virtual e instalar o mysql lá. Se você é como eu e usar isso em conjunto com o Drupal, fique no 12.04.

    
por Gary 04.10.2013 / 03:41
0

Solução diferente para quem ainda tem problemas. Espero poder ajudar aqueles que estão tentando reinstalar o Mysql. Note, é uma missão de busca e destruição. Então esteja cansado. Assumindo sua raiz:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

Originalmente, algo remanescente estava interferindo na minha inicialização do mysqlserver-5.5. Esses comandos acabaram resolvendo o problema por mim mesmo.

    
por mastash3ff 24.07.2015 / 19:49