Currently mariadb rpms obsolete mysql rpms. This allows the user to install mariadb over the existing mysql installation, without having to uninstall mysql manually first (together with all packages that depend on mysql).
There are opinions that using "obsolete" in this way is wrong. See, for example, this comment
We need to study the issue and solve it somehow, if possible.
{"report":{"fcp":1558.2999997138977,"ttfb":390,"pageVisibility":"visible","entityId":22411,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"013e00f5-7066-4256-b662-1248f1b2267a","navigationType":0,"readyForUser":1636.2999997138977,"redirectCount":0,"resourceLoadedEnd":1973.5,"resourceLoadedStart":397.2999997138977,"resourceTiming":[{"duration":456.30000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":397.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":397.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":853.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":456.40000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":397.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":397.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":853.9000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":465.2000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":397.7999997138977,"connectEnd":397.7999997138977,"connectStart":397.7999997138977,"domainLookupEnd":397.7999997138977,"domainLookupStart":397.7999997138977,"fetchStart":397.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":397.7999997138977,"responseEnd":863,"responseStart":863,"secureConnectionStart":397.7999997138977},{"duration":830.1999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":398,"connectEnd":398,"connectStart":398,"domainLookupEnd":398,"domainLookupStart":398,"fetchStart":398,"redirectEnd":0,"redirectStart":0,"requestStart":398,"responseEnd":1228.1999998092651,"responseStart":1228.1999998092651,"secureConnectionStart":398},{"duration":834,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":398.19999980926514,"connectEnd":398.19999980926514,"connectStart":398.19999980926514,"domainLookupEnd":398.19999980926514,"domainLookupStart":398.19999980926514,"fetchStart":398.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":398.19999980926514,"responseEnd":1232.1999998092651,"responseStart":1232.1999998092651,"secureConnectionStart":398.19999980926514},{"duration":835.6999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":398.40000009536743,"connectEnd":398.40000009536743,"connectStart":398.40000009536743,"domainLookupEnd":398.40000009536743,"domainLookupStart":398.40000009536743,"fetchStart":398.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":398.40000009536743,"responseEnd":1234.0999999046326,"responseStart":1234.0999999046326,"secureConnectionStart":398.40000009536743},{"duration":835.4000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":399.09999990463257,"connectEnd":399.09999990463257,"connectStart":399.09999990463257,"domainLookupEnd":399.09999990463257,"domainLookupStart":399.09999990463257,"fetchStart":399.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":399.09999990463257,"responseEnd":1234.5,"responseStart":1234.5,"secureConnectionStart":399.09999990463257},{"duration":836.5,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":399.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":399.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1235.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":836.0999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":399.40000009536743,"connectEnd":399.40000009536743,"connectStart":399.40000009536743,"domainLookupEnd":399.40000009536743,"domainLookupStart":399.40000009536743,"fetchStart":399.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":399.40000009536743,"responseEnd":1235.5,"responseStart":1235.5,"secureConnectionStart":399.40000009536743},{"duration":837.0999999046326,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":399.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":399.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1236.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":837.2000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":399.7999997138977,"connectEnd":399.7999997138977,"connectStart":399.7999997138977,"domainLookupEnd":399.7999997138977,"domainLookupStart":399.7999997138977,"fetchStart":399.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":399.7999997138977,"responseEnd":1237,"responseStart":1237,"secureConnectionStart":399.7999997138977},{"duration":1567.1999998092651,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":405.5,"connectEnd":405.5,"connectStart":405.5,"domainLookupEnd":405.5,"domainLookupStart":405.5,"fetchStart":405.5,"redirectEnd":0,"redirectStart":0,"requestStart":405.5,"responseEnd":1972.6999998092651,"responseStart":1972.6999998092651,"secureConnectionStart":405.5},{"duration":1561.9000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":411.59999990463257,"connectEnd":411.59999990463257,"connectStart":411.59999990463257,"domainLookupEnd":411.59999990463257,"domainLookupStart":411.59999990463257,"fetchStart":411.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":411.59999990463257,"responseEnd":1973.5,"responseStart":1973.5,"secureConnectionStart":411.59999990463257},{"duration":631.1000003814697,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":1015.2999997138977,"connectEnd":1015.2999997138977,"connectStart":1015.2999997138977,"domainLookupEnd":1015.2999997138977,"domainLookupStart":1015.2999997138977,"fetchStart":1015.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1015.2999997138977,"responseEnd":1646.4000000953674,"responseStart":1646.4000000953674,"secureConnectionStart":1015.2999997138977},{"duration":504.80000019073486,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1550.6999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1550.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2055.5,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":219,"responseStart":390,"responseEnd":411,"domLoading":395,"domInteractive":2006,"domContentLoadedEventStart":2006,"domContentLoadedEventEnd":2055,"domComplete":2458,"loadEventStart":2458,"loadEventEnd":2459,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1980.9000000953674},{"name":"bigPipe.sidebar-id.end","time":1981.7999997138977},{"name":"bigPipe.activity-panel-pipe-id.start","time":1981.7999997138977},{"name":"bigPipe.activity-panel-pipe-id.end","time":1985.5},{"name":"activityTabFullyLoaded","time":2091.7999997138977}],"measures":[],"correlationId":"41bf785c066039","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":114,"dbReadsTimeInMs":15,"dbConnsTimeInMs":26,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
Currently, the RPMs try to use files and "Provides" that conflict with a MySQL installation on a server:
[root@master-a rpms]# rpm -ivh MariaDB-5.5.37-centos5-x86_64-* --test
error: Failed dependencies:
MySQL conflicts with mysql-5.0.95-5.el5_9.x86_64
MySQL conflicts with mysql-5.0.95-5.el5_9.i386
MySQL-server conflicts with mysql-server-5.0.95-5.el5_9.x86_64
[root@master-a rpms]#
as a result, there is no clean pathway to use RPM to handle an upgrade from MySQL -> MariaDB.
One could rpm -e to remove the pre-existing MySQL RPMs, but if there are any other packages that rely on MySQL, you'll need to use --nodeps. This will render the upgrade process non-transactional. rpm -U really is the best way to do this, and these sorts of conflicts are exactly what Obsoletes is designed to manage.
The concern described in the cited Comment in the description can be handled differently: We keep our Maria RPMs in a completely separate repository, and when we know we want a server to use Maria, we install that particular repos release RPM. This allows for us to deploy both MySQL and Maria infrastructure. However, because of the lack of comprehensive Obsoletes tags, we have no way "clean" way to programmatically handle upgrades from MySQL to Maria.