Homestead: Homestead issue with MySQL disk space 'ERROR 1114 (HY000) at line 9742: The table 'emails' is full'

Created on 11 Sep 2019  Â·  10Comments  Â·  Source: laravel/homestead

Versions

  • Vagrant: 2.2.5
  • Provider: Virtualbox 6.0
  • Homestead: most recent release branch.
  • MySQL: 5.7.27

Host operating system

macOS High Sierra version 10.13.6

Homestead.yaml

---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

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

sites:
    - map: metrics.test
      to: /home/vagrant/code/metrics/public
    - map: jjleads.test
      to: /home/vagrant/code/jared_james_leads/public
    - map: martinez.test
      to: /home/vagrant/code/martinez_crm/public
    - map: nacso.test
      to: /home/vagrant/code/nacso.org/public
    - map: nsamembersuite.test
      to: /home/vagrant/code/nsa_membersuite/public
    - map: esp.test
      to: /home/vagrant/code/esp_water_products/public
    - map: hero.test
      to: /home/vagrant/code/HeroQuote/public
    - map: limelight.test
      to: /home/vagrant/code/limelight_infusionsoft/public
    - map: projectexploration.test
      to: /home/vagrant/code/project_exploration/public
    - map: nevadaprojectexploration.test
      to: /home/vagrant/code/nevada_project_exploration/public
    - map: is_ez_lp_licensing.test
      to: /home/vagrant/code/is_ez_lp_licensing/public
    - map: successengineapps.test
      to: /home/vagrant/code/SuccessEngineApps/public
    - map: erply.test
      to: /home/vagrant/code/erply_infusionsoft/public
    - map: tmt_reporting.test
      to: /home/vagrant/code/tmt_reporting/public
    - map: sam.test
      to: /home/vagrant/code/SAM/public
    - map: defacilityreports.test
      to: /home/vagrant/code/de_facility_reports/public
    - map: tmt_sync.test
      to: /home/vagrant/code/tmt_sync/public
    - map: dev_site.test
      to: /home/vagrant/code/dev_site/public
    - map: tom-affiliate.test
      to: /home/vagrant/code/tom-affiliate/public
    - map: zooms3.test
      to: /home/vagrant/code/zooms3/public
    - map: seapps.test
      to: /home/vagrant/code/success-engine-apps/public
    - map: vpis.test
      to: /home/vagrant/code/visual_planner_infusionsoft/public
    - map: premierassistance.test
      to: /home/vagrant/code/premier-assistance/public
    - map: wqsold.test
      to: /home/vagrant/code/wqs-system/public
    - map: wqs.test
      to: /home/vagrant/code/WQS/public
    - map: fusionsynced.test
      to: /home/vagrant/code/fusion-synced/public
    - map: maxworthconsulting.test
      to: /home/vagrant/code/max-worth-consulting/public
    - map: tmtinfusionsync.test
      to: /home/vagrant/code/tmt-infusion-sync/public
    - map: brightphone.test
      to: /home/vagrant/code/brightphone/public
    - map: prowaterproducts.test
      to: /home/vagrant/code/pro-water-products/public
    - map: dentalenhancements.test
      to: /home/vagrant/code/dental-enhancements/public
    - map: kinesics.test
      to: /home/vagrant/code/kinesics/public
    - map: anatbanielmethod.test
      to: /home/vagrant/code/anatbanielmethod/public
    - map: sam2.test
      to: /home/vagrant/code/SAM2/public
    - map: sam2-old.test
      to: /home/vagrant/code/SAM2-old/public
    - map: api-sam.test
      to: /home/vagrant/code/SAM-server/public
    - map: tmt_reporting_va688.test
      to: /home/vagrant/code/tmt_reporting_va688/public
    - map: dewittsolutions.test
      to: /home/vagrant/code/DeWittSolutions/public

databases:
    - homestead

features:
    - mariadb: false
    - ohmyzsh: false
    - webdriver: false

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

Vagrant destroy & up output

https://gist.github.com/jakedewitt87/aacf5b2778ae2402a2f44b261db810f3

Expected behavior

What should have happened? Please include as much detail as possible.

So I was on Homestead version 3 and I needed to upgrade my Homestead to be able to install Laravel 6 (PHP 7.2 requirement). So I backed up all of my Homestead databases with a mysql dump command found on this site https://slick.pl/kb/laravel/how-to-backup-and-restore-all-databases-in-laravel-homestead/. I was able to back up the databases just fine and the resulting SQL dump file was 10.76 GB in size. I then proceeded to upgrade Homestead, VirtualBox, Vagrant, etc. The upgrade seemed to work fine but then when I went to import the databases back into the new version of Homestead the import only got so far, and the failed spitting out this error:

ERROR 1114 (HY000) at line 9742: The table 'emails' is full

There appears to be plenty of space still left on Homestead, and my Mac book has a total of 500 GB and it shows 200 GB still available. Also I tried to test if this was an issue with MySQL or the space available on this VirtualBox by copying the exported MySQL dump of 10.76 GB and I was able to copy it just fine without any issues on the VirtualBox. Though when I go to try and import any other data to my MySQL instance on Homestead it fails to run. Also I am running MySQL version 5.7.27. So it appears to be an issue with space available on MySQL, but I cannot seem to track down what that issue is. And this was all working before on Homestead. And it does import a few of my databases, but then stops part way through one of my larger client databases.

To ensure I was not messing something up I completely removed all of my Homestead box, VirtualBox, and Vagrant and started the install from the very beginning but got the same error. Also Homestead is running properly I am able to load my projects up just fine, but the issue is something with MySQL and the limitation in disk space. I just ran another MySQL dump to see how much of the data was imported, and the resulting MySQL dump is 6.16 GB in size.

Actual behavior

I expected the back up database to import properly and work like it did on the previous version of Homestead. Instead it failed part way through the import with the error: ERROR 1114 (HY000) at line 9742: The table 'emails' is full.

Steps to reproduce

  1. Install Homestead, VirtualBox, Vagrant
  2. Attempt to import a database or databases with a rough size of 10 GB

References

Most helpful comment

This would be ideal if it was configurable from the homestead.yaml.

All 10 comments

Please show the output of this command: sudo df -h

@deviantintegral I'm betting we're running out of room on the MySQL disk, what's an easy way to expand it? It should be able to easily expand out farther since it's LVM?

Here is the output:
vagrant@homestead:~/code$ sudo df -h Filesystem Size Used Avail Use% Mounted on udev 967M 0 967M 0% /dev tmpfs 200M 7.0M 193M 4% /run /dev/mapper/homestead--vg-root 18G 4.9G 12G 30% / tmpfs 997M 8.0K 997M 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 997M 0 997M 0% /sys/fs/cgroup /dev/mapper/homestead--vg-mysql--master 9.8G 9.3G 0 100% /homestead-vg/master vagrant 466G 311G 156G 67% /vagrant home_vagrant_code 466G 311G 156G 67% /home/vagrant/code tmpfs 200M 0 200M 0% /run/user/1000

That did not come out very clear here is a screenshot:

Screen Shot 2019-09-11 at 11 30 46 AM

Yeah, the MySQL volume group is full /dev/mapper/homestead--vg-mysql--master 9.8G 9.3G 0 100% /homestead-vg/master

It's been too long since I've resized LVM volumes but essentially you should resize the /dev/mapper/homestead--vg-mysql--master volume to accommodate all of your databases. @deviantintegral may have better instructions in that regard.

Thanks svpernova09, so I was able to figure this out by running this command:

sudo lvextend -r -l +100%FREE /dev/mapper/homestead--vg-mysql--master

That resized the MySQL disk space, and I was able to import the backed up databases without issue. Thank you!

Glad you got it working! Part of the reason we didn't autoexpand it is because I didn't want to reserve it for mysql when someone might be using postgres or something else.

Honestly, there's very little that's actually tied to mysql - we could easily do database snapshots with anything that lives on disk. Homestead 9 perhaps?

For now, two questions:

  • Anything we can do docs-wise to improve this?
  • In practice, how are the default volumes sizes working? 10GB was chosen at the time because it was 2x the largest Drupal database I'd worked with, but in the past month I recently encounted a 12GB database. I'm curious what would cover the majority of Laravel sites out there.

So I think it would be good to just place something in the docs stating
there is a MySQL disk/ file size limit of 10 GB, and how it can be expanded
if needed. I feel like 10 GB is probably sufficient for 90% or more of the
typically Laravel Homestead use cases, I just have a couple of clients that
I have been managing their systems and databases for several years and
their databases have grown over those years. So possibly more seasoned
Laravel developers may run into this limitation more often, but including
something in the docs I feel would be sufficient as it was a quick easy fix
once I found the root issue.

Best,
Jake

On Wed, Sep 11, 2019 at 8:00 PM Andrew Berry notifications@github.com
wrote:

Glad you got it working! Part of the reason we didn't autoexpand it is
because I didn't want to reserve it for mysql when someone might be using
postgres or something else.

Honestly, there's very little that's actually tied to mysql - we could
easily do database snapshots with anything that lives on disk. Homestead 9
perhaps?

For now, two questions:

  • Anything we can do docs-wise to improve this?
  • In practice, how are the default volumes sizes working? 10GB was
    chosen at the time because it was 2x the largest Drupal database I'd worked
    with, but in the past month I recently encounted a 12GB database. I'm
    curious what would cover the majority of Laravel sites out there.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/laravel/homestead/issues/1273?email_source=notifications&email_token=AA2RACGVT6WPQADQLE37LXTQJGWETA5CNFSM4IVXF7JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6QP2NY#issuecomment-530644279,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2RACB2C74KTJGB6KLLBIDQJGWETANCNFSM4IVXF7JA
.

This would be ideal if it was configurable from the homestead.yaml.

For me only works with sudo lvextend -r -L100G /dev/mapper/homestead--vg-mysql--master

Was this page helpful?
0 / 5 - 0 ratings

Related issues

svpernova09 picture svpernova09  Â·  3Comments

it-can picture it-can  Â·  3Comments

svpernova09 picture svpernova09  Â·  5Comments

bironeaj picture bironeaj  Â·  3Comments

alexdover picture alexdover  Â·  4Comments