O servidor MySQL não inicia devido a permissões perdidas, mas elas são fornecidas

1

Eu apenas copiei meu antigo conjunto de bancos de dados para / var / lib / mysql e obtive algo estranho. Primeiro as permissões eram "root: root", porque eu usei "sudo mc" para copiar o backup do local de backup. Eu corri chmod e chown para caber as permissões antigas e até mesmo comparado com uma instalação limpa em outro computador e as permissões devem estar bem. No entanto, ainda recebo a mensagem de que o mysqld não pode chdir para / var / lib / mysql

Aqui a saída do console:

thopiekar@gate:~$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Di 2016-05-03 22:44:07 CEST; 15s ago
  Process: 9760 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 9754 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 9760 (code=exited, status=1/FAILURE);         : 9761 (mysql-systemd-s)
    Tasks: 2 (limit: 512)
   CGroup: /system.slice/mysql.service
           └─control
             ├─9761 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─9894 sleep 1

Mai 03 22:44:07 gate systemd[1]: Stopped MySQL Community Server.
Mai 03 22:44:07 gate systemd[1]: Starting MySQL Community Server...
Mai 03 22:44:08 gate mysqld[9760]: mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.130902Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.131097Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.274970Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275222Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275449Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.11-0ubuntu6) starting as process 9760 ...
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.285371Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
thopiekar@gate:~$ sudo ls -la /var/lib/mysql/
insgesamt 145460
drw-r-----  8 mysql mysql     4096 Mai  3 22:29 .
drwxr-xr-x 87 root  root      4096 Apr 30 00:05 ..
-rw-r-----  1 mysql mysql       56 Apr 30 00:06 auto.cnf
-rw-r-----  1 mysql mysql        0 Apr 30 00:06 debian-5.7.flag
-rw-r-----  1 mysql mysql      657 Mai  2 10:33 ib_buffer_pool
-rw-r-----  1 mysql mysql 35651584 Mai  2 10:33 ibdata1
-rw-r-----  1 mysql mysql 50331648 Mai  3 22:29 ib_logfile0
-rw-r-----  1 mysql mysql 50331648 Apr 29 15:08 ib_logfile1
-rw-r-----  1 mysql mysql 12582912 Mai  3 22:29 ibtmp1
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 mysql
drwxr-x---  2 mysql mysql     4096 Mai  2 09:46 MXYZ
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 performance_schema
drwxr-x---  2 mysql mysql    12288 Apr 30 00:06 sys
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XY
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XYZ

Alguém pode me explicar isso? Obrigado!

    
por thopiekar 03.05.2016 / 22:54

1 resposta

0

Você afirmou que " acabou de copiar meu antigo conjunto de bancos de dados " A palavra " copiando " nesta situação poderia implicar uma abordagem incorreta. É claro que sua "cópia" pode ter envolvido outras etapas não divulgadas. O MySQL parece estar estruturado para exportar seus bancos de dados e então importá-los para o banco de dados " novo ". Cópia não real.

Você ainda tem sua configuração original do MySQL operacional? As bases de dados ainda estão lá e são acessíveis?

Você tem o MySQL instalado em seu "novo" sistema?

Você tem o phpMyAdmin instalado? Se não olhar para como usar o mysqldump .

Se o phpMyAdmin estiver disponível, use o phpMyAdmin para exportar seus bancos de dados. Depois disso, copie a saída para a pasta de download do sistema de computador " novo ".

No sistema de computador " novo ", use novamente o phpMyAdmin, mas, neste caso, importe os bancos de dados da pasta de downloads. Importar seus bancos de dados deve resolver seu problema de permissões.

Para obter mais orientações detalhadas sobre como exportar / importar, faça uma pesquisa na Internet em " exportando bancos de dados mysql ".

Aqui está um exemplo de seleção aleatória baseado no uso do mysqldump: " Exportar e importar todos os bancos de dados MySQL de uma só vez "

    
por Steve R. 03.05.2016 / 23:58