El servidor MySQL no se inicia debido a que faltan permisos, pero se los otorgan.

El servidor MySQL no se inicia debido a que faltan permisos, pero se los otorgan.

Acabo de copiar mi antiguo conjunto de bases de datos en /var/lib/mysql y obtuve algo extraño. Primero, los permisos eran "root:root", porque usé "sudo mc" para copiar la copia de seguridad desde la ubicación de la copia de seguridad. Ejecuté chmod y chown para ajustarme a los permisos anteriores e incluso los comparé con una instalación limpia en otra computadora y los permisos deberían estar bien. Sin embargo, sigo recibiendo el mensaje de que mysqld no puede acceder a /var/lib/mysql.

Aquí la salida de la consola:

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

Puede alguien explicarme esto? ¡Gracias!

Respuesta1

Usted dijo que "Acabo de copiar mi antiguo conjunto de bases de datos." La palabra "proceso de copiar" en esta situación podría implicar un enfoque incorrecto. Por supuesto que tu "proceso de copiar" puede haber implicado otros pasos no revelados. MySQL parece estar estructurado paraexportarsus bases de datos y luegoimportarellos en el "nuevo"base de datos. No es una copia real.

¿Aún tienes operativa tu configuración MySQL original? ¿Las bases de datos siguen ahí y son accesibles?

¿Tiene MySQL instalado en su "nuevo" sistema?

¿Tienes phpMyAdmin instalado? Si no, mira cómo usarlo.mysqldump.

Si phpMyAdmin está disponible, utilice phpMyAdmin para exportar sus bases de datos. Después de eso, copie el resultado a la carpeta de descarga de "nuevo" sistema informático.

Sobre el "nuevo"sistema informático, use nuevamente phpMyAdmin, pero en este caso, para importar las bases de datos desde la carpeta de descarga. La importación de sus bases de datos debería resolver su problema de permisos.

Para obtener orientación adicional más detallada sobre cómo exportar/importar, realice una búsqueda en Internet en "mysql exportando bases de datos".

Aquí hay un ejemplo de selección aleatoria basado en el uso de mysqldump: "Exporte e importe todas las bases de datos MySQL a la vez"

información relacionada