ColumnStore 1.2.3 onward requires libjemalloc to be installed. For Ubuntu & Debian based distributions this is installed using the package "libjemalloc1" in the standard repositories.
For CentOS the package is in RedHat's EPEL repository:
sudo yum -y install epel-release sudo yum install jemalloc
The default distribution mode has changed from 'distributed' to 'non-distributed'. During an upgrade, however, the default is to use the distribution mode used in the original installation. The options '-d' and '-n' can always be used to override the default.
Root-level permissions are no longer required to install or upgrade ColumnStore for some types of installations. Installations requiring some level of sudo access, and the instructions, are listed here: https://mariadb.com/kb/en/library/preparing-for-columnstore-installation-121/#update-sudo-configuration-if-needed-by-root-user
As part of the upgrade process to 1.2.4, the user is might be required to run the mysql_upgrade script on all of the following nodes.
1. If the system was upgraded to 1.1.x to 1.2.x. And now it being upgrade to 1.2.4, the mysql_upgrade script will need to be run. 2. If the system was initially installed with 1.2.x and now its being upgraded to 1.2.4, the mysql_upgrade script doesnt need to be run. So this section can be skipped.
mysql_upgrade should be run once the upgrade has been completed.
This is an example of how it run on a root user install:
/usr/local/mariadb/columnstore/mysql/bin/mysql_upgrade --defaults-file=/usr/local/mariadb/columnstore/mysql/my.cnf --force
This is an example of how it run on a non-root user install, assuming ColumnStore is installed under the user's home directory:
$HOME/mariadb/columnstore/mysql/bin/mysql_upgrade --defaults-file=$HOME/mariadb/columnstore/mysql/my.cnf --force
In addition you should run the upgrade stored procedure below for a major version upgrade.
1. If the system was upgraded to 1.1.x to 1.2.x. And now it being upgrade to 1.2.4, the upgrade stored procedure will need to be run. 2. If the system was initially installed with 1.2.x and now its being upgraded to 1.2.4, the upgrade stored procedure doesnt need to be run. So this section can be skipped.
This updates the MariaDB FRM files by altering every ColumnStore table with a blank table comment. This will not affect options set using table comments but will erase any table comment the user has manually set.
You only need to execute this as part of a major version upgrade. It is executed using the following query which should be executed by a user which has access to alter every ColumnStore table:
call columnstore_info.columnstore_upgrade();
In this section, we will refer to the directory ColumnStore is installed in as <CSROOT>. If you installed the RPM or DEB package, then your <CSROOT> will be /usr/local. If you installed it from the tarball, <CSROOT> will be where you unpacked it.
Configuration changes made manually are not automatically carried forward during the upgrade. These modifications will need to be made again manually after the upgrade is complete.
After the upgrade process the configuration files will be saved at:
If you have specified a root user database password (which is good practice), then you must configure a .my.cnf file with user credentials for the upgrade process to use. Create a .my.cnf file in the user home directory with 600 file permissions with the following content (updating PASSWORD as appropriate):
[mysqladmin] user = root password = PASSWORD
Note, softlinks may cause a problem during the upgrade if you use the RPM or DEB packages. If you have linked a directory above /usr/local/mariadb/columnstore, the softlinks will be deleted and the upgrade will fail. In that case you will need to upgrade using the binary tarball instead. If you have only linked the data directories (ie /usr/local/MariaDB/columnstore/data*), the RPM/DEB package upgrade will work.
Upgrade MariaDB ColumnStore as user root on the server designated as PM1:
Download the package mariadb-columnstore-1.2.4-1-centos#.x86_64.rpm.tar.gz to the PM1 server where you are installing MariaDB ColumnStore.
Shutdown the MariaDB ColumnStore system:
# mcsadmin shutdownsystem y
# tar -zxf mariadb-columnstore-1.2.4-1-centos#.x86_64.rpm.tar.gz
# rpm -e --nodeps $(rpm -qa | grep '^mariadb-columnstore') # rpm -ivh mariadb-columnstore-*1.2.4*rpm
# /usr/local/mariadb/columnstore/bin/postConfigure -u
The system can be upgraded when it was previously installed from the Package Repositories. This will need to be run on each module in the system.
Additional information can be found in this document on how to setup and install using the 'yum' package repo command:
https://mariadb.com/kb/en/library/installing-mariadb-ax-from-the-package-repositories
Upgrade MariaDB ColumnStore as user root on the server designated as PM1:
Shutdown the MariaDB ColumnStore system:
# mcsadmin shutdownsystem y
# yum remove mariadb-columnstore*
# yum --enablerepo=mariadb-columnstore clean metadata # yum install mariadb-columnstore*
NOTE: On all modules except for PM1, start the columnstore service
# /usr/local/mariadb/columnstore/bin/columnstore start
# /usr/local/mariadb/columnstore/bin/postConfigure -u -n
Upgrade MariaDB ColumnStore as user root on the server designated as PM1:
# mcsadmin shutdownsystem y
# /usr/local/mariadb/columnstore/bin/pre-uninstall
# tar -zxvf mariadb-columnstore-1.2.4-1.x86_64.bin.tar.gz
# /usr/local/mariadb/columnstore/bin/post-install
# /usr/local/mariadb/columnstore/bin/postConfigure -u
Upgrade MariaDB ColumnStore as user root on the server designated as PM1:
# mcsadmin shutdownsystem y
# tar -zxf mariadb-columnstore-1.2.4-1.amd64.deb.tar.gz
# cd /root/ # dpkg -r $(dpkg --list | grep 'mariadb-columnstore' | awk '{print $2}') # dpkg --install mariadb-columnstore-*1.2.4-1*deb
# /usr/local/mariadb/columnstore/bin/postConfigure -u
The system can be upgraded when it was previously installed from the Package Repositories. This will need to be run on each module in the system
Additional information can be found in this document on how to setup and install using the 'apt-get' package repo command:
https://mariadb.com/kb/en/library/installing-mariadb-ax-from-the-package-repositories
Upgrade MariaDB ColumnStore as user root on the server designated as PM1:
Shutdown the MariaDB ColumnStore system:
# mcsadmin shutdownsystem y
# apt-get remove mariadb-columnstore*
# apt-get update # sudo apt-get install mariadb-columnstore*
NOTE: On all modules except for PM1, start the columnstore service
# /usr/local/mariadb/columnstore/bin/columnstore start
# /usr/local/mariadb/columnstore/bin/postConfigure -u -n
This upgrade method applies when root/sudo access is not an option.
The uninstall script for 1.2.x requires root access to perform some operations. These operations are the following:
Because you are upgrading ColumnStore and not uninstalling it, they are not necessary. If at some point you wish to uninstall it, you (or your sysadmin) will have to perform those operations by hand.
The upgrade instructions:
$ mcsadmin shutdownsystem y
$ cp <CSROOT>/mariadb/columnstore/etc/Columnstore{.xml,.xml.rpmsave} $ cp <CSROOT>/mariadb/columnstore/mysql/my{.cnf,.cnf.rpmsave}
$ tar zxf columnstore-1.2.4-1.x86_64.bin.tar.gz
$ <CSROOT>/mariadb/columnstore/bin/post-install --installdir=<CSROOT>/mariadb/columnstore
$ <CSROOT>/mariadb/columnstore/bin/columnstore start
$ <CSROOT>/mariadb/columnstore/bin/postConfigure -u -n -i <CSROOT>/mariadb/columnstore
Upgrade MariaDB ColumnStore as user USER on the server designated as PM1:
$ mcsadmin shutdownsystem y
$ <CSROOT>/mariadb/columnstore/bin/pre-uninstall --installdir=<CSROOT>/mariadb/columnstore
$ tar -zxvf mariadb-columnstore-1.2.4-1.x86_64.bin.tar.gz
$ <CSROOT>/mariadb/columnstore/bin/post-install --installdir=<CSROOT>/mariadb/columnstore
$ <CSROOT>/mariadb/columnstore/bin/postConfigure -u -i <CSROOT>/mariadb/columnstore
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-columnstore-software-upgrade-12x-ga-to-124-ga/