Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8.x] Ignore tablespaces in dump #39126

Merged
merged 1 commit into from
Oct 7, 2021

Conversation

ethanclevenger91
Copy link
Contributor

Less likely to hit permissions issues in newer versions of MySQL. See laravel/sail#250

Less likely to hit permissions issues in newer versions of MySQL
@GrahamCampbell GrahamCampbell changed the title Ignore tablespaces in dump [8.x] Ignore tablespaces in dump Oct 6, 2021
@GrahamCampbell
Copy link
Member

I don't think we can accept this into 8.x, since it's breaking. master is probably the correct target for this.

@driesvints
Copy link
Member

driesvints commented Oct 7, 2021

@GrahamCampbell I'm actually running into this right now with Sail as well. I think we should accept this on 8.x to get schema dumping working on sail again. Otherwise we'll need to look into configuring a specific MySQL user for Sail with the correct permissions.

I wonder what changed to Sail that's causing this.

@taylorotwell
Copy link
Member

Very likely this will break something. Every time we change schema:dump a mass of users complain :|

@taylorotwell taylorotwell merged commit e5bfb69 into laravel:8.x Oct 7, 2021
@driesvints
Copy link
Member

@ethanclevenger91 I confirmed this fixes things for me but like Taylor says we'll have to wait to see how this plays out. Will be released next Tuesday. Thanks!

@ethanclevenger91
Copy link
Contributor Author

@driesvints

I wonder what changed to Sail that's causing this.

Nothing. MySQL changed the permissions required for a user to read certain information off of the INFORMATION_SCHEMA tables in a patch version (8.0.21). See here and here.

The PROCESS privilege also enables use of the SHOW ENGINE statement, access to the INFORMATION_SCHEMA InnoDB tables (tables with names that begin with INNODB_), and (as of MySQL 8.0.21) access to the INFORMATION_SCHEMA FILES table.

mysqldump requires at least the SELECT privilege for dumped tables, SHOW VIEW for dumped views, TRIGGER for dumped triggers, LOCK TABLES if the --single-transaction option is not used, and (as of MySQL 8.0.21) PROCESS if the --no-tablespaces option is not used.

Since Sail uses the MySQL 8.0 image, once you update to 8.0.21, break.

Like I said, if anything, this change helps the framework mitigate someone else's non-semver, BC-breaking change.

@driesvints
Copy link
Member

@ethanclevenger91 ah thank you for that insight!

victorvilella pushed a commit to cdsistemas/framework that referenced this pull request Oct 12, 2021
Less likely to hit permissions issues in newer versions of MySQL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants