laravel / homestead

MIT License
3.86k stars 1.44k forks source link

Vagrant up, mysql & mariadb fail to install properly #1854

Closed ttmwebdesign closed 1 year ago

ttmwebdesign commented 1 year ago

Please note that the Homestead issue tracker is reserved for bug reports and enhancements. We are not always able to debug Vagrant, Provider or Operating System issues, but will do our best to help. Thank you!

Versions

A lot of issues can be resolved by simply updating vagrant, provider or homestead.

Note: Virtualbox users, please upgrade to 6.x. You'll need to download a newer version of Virtualbox.

Host operating system

MacOS Ventura 13.2 (Intel chip -- NOT an M1 or M2 Mac)

Homestead.yaml

---
ip: "192.168.56.56"
memory: 8192
cpus: 2
provider: parallels

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Sites
      to: /home/vagrant/Sites

sites:
    - map: testsite.loc
      to: /home/vagrant/Sites/Test/public

databases:
    - testdb

features:
    - mysql: true
    - mariadb: true
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

services:
    - enabled:
          - "mysql"
#    - disabled:
#        - "postgresql@11-main"

#ports:
#    - send: 33060 # MySQL/MariaDB
#      to: 3306
#    - send: 4040
#      to: 4040
#    - send: 54320 # PostgreSQL
#      to: 5432
#    - send: 8025 # Mailhog
#      to: 8025
#    - send: 9600
#      to: 9600
#    - send: 27017
#      to: 27017

Vagrant destroy & up output

(https://gist.github.com/ttmwebdesign/c7348b0d22c57e99f03acf34881b9a8f)

Expected behavior

VM should build and run, database should be reachable

Actual behavior

MySQL and MariaDB both fail to install. I even wiped my computer and reinstalled Ventura from scratch, and it still fails to bring up a fully operational VM.

Steps to reproduce

  1. vagrant up (in my case, homestead up as I have my .bash_profile set up to switch it)
  2. wait for new VM to run through all of it's downloads & set ups.
  3. reaches the MySQL & Mariadb sections and fails to complete. More specifically it seems to hit this problem in php8.1-fpm and php8.2-fpm.
  4. VM is 'partially' installed - I can SSH into it, but the DB is unreachable, and NGINX also does not work, it won't even load a simple HTML page.

I have repeated this so many times in the last five days and have lost so much time it isn't funny. Even a fresh reload of my computer changed nothing.

References

Are there any other GitHub issues (open or closed) that should be linked here? For example:

browner12 commented 1 year ago

what happens if you try to install them separately?

features:
    - mysql: true
    - mariadb: false
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false
ttmwebdesign commented 1 year ago

My first attempt was just with mysql set to true - fail. Second, mariadb = true & mysql = false - fail. Then both true - failed. I even did an attempt with commenting out mysql from 'services', and that failed also -- all the same way.

My next attempt was going to try downloading an older box version and trying to specify it in the YAML file to see if that makes any difference.

edited to add: I cannot seem to get it to use a specific box version that I downloaded.

ttmwebdesign commented 1 year ago

Today I am trying this:

vagrant init laravel/homestead-mariadb

I'm curious if that one works any better. My preference is for MariaDB anyway, so my hope is that this will be a workaround to get my environment back on track.

m1tYo commented 1 year ago

I can confirm the issue.

Versions

Homestead.yaml

features:
    - mongodb: true
    - mysql: false
    - mariadb: true
    - postgresql: false
    - ohmyzsh: true
    - webdriver: false

# services:
    # - enabled:
    #       - "mysql"
#    - disabled:
#        - "postgresql@11-main"

I ran "vagrant up" with the debug flag and this is what I got in the section where mariadb was installed:

homestead: Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...
 INFO interface: detail: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
 INFO interface: detail:     homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
    homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
 INFO interface: detail:  mariadb-server
 INFO interface: detail:     homestead:  mariadb-server
    homestead:  mariadb-server
DEBUG ssh: stderr: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
 INFO interface: detail: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
 INFO interface: detail:     homestead: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
    homestead: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
 INFO interface: detail: Looking for 'mariadb' as: mariadb
 INFO interface: detail:     homestead: Looking for 'mariadb' as: mariadb
    homestead: Looking for 'mariadb' as: mariadb
 INFO interface: detail: Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...
 INFO interface: detail:     homestead: Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...
    homestead: Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...
 INFO interface: detail: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
 INFO interface: detail:     homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
    homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
 INFO interface: detail:  mariadb-server
 INFO interface: detail:     homestead:  mariadb-server
    homestead:  mariadb-server
 INFO interface: detail: We didn't find MariaDB ($mariadb), skipping $DB creation
 INFO interface: detail:     homestead: We didn't find MariaDB ($mariadb), skipping $DB creation
ttmwebdesign commented 1 year ago

Glad to know I'm not alone on this issue here. Also I was unaware that trying to use that homestead-mariadb version had a minimalistic Vagrant file, which is more than I was feeling like tackling so I have reverted it back to the one that comes with the latest Homestead and will await further advice. Something I was going to try was attempting a fresh install on my m1 laptop to see if the ARM version has any issues or if it's just the non-ARM version.

m1tYo commented 1 year ago

Glad to know I'm not alone on this issue here. Also I was unaware that trying to use that homestead-mariadb version had a minimalistic Vagrant file, which is more than I was feeling like tackling so I have reverted it back to the one that comes with the latest Homestead and will await further advice. Something I was going to try was attempting a fresh install on my m1 laptop to see if the ARM version has any issues or if it's just the non-ARM version.

this happens on my M1 with the -arm version

ttmwebdesign commented 1 year ago

this happens on my M1 with the -arm version

What box version is it using for that? 13.0.0?

ttmwebdesign commented 1 year ago

I tried an older version of Homestead (13.3.2), and a vagrant box version of 12.2.0 (instead of 13.0.0), and it still hits the same wall on my Intel Mac. I'm going to step back the vagrant version to 2.2.19, which I know works* with the latest Homestead & Parallels (I have an M1 iMac that I luckily somehow managed to not upgrade vagrant on), and see what happens there.

*Caveat: Works as in the existing VM runs; I did not destroy that VM when I upgraded Parallels and Homestead, so it continues to run. I do not know if I can actually do a new VM on that machine, I'm not willing to destroy the old one to find out.

m1tYo commented 1 year ago

this happens on my M1 with the -arm version

What box version is it using for that? 13.0.0?

Yes. Everything is the latest version.

ttmwebdesign commented 1 year ago

So even going back with these: Homestead: 13.2.2 Vagrant 2.2.19 laravel/homestead vagrant box v12.1.0 ...which does not have PHP8.2, PHP8.1 is still hitting this error first:

    test-build: Errors were encountered while processing:
    test-build:  php8.1-fpm
    test-build: E: Sub-process /usr/bin/dpkg returned an error code (1)

and then this one:

    test-build: Errors were encountered while processing:
    test-build:  php8.1-fpm
    test-build:  mariadb-server
    test-build: E: Sub-process /usr/bin/dpkg returned an error code (1)
    test-build: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: Failed to restart mysql.service: Unit mysql.service is masked.
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: Failed to restart mysql.service: Unit mysql.service is masked.
    test-build: Looking for 'mariadb' as: mariadb
    test-build: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
    test-build: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    test-build: FATAL ERROR: Upgrade failed
    test-build: Failed to restart mysql.service: Unit mysql.service is masked.
==> test-build: Running provisioner: shell...

I can't go back much further on the box versions; the whole reason I upgraded my main work machine was because I needed PHP8.2 for a project, and my old install (I don't even remember the versions anymore, but it was on VirtualBox, not Parallels) only went up to 8.0.

Since this machine is an Intel Mac, I suppose I could try using VirtualBox again as a provider, maybe it's the Parallels vagrant box that has something wrong with it?

ttmwebdesign commented 1 year ago

And the answer to that is: VirtualBox has the same problem with both php8.1-fpm & php8.2-fpm as well when it comes to mariadb-server, and I presume the same for mysql, but I stopped testing that one.

Next: trying with all of the 'features' disabled, and just mysql enabled in the services.

ttmwebdesign commented 1 year ago

So doing it that way gets me a database, but I am not certain I can specify PHP versions any longer? I end up with a 'bad gateway' error on a PHP7.3 site, but haven't tried one that works on PHP8.2 yet. I'll try that tomorrow - and if the higher versioned site works while the lower one doesn't, then I'm still stuck since I need to be able to customize the sites' PHP versions.

rndb8418 commented 1 year ago

Edit: The below didn't fully work, it appears the database users / setup isn't complete etc. I'm currently reverting to v13.2.1 of the laravel/homestead as anything above v13.3.0 appears to hit the same issue.

Original response:

I too ran into this issue on the latest versions (Homestead, Vagrant). It looks like there's an incomplete installation, but running these commands fixed the issues for me:

sudo chown -R mysql. /var/lib/mysql - as the ownership was root in my case so it was having issues starting, however not fully fixed until...

sudo apt-get install mariadb-server - this is already installed, but it triggered the following dialogue (answered y to all prompts):

Reading package lists... Done
Building dependency tree
Reading state information... Done
mariadb-server is already the newest version (1:10.10.3+maria~ubu2004).
0 upgraded, 0 newly installed, 0 to remove and 72 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...

Configuration file '/etc/mysql/debian-start'
 ==> Deleted (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** debian-start (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/mysql/debian-start ...

Configuration file '/etc/mysql/mariadb.conf.d/50-server.cnf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** 50-server.cnf (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/mysql/mariadb.conf.d/50-server.cnf ...
mariadb-extra.socket is a disabled or a static unit, not starting it.
mariadb-extra.socket is a disabled or a static unit, not starting it.
Setting up php8.2-fpm (8.2.2-3+ubuntu20.04.1+deb.sury.org+1) ...

Configuration file '/etc/php/8.2/fpm/pool.d/www.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** www.conf (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/php/8.2/fpm/pool.d/www.conf ...
NOTICE: Not enabling PHP 8.2 FPM by default.
NOTICE: To enable PHP 8.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Setting up php8.1-fpm (8.1.15-3+ubuntu20.04.1+deb.sury.org+1) ...

Configuration file '/etc/php/8.1/fpm/pool.d/www.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** www.conf (Y/I/N/O/D/Z) [default=N] ? y
Installing new version of config file /etc/php/8.1/fpm/pool.d/www.conf ...
NOTICE: Not enabling PHP 8.1 FPM by default.
NOTICE: To enable PHP 8.1 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.1-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for php8.2-fpm (8.2.2-3+ubuntu20.04.1+deb.sury.org+1) ...
NOTICE: Not enabling PHP 8.2 FPM by default.
NOTICE: To enable PHP 8.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for php8.1-fpm (8.1.15-3+ubuntu20.04.1+deb.sury.org+1) ...
NOTICE: Not enabling PHP 8.1 FPM by default.
NOTICE: To enable PHP 8.1 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.1-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

Once that had completed, running sudo systemctl start mariadb was successful.

Hope this helps you get up & running in the meantime until a fix is available.

rndb8418 commented 1 year ago

I had to revert to the vagrant box (settler) v11.5.0 in order for it to work, which meant v12.8.0 for homestead.

I tried different vagrant versions, different providers and the above was the only thing that resulted in a working database etc. on the VM.

ttmwebdesign commented 1 year ago

Edit: The below didn't fully work, it appears the database users / setup isn't complete etc. I'm currently reverting to v13.2.1 of the laravel/homestead as anything above v13.3.0 appears to hit the same issue.

That's a bummer, I was going to try that out today...

What is the highest level of PHP that is included with that version of Homestead? I am going to presume php8.0, which still leaves me unable to work on the project that prompted my efforts to upgrade in the first place, at least on my primary machine. Yay me for not thoroughly following the upgrade instructions on my M1 iMac and losing the one thing that still works.

ttmwebdesign commented 1 year ago

I ran that version of Homestead (v12.8.0) and it seems while it may have not automatically shipped with PHP8.1, it can be added as a requirement on one of the sites, and it appears to have installed it without issue. It would not do the same for PHP8.2, it said it was an invalid feature.

If that's true & PHP8.1 works on it (I still need to add the DB & files for the site in question, turns out it needs 8.1 not 8.2), then that will get me past this problem for the time being, but I would still hope for the primary problem to be addressed so when I do end up with a site that requires 8.2, that I can upgrade and continue working.

Sn0wCrack commented 1 year ago

Currently facing the same issue on the latest homestead and settler.

I wasn't encountering this around a week or so ago using v14.1.1, but seem to be facing it now regardless of version.

ALameLlama commented 1 year ago

Having the same issue, tried rolling back to 14.1, 13.2, 13.1 and running

vagrant box update
vagrant destroy && vagrant up && vagrant ssh
    homestead: Setting up mariadb-server (1:10.10.3+maria~ubu2004) ...
    homestead:
    homestead: Configuration file '/etc/mysql/debian-start'
    homestead:  ==> Deleted (by you or by a script) since installation.
    homestead:  ==> Package distributor has shipped an updated version.
    homestead:    What would you like to do about it ?  Your options are:
    homestead:     Y or I  : install the package maintainer's version
    homestead:     N or O  : keep your currently-installed version
    homestead:       D     : show the differences between the versions
    homestead:       Z     : start a shell to examine the situation
    homestead:  The default action is to keep your current version.
    homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ?
    homestead: Configuration file '/etc/mysql/debian-start'
    homestead:  ==> Deleted (by you or by a script) since installation.
    homestead:  ==> Package distributor has shipped an updated version.
    homestead:    What would you like to do about it ?  Your options are:
    homestead:     Y or I  : install the package maintainer's version
    homestead:     N or O  : keep your currently-installed version
    homestead:       D     : show the differences between the versions
    homestead:       Z     : start a shell to examine the situation
    homestead:  The default action is to keep your current version.
    homestead: *** debian-start (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package mariadb-server (--configure):
    homestead:  end of file on stdin at conffile prompt
    homestead: Setting up php8.1-fpm (8.1.15-3+ubuntu20.04.1+deb.sury.org+1) ...
    homestead:
    homestead: Configuration file '/etc/php/8.1/fpm/pool.d/www.conf'
    homestead:  ==> Modified (by you or by a script) since installation.
    homestead:  ==> Package distributor has shipped an updated version.
    homestead:    What would you like to do about it ?  Your options are:
    homestead:     Y or I  : install the package maintainer's version
    homestead:     N or O  : keep your currently-installed version
    homestead:       D     : show the differences between the versions
    homestead:       Z     : start a shell to examine the situation
    homestead:  The default action is to keep your current version.
    homestead: *** www.conf (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package php8.1-fpm (--configure):
    homestead:  end of file on stdin at conffile prompt
    homestead: Setting up libcurl4:amd64 (7.68.0-1ubuntu2.15) ...
    homestead: Setting up curl (7.68.0-1ubuntu2.15) ...
    homestead: Processing triggers for man-db (2.9.1-1) ...
    homestead: Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
    homestead: Errors were encountered while processing:
    homestead:  mariadb-server
    homestead:  php8.1-fpm
    homestead: E: Sub-process /usr/bin/dpkg returned an error code (1)
    homestead: Warning: apt-key output should not be parsed (stdout is not a terminal)
rndb8418 commented 1 year ago

I ran that version of Homestead (v12.8.0) and it seems while it may have not automatically shipped with PHP8.1, it can be added as a requirement on one of the sites, and it appears to have installed it without issue. It would not do the same for PHP8.2, it said it was an invalid feature.

If that's true & PHP8.1 works on it (I still need to add the DB & files for the site in question, turns out it needs 8.1 not 8.2), then that will get me past this problem for the time being, but I would still hope for the primary problem to be addressed so when I do end up with a site that requires 8.2, that I can upgrade and continue working.

Homestead 12.8.0 (with Settler 11.5) has PHP 8.1 installed by default, though it might not be active by default (running php8.1 fixes that). The sites run PHP 8.0 by default but I tend to specify the versions per site anyway in the config

markuspaks commented 1 year ago

I made made it working like that: After install failure log in to vgarant with vagrant ssh and inside machine sudo mv /etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf.dpkg-new /etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf sudo mv /etc/mysql/mariadb.conf.d/50-server.cnf.dpkg-new /etc/mysql/mariadb.conf.d/50-server.cnf sudo apt purge mariadb-common rm .homestead-features/mariadb exit

and then run vagrant up --provision in host machine

Sn0wCrack commented 1 year ago

Adding -o Dpkg::Options::="--force-confold" to the various feature install scripts seems to solve most of the issues and defaults the config file to use the existing one on the system.

It seems like DEBIAN_FRONTED=noninteractive doesn't automatically approve these dpkg prompts.

elcheco commented 1 year ago

I think the issue with MariaDB is connected with the latest MariaDB 10.10.3 - I have the same branch of homestead as a colleague of mine, but I installed it 2 weeks ago with 10.10.2 and it works for me. He tried it today and always it's dying on 10.10.3. Standard MySQL installation worked, unluckily it's not 100% compatible with our MariaDB set-up :-(

ttmwebdesign commented 1 year ago

I think the issue with MariaDB is connected with the latest MariaDB 10.10.3 - I have the same branch of homestead as a colleague of mine, but I installed it 2 weeks ago with 10.10.2 and it works for me. He tried it today and always it's dying on 10.10.3. Standard MySQL installation worked, unluckily it's not 100% compatible with our MariaDB set-up :-(

Is the MariaDB version something that is set up in Settler or within Homestead?

And that is odd that the standard MySQL version seemed to work for your colleague, I couldn't get any of them to work, but then that was last week, maybe I should try again? But I just got my project working on homestead 12.8.0, so I'm very leery of touching it again just yet.

elcheco commented 1 year ago

I think the issue with MariaDB is connected with the latest MariaDB 10.10.3 - I have the same branch of homestead as a colleague of mine, but I installed it 2 weeks ago with 10.10.2 and it works for me. He tried it today and always it's dying on 10.10.3. Standard MySQL installation worked, unluckily it's not 100% compatible with our MariaDB set-up :-(

Is the MariaDB version something that is set up in Settler or within Homestead?

And that is odd that the standard MySQL version seemed to work for your colleague, I couldn't get any of them to work, but then that was last week. Maybe I should try again? But I just got my project working on homestead 12.8.0, so I'm very leery of touching it again just yet.

Well, we are on Homestead v14.2.2, the latest vagrant is 2.3.4, and the box (Settler) is 13.0, but I set it up it 2-3 weeks ago, an my MariaDB version was 10.10.2, and yesterday it installed with 10.10.3. You can set the MariaDB in the Homestead.yaml, but how it is installed, I don't know, probably from apt where is now the 10.10.3 version.

This is the only difference I can see.

m1tYo commented 1 year ago

I'm still unable to get it to running. I tried having mysql: false and mariadb: true, vice versa, enabled and disabled the mysql services setting - still the same issue. This is the output with "mariadb": version: 10.10.2, "mysql": false and the services section commented out:

homestead: Errors were encountered while processing:
    homestead:  php8.2-fpm
    homestead:  php8.1-fpm
    homestead:  mariadb-server
    homestead: E: Sub-process /usr/bin/dpkg returned an error code (1)
    homestead: sed: can't read /etc/mysql/mariadb.conf.d/50-server.cnf: No such file or directory
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: Failed to restart mysql.service: Unit mysql.service is masked.
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: Failed to restart mysql.service: Unit mysql.service is masked.
    homestead: Looking for 'mariadb' as: mariadb
    homestead: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
    homestead: ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)
    homestead: FATAL ERROR: Upgrade failed
    homestead: Failed to restart mysql.service: Unit mysql.service is masked.

any pointers what I'm doing wrong?

ALameLlama commented 1 year ago

I didn't have time to narrow down where the issue is happening so i took a shotgun approach.

Find and replace all files from homestead root, enable regex and find apt-get ([A-Za-z]*) and replace with apt-get $1 -o Dpkg::Options::="--force-confold"

Then, update the homestead.rb file by escaping the quotes for Dpkg::Options::="--force-confold" with backslashes (\). Before: config.vm.provision "apt_update", type: "shell", inline: "apt-get update" After: config.vm.provision "apt_update", type: "shell", inline: "apt-get update -o Dpkg::Options::=\"--force-confold\""

Finally, run vagrant destroy && vagrant up --provision to apply the changes.

m1tYo commented 1 year ago

Ok, I think I managed to get it to work. After seeing this error

Failed to restart mysql.service: Unit mysql.service is masked.

I ssh-ed into the VM and removed mysql completely. Then I installed it again and typed in this command

systemctl unmask mysql.service

Then I proceeded with the commands from the mariadb.sh script from the homestead repo. It failed when it tried to execute commands with the root user, so I followed this guide here https://stackoverflow.com/a/41793945/3688139

Then I was able to create the databases on my own and it worked.

svpernova09 commented 1 year ago

You can't run mariadb and mysql at the same time.

rndb8418 commented 1 year ago

@svpernova09 - the problem occurs with just 1 set to true, OP said how it failed with just MySQL, just MariaDB, and both in their second comment.

What @LlamaDuckGoose wrote in their reply seems to fix the issue for me.

Sn0wCrack commented 1 year ago

@svpernova09 Can you please re-open this issue for further investigation? I think the issue itself simply may not not been explained well so far.

Like @rndb8418 mentioned this issue is pretty much always occurring for various packages that Homestead attempts to install during the provisioning process.

If you attempt to run vagrant up on a fresh Homestead installation now (on x86-64 if that makes a difference in this case) with the MariaDB feature enabled you should be able to replicate the issue initially mentioned by OP. You should also potentially find that some php-fpm systemd units haven't been started or enabled.

The issue from what we can gather is that there are already pre-created configuration files for various packages within the laravel/settler vagrant box, and when the Homestead features attmept to install or update these packages, there is a conflict with the installed versions and a new default config shipped by the maintainer, and because none of the apt-get install commands contain any automation for what to answer to the question provided, the install timeouts and fails to install or proceed with that particular feature, thus leaving you with MySQL uninstalled but no MariaDB installed due to apt-get timing out and not installing the package.

We've also noticed this same error occurs when the php8.1 and php8.2 features attempt to install, however for these its not too bad as it doesn't cause any major issues with the installation and just doesn't enabled the php-fpm systemd units. If you take a look at https://github.com/laravel/homestead/issues/1854#issuecomment-1432825932 or https://github.com/laravel/homestead/issues/1854#issuecomment-1425225860 you should be able to see how this is currently failing.

It's caused some pretty annoying issues with our on-boarding process with some of the new guys at our company trying to get Homestead setup for their local environments.

We've been using the workaround @LlamaDuckGoose mentioned here: https://github.com/laravel/homestead/issues/1854#issuecomment-1432844035, adding in the dpkg option to always keep the old configuration file essentially resolved this issue.

I'm happy to take a crack at a PR myself using what was previously posted to attempt to help resolve this issue, however I'm not sure what direction would be good for the project to take in resolving it so any advice on that would be appreciated.

Also happy to go into any further detail needed to help get this resolved or more understanding around the issue.

svpernova09 commented 1 year ago

Don't do this:

    - mysql: true
    - mariadb: true

It is never going to end well, you want one disabled and one enabled.

svpernova09 commented 1 year ago

Give 89f095b7bcca13ec6eab721ca84226e433b334e9 a spin? We may need to reconfigure PHP after this though.

0f6ade8816b36065b992087356f33fa7e2a6dbd0 should work and be completely automated.

Sn0wCrack commented 1 year ago

Really appreciate you having a look into this again.

I've attempted a fresh setup using the latest main branch and it seems to all be working just fine.

I do however get these notices in on the mysql systemd service that I've not noticed before, unsure if it's actually an issue or not since thing seem to be fine:

Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314575]: Upgrading MySQL tables if necessary.
Feb 23 22:09:20 homestead mariadbd[1314556]: 2023-02-23 22:09:20 3 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: FATAL ERROR: Upgrade failed
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314584]: Checking for insecure root accounts.
Feb 23 22:09:20 homestead mariadbd[1314556]: 2023-02-23 22:09:20 4 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead debian-start[1314587]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

For reference this is my (trimmed down) Homestead.yaml file and I'm running on macOS (x86) 13.2.1:

---
ip: "192.168.10.10"
memory: 4096
cpus: 4
provider: virtualbox
natdnshostresolver: 'off'

in-flight-service: true

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Documents/Development/homestead/ext
      to: /home/vagrant/ext
      type: "nfs"

    - map: ~/Documents/Development/backups
      to: /home/vagrant/backups
      type: "nfs"

    - map: ~/Documents/Development/Secret/core
      to: /home/vagrant/secret/core
      type: "nfs"

sites:
    - map: secret.test
      to: /home/vagrant/secret/core/public
      php: "7.4"
      type: apache

databases:
    - homestead

features:
    - mysql: false
    - mariadb: true
    - ohmyzsh: true
    - webdriver: false
svpernova09 commented 1 year ago

Really appreciate you having a look into this again.

I've attempted a fresh setup using the latest main branch and it seems to all be working just fine.

I do however get these notices in on the mysql systemd service that I've not noticed before, unsure if it's actually an issue or not since thing seem to be fine:

Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314575]: Upgrading MySQL tables if necessary.
Feb 23 22:09:20 homestead mariadbd[1314556]: 2023-02-23 22:09:20 3 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314578]: FATAL ERROR: Upgrade failed
Feb 23 22:09:20 homestead /etc/mysql/debian-start[1314584]: Checking for insecure root accounts.
Feb 23 22:09:20 homestead mariadbd[1314556]: 2023-02-23 22:09:20 4 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Feb 23 22:09:20 homestead debian-start[1314587]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

What's running that's causing it? The create database script?

For reference this is my (trimmed down) Homestead.yaml file and I'm running on macOS (x86) 13.2.1:

---
ip: "192.168.10.10"
memory: 4096
cpus: 4
provider: virtualbox
natdnshostresolver: 'off'

in-flight-service: true

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Documents/Development/homestead/ext
      to: /home/vagrant/ext
      type: "nfs"

    - map: ~/Documents/Development/backups
      to: /home/vagrant/backups
      type: "nfs"

    - map: ~/Documents/Development/Secret/core
      to: /home/vagrant/secret/core
      type: "nfs"

sites:
    - map: secret.test
      to: /home/vagrant/secret/core/public
      php: "7.4"
      type: apache

databases:
    - homestead

features:
    - mysql: false
    - mariadb: true
    - ohmyzsh: true
    - webdriver: false

you might want to add

services:
    - mysql: true

You probably want to remove this

in-flight-service: true
svpernova09 commented 1 year ago

on x86 Parallels, on latest main works

(Reading database ... 106660 files and directories currently installed.)
    homestead: Preparing to unpack .../00-mysql-common_1%3a10.11.2+maria~ubu2004_all.deb ...
    homestead: Unpacking mysql-common (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package mariadb-common.
    homestead: Preparing to unpack .../01-mariadb-common_1%3a10.11.2+maria~ubu2004_all.deb ...
    homestead: Unpacking mariadb-common (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package galera-4.
    homestead: Preparing to unpack .../02-galera-4_26.4.14-ubu2004_amd64.deb ...
    homestead: Unpacking galera-4 (26.4.14-ubu2004) ...
    homestead: Selecting previously unselected package libdbi-perl:amd64.
    homestead: Preparing to unpack .../03-libdbi-perl_1.643-1ubuntu0.1_amd64.deb ...
    homestead: Unpacking libdbi-perl:amd64 (1.643-1ubuntu0.1) ...
    homestead: Selecting previously unselected package libconfig-inifiles-perl.
    homestead: Preparing to unpack .../04-libconfig-inifiles-perl_3.000002-1_all.deb ...
    homestead: Unpacking libconfig-inifiles-perl (3.000002-1) ...
    homestead: Selecting previously unselected package libmariadb3:amd64.
    homestead: Preparing to unpack .../05-libmariadb3_1%3a10.11.2+maria~ubu2004_amd64.deb ...
    homestead: Unpacking libmariadb3:amd64 (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package mariadb-client-core.
    homestead: Preparing to unpack .../06-mariadb-client-core_1%3a10.11.2+maria~ubu2004_amd64.deb ...
    homestead: Unpacking mariadb-client-core (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package mariadb-client.
    homestead: Preparing to unpack .../07-mariadb-client_1%3a10.11.2+maria~ubu2004_amd64.deb ...
    homestead: Unpacking mariadb-client (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package libpmem1:amd64.
    homestead: Preparing to unpack .../08-libpmem1_1.8-1ubuntu1_amd64.deb ...
    homestead: Unpacking libpmem1:amd64 (1.8-1ubuntu1) ...
    homestead: Selecting previously unselected package mariadb-server-core.
    homestead: Preparing to unpack .../09-mariadb-server-core_1%3a10.11.2+maria~ubu2004_amd64.deb ...
    homestead: Unpacking mariadb-server-core (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package socat.
    homestead: Preparing to unpack .../10-socat_1.7.3.3-2_amd64.deb ...
    homestead: Unpacking socat (1.7.3.3-2) ...
    homestead: Setting up mysql-common (1:10.11.2+maria~ubu2004) ...
    homestead: Setting up mariadb-common (1:10.11.2+maria~ubu2004) ...
    homestead: update-alternatives: error: no alternatives for my.cnf
    homestead: update-alternatives: using /etc/mysql/mariadb.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
    homestead: Selecting previously unselected package mariadb-server.
(Reading database ... 107121 files and directories currently installed.)
    homestead: Preparing to unpack .../00-mariadb-server_1%3a10.11.2+maria~ubu2004_amd64.deb ...
    homestead: Unpacking mariadb-server (1:10.11.2+maria~ubu2004) ...
    homestead: Selecting previously unselected package libhtml-tagset-perl.
    homestead: Preparing to unpack .../01-libhtml-tagset-perl_3.20-4_all.deb ...
    homestead: Unpacking libhtml-tagset-perl (3.20-4) ...
    homestead: Selecting previously unselected package liburi-perl.
    homestead: Preparing to unpack .../02-liburi-perl_1.76-2_all.deb ...
    homestead: Unpacking liburi-perl (1.76-2) ...
    homestead: Selecting previously unselected package libhtml-parser-perl.
    homestead: Preparing to unpack .../03-libhtml-parser-perl_3.72-5_amd64.deb ...
    homestead: Unpacking libhtml-parser-perl (3.72-5) ...
    homestead: Selecting previously unselected package libcgi-pm-perl.
    homestead: Preparing to unpack .../04-libcgi-pm-perl_4.46-1_all.deb ...
    homestead: Unpacking libcgi-pm-perl (4.46-1) ...
    homestead: Selecting previously unselected package libfcgi-perl.
    homestead: Preparing to unpack .../05-libfcgi-perl_0.79-1_amd64.deb ...
    homestead: Unpacking libfcgi-perl (0.79-1) ...
    homestead: Selecting previously unselected package libcgi-fast-perl.
    homestead: Preparing to unpack .../06-libcgi-fast-perl_1%3a2.15-1_all.deb ...
    homestead: Unpacking libcgi-fast-perl (1:2.15-1) ...
    homestead: Selecting previously unselected package libmysqlclient21:amd64.
    homestead: Preparing to unpack .../07-libmysqlclient21_8.0.32-0ubuntu0.20.04.2_amd64.deb ...
    homestead: Unpacking libmysqlclient21:amd64 (8.0.32-0ubuntu0.20.04.2) ...
    homestead: Selecting previously unselected package libdbd-mariadb-perl.
    homestead: Preparing to unpack .../08-libdbd-mariadb-perl_1.11-3ubuntu2_amd64.deb ...
    homestead: Unpacking libdbd-mariadb-perl (1.11-3ubuntu2) ...
    homestead: Selecting previously unselected package libencode-locale-perl.
    homestead: Preparing to unpack .../09-libencode-locale-perl_1.05-1_all.deb ...
    homestead: Unpacking libencode-locale-perl (1.05-1) ...
    homestead: Selecting previously unselected package libhtml-template-perl.
    homestead: Preparing to unpack .../10-libhtml-template-perl_2.97-1_all.deb ...
    homestead: Unpacking libhtml-template-perl (2.97-1) ...
    homestead: Selecting previously unselected package libtimedate-perl.
    homestead: Preparing to unpack .../11-libtimedate-perl_2.3200-1_all.deb ...
    homestead: Unpacking libtimedate-perl (2.3200-1) ...
    homestead: Selecting previously unselected package libhttp-date-perl.
    homestead: Preparing to unpack .../12-libhttp-date-perl_6.05-1_all.deb ...
    homestead: Unpacking libhttp-date-perl (6.05-1) ...
    homestead: Selecting previously unselected package libio-html-perl.
    homestead: Preparing to unpack .../13-libio-html-perl_1.001-1_all.deb ...
    homestead: Unpacking libio-html-perl (1.001-1) ...
    homestead: Selecting previously unselected package liblwp-mediatypes-perl.
    homestead: Preparing to unpack .../14-liblwp-mediatypes-perl_6.04-1_all.deb ...
    homestead: Unpacking liblwp-mediatypes-perl (6.04-1) ...
    homestead: Selecting previously unselected package libhttp-message-perl.
    homestead: Preparing to unpack .../15-libhttp-message-perl_6.22-1_all.deb ...
    homestead: Unpacking libhttp-message-perl (6.22-1) ...
    homestead: Selecting previously unselected package libterm-readkey-perl.
    homestead: Preparing to unpack .../16-libterm-readkey-perl_2.38-1build1_amd64.deb ...
    homestead: Unpacking libterm-readkey-perl (2.38-1build1) ...
    homestead: Setting up libconfig-inifiles-perl (3.000002-1) ...
    homestead: Setting up galera-4 (26.4.14-ubu2004) ...
    homestead: Setting up libmysqlclient21:amd64 (8.0.32-0ubuntu0.20.04.2) ...
    homestead: Setting up libhtml-tagset-perl (3.20-4) ...
    homestead: Setting up liblwp-mediatypes-perl (6.04-1) ...
    homestead: Setting up libencode-locale-perl (1.05-1) ...
    homestead: Setting up socat (1.7.3.3-2) ...
    homestead: Setting up libio-html-perl (1.001-1) ...
    homestead: Setting up libmariadb3:amd64 (1:10.11.2+maria~ubu2004) ...
    homestead: Setting up libtimedate-perl (2.3200-1) ...
    homestead: Setting up libfcgi-perl (0.79-1) ...
    homestead: Setting up libterm-readkey-perl (2.38-1build1) ...
    homestead: Setting up libpmem1:amd64 (1.8-1ubuntu1) ...
    homestead: Setting up liburi-perl (1.76-2) ...
    homestead: Setting up libdbi-perl:amd64 (1.643-1ubuntu0.1) ...
    homestead: Setting up libhttp-date-perl (6.05-1) ...
    homestead: Setting up mariadb-client-core (1:10.11.2+maria~ubu2004) ...
    homestead: Setting up libdbd-mariadb-perl (1.11-3ubuntu2) ...
    homestead: Setting up libhtml-parser-perl (3.72-5) ...
    homestead: Setting up mariadb-server-core (1:10.11.2+maria~ubu2004) ...
    homestead: Setting up libhttp-message-perl (6.22-1) ...
    homestead: Setting up mariadb-client (1:10.11.2+maria~ubu2004) ...
    homestead: Setting up libcgi-pm-perl (4.46-1) ...
    homestead: Setting up libhtml-template-perl (2.97-1) ...
    homestead: Setting up mariadb-server (1:10.11.2+maria~ubu2004) ...
    homestead: Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.
    homestead: mariadb-extra.socket is a disabled or a static unit, not starting it.
    homestead: mariadb-extra.socket is a disabled or a static unit, not starting it.
    homestead: Setting up libcgi-fast-perl (1:2.15-1) ...
    homestead: Processing triggers for systemd (245.4-4ubuntu3.19) ...
    homestead: Processing triggers for man-db (2.9.1-1) ...
    homestead: Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
    homestead: Looking for 'mariadb' as: mariadb
    homestead: Looking for 'mariadb-check' as: mariadb-check
    homestead: Phase 1/7: Checking and upgrading mysql database
    homestead: Processing databases
    homestead: mysql
    homestead: mysql.column_stats                                 OK
    homestead: mysql.columns_priv                                 OK
    homestead: mysql.db                                           OK
    homestead: mysql.event                                        OK
    homestead: mysql.func                                         OK
    homestead: mysql.global_priv                                  OK
    homestead: mysql.gtid_slave_pos                               OK
    homestead: mysql.help_category                                OK
    homestead: mysql.help_keyword                                 OK
    homestead: mysql.help_relation                                OK
    homestead: mysql.help_topic                                   OK
    homestead: mysql.index_stats                                  OK
    homestead: mysql.innodb_index_stats                           OK
    homestead: mysql.innodb_table_stats                           OK
    homestead: mysql.plugin                                       OK
    homestead: mysql.proc                                         OK
    homestead: mysql.procs_priv                                   OK
    homestead: mysql.proxies_priv                                 OK
    homestead: mysql.roles_mapping                                OK
    homestead: mysql.servers                                      OK
    homestead: mysql.table_stats                                  OK
    homestead: mysql.tables_priv                                  OK
    homestead: mysql.time_zone                                    OK
    homestead: mysql.time_zone_leap_second                        OK
    homestead: mysql.time_zone_name                               OK
    homestead: mysql.time_zone_transition                         OK
    homestead: mysql.time_zone_transition_type                    OK
    homestead: mysql.transaction_registry                         OK
    homestead: Phase 2/7: Installing used storage engines... Skipped
    homestead: Phase 3/7: Fixing views
    homestead: Processing databases
    homestead: information_schema
    homestead: mysql
    homestead: mysql.user                                         OK
    homestead: performance_schema
    homestead: sys
    homestead: sys.host_summary                                   OK
    homestead: sys.host_summary_by_file_io                        OK
    homestead: sys.host_summary_by_file_io_type                   OK
    homestead: sys.host_summary_by_stages                         OK
    homestead: sys.host_summary_by_statement_latency              OK
    homestead: sys.host_summary_by_statement_type                 OK
    homestead: sys.innodb_buffer_stats_by_schema                  OK
    homestead: sys.innodb_buffer_stats_by_table                   OK
    homestead: sys.innodb_lock_waits                              OK
    homestead: sys.io_by_thread_by_latency                        OK
    homestead: sys.io_global_by_file_by_bytes                     OK
    homestead: sys.io_global_by_file_by_latency                   OK
    homestead: sys.io_global_by_wait_by_bytes                     OK
    homestead: sys.io_global_by_wait_by_latency                   OK
    homestead: sys.latest_file_io                                 OK
    homestead: sys.memory_by_host_by_current_bytes                OK
    homestead: sys.memory_by_thread_by_current_bytes              OK
    homestead: sys.memory_by_user_by_current_bytes                OK
    homestead: sys.memory_global_by_current_bytes                 OK
    homestead: sys.memory_global_total                            OK
    homestead: sys.metrics                                        OK
    homestead: sys.processlist                                    OK
    homestead: sys.ps_check_lost_instrumentation                  OK
    homestead: sys.schema_auto_increment_columns                  OK
    homestead: sys.schema_index_statistics                        OK
    homestead: sys.schema_object_overview                         OK
    homestead: sys.schema_redundant_indexes                       OK
    homestead: sys.schema_table_lock_waits                        OK
    homestead: sys.schema_table_statistics                        OK
    homestead: sys.schema_table_statistics_with_buffer            OK
    homestead: sys.schema_tables_with_full_table_scans            OK
    homestead: sys.schema_unused_indexes                          OK
    homestead: sys.session                                        OK
    homestead: sys.session_ssl_status                             OK
    homestead: sys.statement_analysis                             OK
    homestead: sys.statements_with_errors_or_warnings             OK
    homestead: sys.statements_with_full_table_scans               OK
    homestead: sys.statements_with_runtimes_in_95th_percentile    OK
    homestead: sys.statements_with_sorting                        OK
    homestead: sys.statements_with_temp_tables                    OK
    homestead: sys.user_summary                                   OK
    homestead: sys.user_summary_by_file_io                        OK
    homestead: sys.user_summary_by_file_io_type                   OK
    homestead: sys.user_summary_by_stages                         OK
    homestead: sys.user_summary_by_statement_latency              OK
    homestead: sys.user_summary_by_statement_type                 OK
    homestead: sys.version                                        OK
    homestead: sys.wait_classes_global_by_avg_latency             OK
    homestead: sys.wait_classes_global_by_latency                 OK
    homestead: sys.waits_by_host_by_latency                       OK
    homestead: sys.waits_by_user_by_latency                       OK
    homestead: sys.waits_global_by_latency                        OK
    homestead: sys.x$host_summary                                 OK
    homestead: sys.x$host_summary_by_file_io                      OK
    homestead: sys.x$host_summary_by_file_io_type                 OK
    homestead: sys.x$host_summary_by_stages                       OK
    homestead: sys.x$host_summary_by_statement_latency            OK
    homestead: sys.x$host_summary_by_statement_type               OK
    homestead: sys.x$innodb_buffer_stats_by_schema                OK
    homestead: sys.x$innodb_buffer_stats_by_table                 OK
    homestead: sys.x$innodb_lock_waits                            OK
    homestead: sys.x$io_by_thread_by_latency                      OK
    homestead: sys.x$io_global_by_file_by_bytes                   OK
    homestead: sys.x$io_global_by_file_by_latency                 OK
    homestead: sys.x$io_global_by_wait_by_bytes                   OK
    homestead: sys.x$io_global_by_wait_by_latency                 OK
    homestead: sys.x$latest_file_io                               OK
    homestead: sys.x$memory_by_host_by_current_bytes              OK
    homestead: sys.x$memory_by_thread_by_current_bytes            OK
    homestead: sys.x$memory_by_user_by_current_bytes              OK
    homestead: sys.x$memory_global_by_current_bytes               OK
    homestead: sys.x$memory_global_total                          OK
    homestead: sys.x$processlist                                  OK
    homestead: sys.x$ps_digest_95th_percentile_by_avg_us          OK
    homestead: sys.x$ps_digest_avg_latency_distribution           OK
    homestead: sys.x$ps_schema_table_statistics_io                OK
    homestead: sys.x$schema_flattened_keys                        OK
    homestead: sys.x$schema_index_statistics                      OK
    homestead: sys.x$schema_table_lock_waits                      OK
    homestead: sys.x$schema_table_statistics                      OK
    homestead: sys.x$schema_table_statistics_with_buffer          OK
    homestead: sys.x$schema_tables_with_full_table_scans          OK
    homestead: sys.x$session                                      OK
    homestead: sys.x$statement_analysis                           OK
    homestead: sys.x$statements_with_errors_or_warnings           OK
    homestead: sys.x$statements_with_full_table_scans             OK
    homestead: sys.x$statements_with_runtimes_in_95th_percentile  OK
    homestead: sys.x$statements_with_sorting                      OK
    homestead: sys.x$statements_with_temp_tables                  OK
    homestead: sys.x$user_summary                                 OK
    homestead: sys.x$user_summary_by_file_io                      OK
    homestead: sys.x$user_summary_by_file_io_type                 OK
    homestead: sys.x$user_summary_by_stages                       OK
    homestead: sys.x$user_summary_by_statement_latency            OK
    homestead: sys.x$user_summary_by_statement_type               OK
    homestead: sys.x$wait_classes_global_by_avg_latency           OK
    homestead: sys.x$wait_classes_global_by_latency               OK
    homestead: sys.x$waits_by_host_by_latency                     OK
    homestead: sys.x$waits_by_user_by_latency                     OK
    homestead: sys.x$waits_global_by_latency                      OK
    homestead: Phase 4/7: Running 'mysql_fix_privilege_tables'
    homestead: Phase 5/7: Fixing table and database names
    homestead: Processing databases
    homestead: information_schema
    homestead: mysql
    homestead: performance_schema
    homestead: sys
    homestead: Phase 6/7: Checking and upgrading tables
    homestead: Processing databases
    homestead: information_schema
    homestead: performance_schema
    homestead: sys
    homestead: sys.sys_config                                     OK
    homestead: Phase 7/7: Running 'FLUSH PRIVILEGES'
    homestead: OK
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead: Ignoring feature: postgresql because it is set to false
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead: Ignoring feature: ohmyzsh because it is set to false
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
    homestead: Ignoring feature: webdriver because it is set to false
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/x7/_nqmg9c124v4y2q164lwxzjh0000gn/T/vagrant-shell20230223-79781-aeg2jp.sh
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/x7/_nqmg9c124v4y2q164lwxzjh0000gn/T/vagrant-shell20230223-79781-fbui9d.sh
==> homestead: Running provisioner: Creating Certificate: fresh.test (shell)...
    homestead: Running: script: Creating Certificate: fresh.test
    homestead: Updating certificates in /etc/ssl/certs...
    homestead: rehash: warning: skipping duplicate certificate in ca.homestead.homestead.crt
    homestead: rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
    homestead: 1 added, 0 removed; done.
    homestead: Running hooks in /etc/ca-certificates/update.d...
    homestead: done.
==> homestead: Running provisioner: Creating Site: fresh.test (shell)...
    homestead: Running: script: Creating Site: fresh.test
==> homestead: Running provisioner: shell...
    homestead: Running: inline script
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/x7/_nqmg9c124v4y2q164lwxzjh0000gn/T/vagrant-shell20230223-79781-1go598m.sh
==> homestead: Running provisioner: Checking for old Schedule (shell)...
    homestead: Running: script: Checking for old Schedule
==> homestead: Running provisioner: Clear Variables (shell)...
    homestead: Running: script: Clear Variables
==> homestead: Running provisioner: Restarting Cron (shell)...
    homestead: Running: script: Restarting Cron
==> homestead: Running provisioner: Restart Webserver (shell)...
    homestead: Running: script: Restart Webserver
==> homestead: Running provisioner: Creating MySQL / MariaDB Database: snipe_it (shell)...
    homestead: Running: script: Creating MySQL / MariaDB Database: snipe_it
    homestead: We didn't find MySQL ($mysql), skipping $DB creation
==> homestead: Running provisioner: Creating MySQL / MariaDB Database: snipe_it_test (shell)...
    homestead: Running: script: Creating MySQL / MariaDB Database: snipe_it_test
    homestead: We didn't find MySQL ($mysql), skipping $DB creation
==> homestead: Running provisioner: Update Composer (shell)...
    homestead: Running: script: Update Composer
    homestead: Upgrading to version 2.5.4 (stable channel).
    homestead:
    homestead: Use composer self-update --rollback to return to version 2.5.1
==> homestead: Running provisioner: shell...
    homestead: Running: /var/folders/x7/_nqmg9c124v4y2q164lwxzjh0000gn/T/vagrant-shell20230223-79781-18v8dcq.sh
==> homestead: Running provisioner: Update motd (shell)...
    homestead: Running: script: Update motd
==> homestead: Running provisioner: Run after.sh (shell)...
    homestead: Running: /var/folders/x7/_nqmg9c124v4y2q164lwxzjh0000gn/T/vagrant-shell20230223-79781-iyj5k8.sh
ALameLlama commented 1 year ago

Confirming, This also resolved the issue for me too,

Sn0wCrack commented 1 year ago

Those particular warnings seem to show up when running systemctl status mysql and systemctl status mariadb (so they're in journald) looks like the warnings com from MySQL's startup script under /etc/mysql/debian-start

From what I can tell in this script it attempts to run mysql_upgrade using no login details as the root user, so it tries to login as root to MySQL using no password, which now fails as Homestead sets seems to set the root password to "secret".

Given that "secret" has been used on the root MySQL user for a while now, I don't imagine this will be a massive issue, as all it seems to fail at doing is attempting a mysql_upgrade on startup.

I've also applied those changes to my Homestead.yaml file you've mentioned and things still appear to run the same on a fresh install as before and those notices still appear.

LucaRed commented 1 year ago

Give 89f095b a spin?

I confirm this fixes the problem. MariaDB now works on a new system!

ALameLlama commented 1 year ago

It looks like some of the php-fpm's are starting anymore when you reboot homestead.

vagrant@homestead:~$ service --status-all
 [ - ]  apache-htcacheclean
 [ + ]  apache2
 [ + ]  apparmor
 [ + ]  apport
 [ + ]  atd
 [ + ]  avahi-daemon
 [ + ]  beanstalkd
 [ + ]  binfmt-support
 [ + ]  chrony
 [ - ]  console-setup.sh
 [ + ]  cron
 [ - ]  cryptdisks
 [ - ]  cryptdisks-early
 [ + ]  dbus
 [ + ]  docker
 [ - ]  grub-common
 [ - ]  hwclock.sh
 [ + ]  irqbalance
 [ - ]  iscsid
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ - ]  lvm2
 [ - ]  lvm2-lvmpolld
 [ + ]  mariadb
 [ + ]  memcached
 [ + ]  multipath-tools
 [ - ]  nginx
 [ - ]  open-iscsi
 [ - ]  open-vm-tools
 [ - ]  php5.6-fpm
 [ - ]  php7.0-fpm
 [ - ]  php7.1-fpm
 [ - ]  php7.2-fpm
 [ - ]  php7.3-fpm
 [ - ]  php7.4-fpm
 [ - ]  php8.0-fpm
 [ + ]  php8.1-fpm
 [ + ]  php8.2-fpm
 [ - ]  plymouth
 [ - ]  plymouth-log
 [ + ]  postfix
 [ - ]  postgresql
 [ + ]  procps
 [ + ]  rabbitmq-server
 [ + ]  redis-server
 [ - ]  rsync
 [ + ]  rsyslog
 [ - ]  screen-cleanup
 [ + ]  ssh
 [ + ]  supervisor
 [ + ]  sysstat
 [ + ]  udev
 [ + ]  ufw
 [ + ]  unattended-upgrades
 [ - ]  uuidd
 [ - ]  x11-common

Since trying this I've needed to start some of the older php fpm's manually using sudo service php7.4-fpm restart

I have multiple sites set up ranging from PHP 7.4 - 8.1

georanma commented 1 year ago

Give 89f095b a spin? We may need to reconfigure PHP after this though.

0f6ade8 should work and be completely automated.

Had a similar issue today when installing fresh on PopOS (ubuntu). Using this commit got me past the failing mariadb install.

levaconline commented 1 year ago

So, is it problem with Mariadb or with newest Homestead? When we can expect fixed version?

svpernova09 commented 1 year ago

So, is it problem with Mariadb or with newest Homestead? When we can expect fixed version?

I need to tag a new release which will contain the fixes for MariaDB

svpernova09 commented 1 year ago

Thanks everyone.

Resolved by https://github.com/laravel/homestead/releases/tag/v14.3.0