Type:
Task
Priority:
Major
Resolution:
Unresolved
Affects Version/s:
6.1.1
By default, ColumnStore installs configuration files into the root /etc and /var directories.
This is fine for RPM and DEB builds. However, this is not good for STANDALONE builds.
With standalone builds we're going to allow non-root installations of ColumnStore.
Also, with standalone builds everything should reside inside the same directory, so one can do:
cmake -DCMAKE_INSTALL_PREFIX=/tmp/mariadb
make
make install
tar -zcf mariadb-standalone-binary-distribution.tar.gz /tmp/mariadb/
Note, this generally works with MariaDB - unless ColumnStore is enabled.
This patch does the trick:
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,6 +43,10 @@ SET (ENGINE_DATADIR "/var/lib/columnstore" )
SET (ENGINE_LOGDIR "/var/log/mariadb/columnstore" )
IF (INSTALL_LAYOUT)
+ IF (INSTALL_LAYOUT MATCHES "STANDALONE" )
+ SET (ENGINE_DATADIR "${CMAKE_INSTALL_PREFIX}/var/lib/columnstore" )
+ SET (ENGINE_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" )
+ ENDIF ()
# We are building from MariaDB server submodule if this is set
SET(MARIADB_PLUGINDIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_PLUGINDIR}" )
IF (INSTALL_SYSCONF2DIR)
However it makes the following directory layout:
[bar@home mariadb-10.6-cs]$ ls -l --group-directories-first /opt/mariadb-10.6-cs
total 204
drwxr-xr-x. 2 bar bar 4096 Apr 26 16:19 bin
drwx------. 9 bar bar 4096 Apr 27 06:43 data <--- MariaDB data directory
drwxr-xr-x. 3 bar bar 4096 Apr 26 16:19 include
drwxr-xr-x. 4 bar bar 4096 Apr 26 16:19 lib
drwxr-xr-x. 4 bar bar 4096 Apr 26 16:19 man
drwxrwxr-x. 9 bar bar 4096 Apr 26 16:19 mysql-test
drwxr-xr-x. 2 bar bar 4096 Apr 26 16:19 scripts
drwxr-xr-x. 32 bar bar 4096 Apr 26 16:19 share
drwxr-xr-x. 4 bar bar 4096 Apr 26 16:19 sql-bench
drwxr-xr-x. 3 bar bar 4096 Apr 26 16:19 support-files
drwxr-xr-x. 3 bar bar 4096 Apr 26 16:19 var <--- ColumnStore data directory
-rw-r--r--. 1 bar bar 17987 Apr 26 06:21 COPYING
-rw-r--r--. 1 bar bar 2093 Apr 26 06:21 CREDITS
-rw-r--r--. 1 bar bar 8245 Apr 26 06:21 EXCEPTIONS-CLIENT
-rw-r--r--. 1 bar bar 8782 Apr 26 06:21 INSTALL-BINARY
-rw-r--r--. 1 bar bar 2973 Apr 26 06:21 README.md
-rw-r--r--. 1 bar bar 19520 Apr 26 06:21 README-wsrep
-rw-r--r--. 1 bar bar 86263 Apr 26 06:21 THIRDPARTY
It is probably not good that the installation will have separate data directories:
/data for MariaDB data
/var for ColumnStore data. Note /var sounds too generic.
So the ColumnStore data directory could be columnstore-data instead of just var .
Serg also proposed to consider putting ColumnStore data directory inside MariaDB data directory: data/.ColumnStore .
In MariaDB one cannot create or drop databases starting with the DOT character. So this should be safe against a query like this:
DROP DATABASE `.ColumnStore`
Note, do avoid .ColumnStore to pop up in SHOW DATABASES we can add this line inside the server sources:
push_ignored_db_dir( ".ColumnStore" );
blocks
MCOL-4793
Make Columnstore installation relocatable
Open
{"report":{"fcp":901.2000000476837,"ttfb":242.89999985694885,"pageVisibility":"visible","entityId":101021,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"1fe5d707-4ae0-44b7-81d4-b740002732fc","navigationType":0,"readyForUser":1014.5999999046326,"redirectCount":0,"resourceLoadedEnd":964.5,"resourceLoadedStart":251.39999985694885,"resourceTiming":[{"duration":58.40000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":251.39999985694885,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":251.39999985694885,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":309.7999999523163,"responseStart":0,"secureConnectionStart":0},{"duration":59.09999990463257,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/2bf333562ca6724060a9d5f1535471f6/_/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","startTime":251.79999995231628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":251.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":310.89999985694885,"responseStart":0,"secureConnectionStart":0},{"duration":145.70000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":252.09999990463257,"connectEnd":252.09999990463257,"connectStart":252.09999990463257,"domainLookupEnd":252.09999990463257,"domainLookupStart":252.09999990463257,"fetchStart":252.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":252.09999990463257,"responseEnd":397.7999999523163,"responseStart":397.7999999523163,"secureConnectionStart":252.09999990463257},{"duration":238.70000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/2bf333562ca6724060a9d5f1535471f6/_/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","startTime":252.79999995231628,"connectEnd":252.79999995231628,"connectStart":252.79999995231628,"domainLookupEnd":252.79999995231628,"domainLookupStart":252.79999995231628,"fetchStart":252.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":252.79999995231628,"responseEnd":491.5,"responseStart":491.5,"secureConnectionStart":252.79999995231628},{"duration":242.79999995231628,"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":253,"connectEnd":253,"connectStart":253,"domainLookupEnd":253,"domainLookupStart":253,"fetchStart":253,"redirectEnd":0,"redirectStart":0,"requestStart":253,"responseEnd":495.7999999523163,"responseStart":495.7999999523163,"secureConnectionStart":253},{"duration":243.09999990463257,"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":253.20000004768372,"connectEnd":253.20000004768372,"connectStart":253.20000004768372,"domainLookupEnd":253.20000004768372,"domainLookupStart":253.20000004768372,"fetchStart":253.20000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":253.20000004768372,"responseEnd":496.2999999523163,"responseStart":496.2999999523163,"secureConnectionStart":253.20000004768372},{"duration":243.30000019073486,"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":253.39999985694885,"connectEnd":253.39999985694885,"connectStart":253.39999985694885,"domainLookupEnd":253.39999985694885,"domainLookupStart":253.39999985694885,"fetchStart":253.39999985694885,"redirectEnd":0,"redirectStart":0,"requestStart":253.39999985694885,"responseEnd":496.7000000476837,"responseStart":496.7000000476837,"secureConnectionStart":253.39999985694885},{"duration":293,"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":253.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":253.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":546.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":243.40000009536743,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":253.79999995231628,"connectEnd":253.79999995231628,"connectStart":253.79999995231628,"domainLookupEnd":253.79999995231628,"domainLookupStart":253.79999995231628,"fetchStart":253.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":253.79999995231628,"responseEnd":497.2000000476837,"responseStart":497.2000000476837,"secureConnectionStart":253.79999995231628},{"duration":292.7000000476837,"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":254,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":254,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":546.7000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":243.90000009536743,"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":254.09999990463257,"connectEnd":254.09999990463257,"connectStart":254.09999990463257,"domainLookupEnd":254.09999990463257,"domainLookupStart":254.09999990463257,"fetchStart":254.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":254.09999990463257,"responseEnd":498,"responseStart":498,"secureConnectionStart":254.09999990463257},{"duration":700.7999999523163,"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":263.2999999523163,"connectEnd":263.2999999523163,"connectStart":263.2999999523163,"domainLookupEnd":263.2999999523163,"domainLookupStart":263.2999999523163,"fetchStart":263.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":263.2999999523163,"responseEnd":964.0999999046326,"responseStart":964.0999999046326,"secureConnectionStart":263.2999999523163},{"duration":699.4000000953674,"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":265.09999990463257,"connectEnd":265.09999990463257,"connectStart":265.09999990463257,"domainLookupEnd":265.09999990463257,"domainLookupStart":265.09999990463257,"fetchStart":265.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":265.09999990463257,"responseEnd":964.5,"responseStart":964.5,"secureConnectionStart":265.09999990463257},{"duration":401.90000009536743,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":559.0999999046326,"connectEnd":559.0999999046326,"connectStart":559.0999999046326,"domainLookupEnd":559.0999999046326,"domainLookupStart":559.0999999046326,"fetchStart":559.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":559.0999999046326,"responseEnd":961,"responseStart":961,"secureConnectionStart":559.0999999046326},{"duration":231.90000009536743,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":892.7999999523163,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":892.7999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1124.7000000476837,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":84,"responseStart":243,"responseEnd":265,"domLoading":247,"domInteractive":1162,"domContentLoadedEventStart":1162,"domContentLoadedEventEnd":1214,"domComplete":2543,"loadEventStart":2543,"loadEventEnd":2546,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1134.3999998569489},{"name":"bigPipe.sidebar-id.end","time":1135.2999999523163},{"name":"bigPipe.activity-panel-pipe-id.start","time":1135.3999998569489},{"name":"bigPipe.activity-panel-pipe-id.end","time":1138.7000000476837},{"name":"activityTabFullyLoaded","time":1222.2999999523163}],"measures":[],"correlationId":"fadaf2eb23edb3","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":93,"dbReadsTimeInMs":9,"dbConnsTimeInMs":16,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}