Failed to start MySQL Community Server. (start-limit-hit) Since i made an update last Friday (2019-01-25), on "Linux Mint 18.3 Sylvia", the mysql-server has broken.

My first solution approach was as following:

sudo apt purge mysql*
sudo apt autoremove
sudo update-grub
sudo apt update
sudo apt dist-upgrade
sudo apt install mysql-server
sudo ufw allow mysql


And I get the following error messages:

user@computer ~ $ systemctl status mysql.service
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since Mon 2019-01-28 10:29:06 CET; 4min 56s ago
  Process: 21680 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)

Jan 28 10:29:06 computer systemd[1]: Failed to start MySQL Community Server.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Unit entered failed state.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Failed with result 'exit-code'.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Jan 28 10:29:06 computer systemd[1]: Stopped MySQL Community Server.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Start request repeated too quickly.
Jan 28 10:29:06 computer systemd[1]: Failed to start MySQL Community Server.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Unit entered failed state.
Jan 28 10:29:06 computer systemd[1]: mysql.service: Failed with result 'start-limit-hit'.


user@computer ~ $ mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


According to this this side there should exist the following 3 config files after installing mysql-server:

ls /etc/my.cnf             # missing
ls /etc/mysql/my.cnf       # exists
ls /var/lib/mysql/my.cnf   # missing


However only one of them exits in my file-system and because i was curious about them, i looked on my notebook and there also only the second file exists and mysql works fine.

I am currently a bit stuck because the sites i found by doing research were all very specific and none of their solution approaches did either work or was not appropriate, because of similar error messages but in a different context.

Any help is appreciated, thanks!



EDIT:  

$ mysql --version 
mysql  Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using  EditLine wrapper


$ ls /var/log/mysql/
error.log       error.log.2.gz  error.log.4.gz  error.log.6.gz
error.log.1.gz  error.log.3.gz  error.log.5.gz


$ systemctl show mysql.service
Type=simple
Restart=on-failure
NotifyAccess=none
RestartUSec=100ms
TimeoutStartUSec=10min
TimeoutStopUSec=10min
RuntimeMaxUSec=infinity
WatchdogUSec=0
WatchdogTimestampMonotonic=0
FailureAction=none
PermissionsStartOnly=yes
RootDirectoryStartOnly=no
RemainAfterExit=no
GuessMainPID=yes
MainPID=0
ControlPID=0
FileDescriptorStoreMax=0
NFileDescriptorStore=0
StatusErrno=0
Result=start-limit-hit
ExecMainStartTimestampMonotonic=0
ExecMainExitTimestampMonotonic=0
ExecMainPID=0
ExecMainCode=0
ExecMainStatus=0
ExecStartPre={ path=/usr/share/mysql/mysql-systemd-start ; argv[]=/usr/share/mysql/mysql-systemd-start pre ; ignore_errors=no
ExecStart={ path=/usr/sbin/mysqld ; argv[]=/usr/sbin/mysqld ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ;
ExecStartPost={ path=/usr/share/mysql/mysql-systemd-start ; argv[]=/usr/share/mysql/mysql-systemd-start post ; ignore_errors=
Slice=system.slice
MemoryCurrent=18446744073709551615
CPUUsageNSec=18446744073709551615
TasksCurrent=18446744073709551615
Delegate=no
CPUAccounting=no
I got after running
sudo mysqld --initialize


  [ERROR] --initialize specified but the data directory has files in it. Aborting.


for me there was a single file in /var/lib/mysql/ that you could just remove

then I got further, but another error stopped me about apparmor where I followed this, which got me further still but am still stuck:

>


  Resolution
  Add permissions for the objects reported in the lines that start with 'name=' in the output to the file /etc/apparmor.d/usr.sbin.mysqld.
  
  In this example, it is required to add r permissions to /proc/*/status and /sys/devices/system/node/. The paths may be different depending on the error messages.
  
  Connect the server via SSH.
  Open the file /etc/apparmor.d/usr.sbin.mysqld in a text editor (for example, vi editor) and add the lines below at the end of the /usr/sbin/mysqld section at the end of the file:


/usr/sbin/mysqld {
...
/proc/*/status r,
/sys/devices/system/node/ r,
/sys/devices/system/node/node*/meminfo r,
/sys/devices/system/node/*/* r,
/sys/devices/system/node/* r,
...
}



  Reload AppArmor configuration for MySQL service:
  
  apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
  
  Start MySQL server:
  
  service mysql start
  
  Note: In case MySQL fails to start again, check the output of journalctl -xe for new error messages.