[MDEV-9077] bundle sys schema Created: 2015-11-03  Updated: 2022-01-15  Resolved: 2021-03-23

Status: Closed
Project: MariaDB Server
Component/s: OTHER
Fix Version/s: 10.6.0

Type: Task Priority: Critical
Reporter: Sergei Golubchik Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 21
Labels: None

Issue Links:
Duplicate
PartOf
includes MDEV-24388 Implement schema_unused_indexes in pe... Closed
Relates
relates to MDEV-24310 Implement option to allow performance... Open
relates to MDEV-27517 mariadb-upgrade from MySQL 5.7 pollut... Open
relates to MDEV-15706 Remove information_schema.innodb_metr... Open

 Description   

Distribute sys schema with MariaDB.

Quite possibly it'll need some changes to work with MariaDB 10.6, so we'll need to clone the repo and apply our changes.
In MySQL it's part of mysqld binary (for --initialize, I suppose). The repo is small, we can just include it in the server repo, as it's not a separate independent project really.



 Comments   
Comment by Colin Charles [ 2015-11-10 ]

MariaDB compliant one from jcrespohttps://github.com/jynus/mysql-sys – this is something we could even merge into 10.1

Comment by guo feng [ 2015-11-26 ]

Hope sys schema could come soon!

Comment by Kelli Grand [ 2019-06-19 ]

Hello,

My name is Kelli Grand, and I'm a product owner at cPanel. We are very interested in this change and would like to see this case get resolved. Can you please provide me with an update on the status of this case?

The impact of this problem is very high, from the number of tickets our customers create against it.

cPanel & WHM currently ship with MySQL 5.7 with conversion paths to Maria 10.2 and 10.3. As of January this year, there was an update to MySQL 5.7 that includes these tables. mysql_ugprade script does not currently support these tables, and it is producing these kinds of problems for end users:

  • Inability to run mysqldump or mysqlbackup due to errors
  • phpMyAdmin will not load
  • Errors in the logs

We have a lot of customers on older versions of MySQL at this time, and are actively encouraging them to update. In the future when we no longer support MySQL 5.6, there will be even more customers experiencing this problem if they choose to migrate to MariaDB.

Comment by Jaime Crespo [ 2019-06-20 ]

@Kelli I am not involved with MariaDB development, but I can help with a workaround. Colin linked above my patch for 10.1. We use it at Wikipedia for all our servers, as sys/performance_schema is key for us to do proper monitoring and profiling. I will soon review it to update it to the latest MySQL code base (at least for those features that it is feasible, and are not a hard dependency on MySQL new features. For migrations, old sys schema should be deleted and a MariaDB compatible one should be used instead, as MariaDB doesn't have things like UUID, certain metrics and there could be issues with the new data dictionary, among other differences. I of course will offer the patch to MariaDB developers if they want to bundle it by default.

I think it would be a great idea for mysql_upgrade (on MariaDB) to detect this issue and tried to patch or reload the sys schema from a compatible one.

Comment by Kelli Grand [ 2019-06-24 ]

Thank you @Jaime for the suggestion. This, or something like it could be a path we take as a last resort, if we don't see any action from MariaDB on this case.

Comment by Karl Levik [ 2019-06-27 ]

FromDual has recently been doing some work porting the sys schema to MariaDB:
https://fromdual.com/mariadb-sys-schema.

Comment by Nuno [ 2021-02-06 ]

karll It gives an error when I try on a MariaDB 10.5 installation. Funny how they say in that page "Please try out MariaDB sys Schema, find bugs, describe how to provoke the problem and report those bugs on GitHub", yet their GitHub repo isn't accepting any Issues...

Comment by Daniel Black [ 2021-02-06 ]

I did only provide oli a cross version compatible solution 2 days ago https://github.com/FromDual/mariadb-sys/pull/2

Comment by Vladislav Vaintroub [ 2021-03-03 ]

Alexey, please review the current bb-10.6-sysschema

Comment by Aleksey Midenkov [ 2021-03-16 ]

There should be server option to switch SYS schema initialization on/off. Other test suites should run server without SYS schema and their results should not be affected. We do not want to enable SYS schema by default, do we? Users who need it will add corresponding option to their config files. Users who don't need it will not be dissatisfied by an unwanted entry in SHOW DATABASES.

Please tweak a little bit README.md file to reflect current state of things regarding the installation.

Otherwise looks good to me.

Comment by Vladislav Vaintroub [ 2021-03-16 ]

We do want to enable sys schema by default, just like others do. There is no way to disable it in MySQL 8.0

Let me quote https://dev.mysql.com/doc/refman/8.0/en/sys-schema.html
"
For new installations, the sys schema is installed by default during data directory initialization if you use mysqld with the --initialize or --initialize-insecure option. If this is not desired, you can drop the sys schema manually after initialization if it is unneeded."

Comment by Ralf Gebhardt [ 2021-03-17 ]

The performance schema plugin is loaded by default with load option "FORCED", so it makes sense to have the sys schema installed by default, too

Generated at Thu Feb 08 07:31:58 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.