Então, o problema é que eu não havia preenchido as tabelas de fuso horário. A execução desse comando corrigiu meu problema:
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Eu quero definir o fuso horário padrão da minha instalação do MySQL para o UTC. O fuso horário do meu sistema é Australia / Brisbane, e eu quero deixar dessa forma, eu só quero definir o fuso horário padrão para o MySQL. Eu adicionei a seguinte linha a /etc/mysql/mysql.conf.d/mysqld.cnf
default_time_zone=UTC
mas agora meu mysql.service não inicia.
systemctl start mysql.service
me dá:
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
systemctl status mysql.service
me diz:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Thu 2018-01-11 09:36:12 AEST; 11s ago
Process: 556 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Process: 549 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 556 (code=exited, status=1/FAILURE); Control PID: 557 (mysql-systemd-s)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/mysql.service
└─control
├─557 /bin/bash /usr/share/mysql/mysql-systemd-start post
└─606 sleep 1
Jan 11 09:36:12 irregular-apocalypse systemd[1]: Starting MySQL Community Server...
Jan 11 09:36:14 irregular-apocalypse systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
journalctl -xe
me dá:
Jan 11 09:37:15 irregular-apocalypse systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has begun starting up.
Jan 11 09:37:15 irregular-apocalypse audit[757]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/757/status" pid=757 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=122 ouid=
Jan 11 09:37:15 irregular-apocalypse audit[757]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=757 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=
Jan 11 09:37:15 irregular-apocalypse audit[757]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/757/status" pid=757 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=122 ouid=
Jan 11 09:37:15 irregular-apocalypse kernel: audit: type=1400 audit(1515627435.055:544): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/757/status" pid=757 comm="mysqld" requested_mask
Jan 11 09:37:15 irregular-apocalypse kernel: audit: type=1400 audit(1515627435.055:545): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=757 comm="mysqld" reque
Jan 11 09:37:15 irregular-apocalypse kernel: audit: type=1400 audit(1515627435.055:546): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/757/status" pid=757 comm="mysqld" requested_mask
Jan 11 09:37:16 irregular-apocalypse systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Eu examinei os erros do apparmor e concluí que eles não estão contribuindo para o meu problema, pois esses mesmos erros estão presentes se eu remover o item default_time_zone
config e iniciar o servidor:
Jan 11 09:40:14 irregular-apocalypse systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has begun starting up.
Jan 11 09:40:14 irregular-apocalypse audit[1516]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1516/status" pid=1516 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=122 ou
Jan 11 09:40:14 irregular-apocalypse audit[1516]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1516 comm="mysqld" requested_mask="r" denied_mask="r" fsui
Jan 11 09:40:14 irregular-apocalypse audit[1516]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1516/status" pid=1516 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=122 ou
Jan 11 09:40:14 irregular-apocalypse kernel: audit: type=1400 audit(1515627614.793:562): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1516/status" pid=1516 comm="mysqld" requested_ma
Jan 11 09:40:14 irregular-apocalypse kernel: audit: type=1400 audit(1515627614.793:563): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1516 comm="mysqld" requ
Jan 11 09:40:14 irregular-apocalypse kernel: audit: type=1400 audit(1515627614.793:564): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1516/status" pid=1516 comm="mysqld" requested_ma
Jan 11 09:40:15 irregular-apocalypse systemd[1]: Started MySQL Community Server.
-- Subject: Unit mysql.service has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit mysql.service has finished starting up.
--
-- The start-up result is done.
O único arquivo que tenho em /var/log/mysql
é error.log
e não contém nada relacionado à inicialização com falha. Não consigo encontrar nenhum arquivo * .err ou * .log no meu diretório de dados ( /var/lib/mysql
).
Eu removi e reinstalei o servidor-mysql várias vezes sem efeito.
Minha pergunta é realmente duas:
Esta é a maneira correta de definir o default_time_zone para o MySQL? Se não, como faço isso?
Não respondendo à pergunta 1 resolvendo meu problema, como descobrir o que está causando o erro no MySQL iniciando?
SO: Ubuntu Desktop 17.10
MySQL: 5.7
Então, o problema é que eu não havia preenchido as tabelas de fuso horário. A execução desse comando corrigiu meu problema:
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql