maria db galera cluster - wsrep provider is missing after install - mariadb

I've installed MariaDB Galera cluster with .rmp files using this tutorial.
https://mariadb.com/kb/en/library/mariadb-installation-version-10121-via-rpms-on-centos-7/
and these packages
rpm -ev --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -ev --nodeps mariadb-5.5.56-2.el7.x86_64
rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm
rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm
rpm -ivh MariaDB-10.3.10-centos73-x86_64-common.rpm MariaDB-10.3.10-centos73-x86_64-compat.rpm
rpm -ivh MariaDB-10.3.10-centos73-x86_64-client.rpm
rpm -ivh galera-25.3.24-1.rhel7.el7.centos.x86_64.rpm
rpm -ivh MariaDB-10.3.10-centos73-x86_64-server.rpm
But it seems wsrep is completely missing.
When I run
show global status like 'wsrep_provider_version';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| wsrep_provider_version | |
+-------------------------+-------+
Even library /usr/lib/libgalera_smm.so is missing.
Is some package missing or did I messed up instalation ?
should I install some package from http://releases.galeracluster.com/mysql-wsrep-5.7/redhat/7/x86_64/ ? To add wsrep provider.
I searched available mariadDB rmps here https://mirror.vpsfree.cz/mariadb//mariadb-10.3.10/yum/rhel7-amd64/rpms/
But I didn't find anything which looks like wsrep.
PS: server is without access to internet and without any compatible repository ( this is reason why I'm using .rmp )

The problem was wsrep library /usr/lib/libgalera_smm.so is installed by default into different folder.
Installation was ok, but the library is installed in
/usr/lib64/galera/libgalera_smm.so

Related

How to invoke RPM as service

How to start or invoke a service from RPM after installing it.
As I have rpm package and installed it using rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm, now I want to invoke the rpm automatically
you cannot "invoke an rpm"; an rpm just installs certain files on your system. That does not even mean that any of those files is executable. The command to launch the application will also always be different (systemctl, init.d, just launch the binary, ...).

How to uninstall .NET Core 2.1.4 from CentOS?

I installed .NET Core 2.1.4 on my CentOS from Microsoft .NET Core Installation Site. I want to uninstall it. I could not find any steps online. Please help.
Just reverse all the steps you followed from the Microsoft .NET Core Installation Site:
sudo yum remove dotnet-sdk-2.1.103
sudo yum remove libunwind libicu
If you also want to remove the rpm repository:
sudo yum remove /etc/yum.repos.d/dotnetdev.repo
To remove the imported gpg-key do the following:
Get a list of imported keys
rpm -qa gpg-pubkey \* --qf "%{version}-%{release} %{summary}\n"
There are a lot of entries, look for Microsoft (Release signing), copy the key and then issue the following command (paste the key after gpg-pubkey-):
sudo rpm -e --allmatches gpg-pubkey-xxxxxxxx-xxxxxxxx

Difference in MariaDB installation packages on RHEL server?

On trying to install MySql on RHEL7 I came to know that we need to use MariaDB instead.
I tried the installation on my machine which is RHEL6 by adding MariaDB.repo file to /etc/yum.repos.d/ with following lines -
[mariadb]
name = MariaDB-5.5.39
baseurl=https://downloads.mariadb.com/files/MariaDB/mariadb-5.5.39/yum/rhel6-amd64/
# alternative: baseurl=http://archive.mariadb.org/mariadb-5.5.39/yum/rhel6-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
https://mariadb.com/kb/en/mariadb/yum/
Thereafter I installed it successfully using following command -
sudo yum install MariaDB-server MariaDB-client
Now on an RHEL7 production box same steps failed with following conflict -
file /etc/my.cnf from install of MariaDB-common-5.5.39-1.el6.x86_64 conflicts with file from package maria-libs-1:5.5.44-2.el7.x86_64
So I understand I am pointing to rhel6 repo on rhel7 and probably some pre-installed files are in conflict.
But when I execute below mysql/mariadb gets installed successfully, what difference does case make here?
sudo yum install mariadb mariadb-server
I am not sure if it is linked to a different repository in background, I dont have access to the instance to dig further in repo settings, can anyone help me out here?
You can clarify that using yum search mariaDB
I executed that an ended up with same result as mariaDB and mariadb
============================= N/S matched: mariaDB =============================
mariadb-bench.x86_64 : MariaDB benchmark scripts and data
mariadb-devel.i686 : Files for development of MariaDB/MySQL applications
mariadb-devel.x86_64 : Files for development of MariaDB/MySQL applications
mariadb-libs.i686 : The shared libraries required for MariaDB/MySQL clients
mariadb-libs.x86_64 : The shared libraries required for MariaDB/MySQL clients
mariadb-server.x86_64 : The MariaDB server and related files
mariadb.x86_64 : A community developed branch of MySQL
mariadb-test.x86_64 : The test suite distributed with MariaD
Name and summary matches only, use "search all" for everything.

Issue when installing Oracle 11G in Ubuntu 12.04 LTS

I am following the instruction to install Oracle 11G in Ubuntu 12.04 LTS (x64) from this web page
Oracle 11g also needs libstdc++5 in 32bits version that is not provided with Ubuntu Pangolin, So I follow these instructions:
mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo dpkg --force-architecture -i libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/
But when executing this command:
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_amd64.deb
I get this error:
dpkg: error al procesar libstdc++5_3.3.6-17ubuntu1_amd64.deb (--install):
libstdc++5: 1:3.3.6-17ubuntu1 (Multi-Arch: no) is not co-installable with libstdc++5:i386 1:3.3.6-17ubuntu1 (Multi-Arch: no) which is currently installed
Se encontraron errores al procesar:
libstdc++5_3.3.6-17ubuntu1_amd64.deb
How should I deal this installation problem?
There is a few ways of going about this to fix it. I am not using a pentium processor, so i did not worry about that particular package model. Some of the 11gR2 make files are for older versions of the linux kernel, so the gcc compilers are also older.
Lets think it out, Oracle Enterprise is based off Red Hat. The newest version of the kernel, 'out-the-box', on Red Hat 5 was like ~ 2.6 maybe?!. So the files are gonna use a gcc version that was relative to the kernel at the time. Red Hat, unlike its daughter project Fedora, is a fairly slow evolving creature in terms of kernel version.
I have used the libstc++5_3.3.6-25.deb packages (i386 and amd64). That particular package set (3.3.6-17) is for the i686 P6 micro-architecture. Which is the Intel Pentium class of cpu's.
I do not know what you are using 11g on, or for, but the packages I have listed will work if your CPU is not a Pentium. Ive used the enterprise manager, the database, sqlplus, and SQL Developer. I even downloaded Data Modeler and use it. But thats another 5,000 words of details on how to get that puppy running. Back to the question at hand:
If not already done; create the Oracle user, and the dba, oper, and oinstall groups.
Give the /mnt_pt/././ directory to the oracle user and oinstall group with -R privleges
~$ sudo mkdir -p /mnt_pt/app (i.e. opt directory is used frequently or create one)
~$ sudo useradd -g oinstall -G dba -d /mnt_pt/app -s /bin/bash oracle
~$ sudo passwd oracle
~$ sudo chown -R oracle:oinstall /mnt_pt/app
3.1 download the synaptic package manager. $ sudo apt-get install synaptic -y
3.2 download mlocate (should be installed) $ sudo apt-get install mlocate -y
4.1 Go to the User and User Groups app: SystemSettings>users and accounts. Set the oracle account type to administrator.
4.2 Log out of your account, enter the oracle account.
4.3 From the oracle account open Synaptic Package manager. Search for the libstdc++5 (3.3.6-25) files. DO NOT INSTALL THEM!!!!
4.4 Mark both packages from installation. DO NOT INSTALL THEM!!!
4.5 On the Package menu of the Synaptic app, disable the Automatically Install feature.
4.6 Open the File menu of synaptic, and select the Generate Script option and choose the directory you made as the save destination. (In your case /tmp/libstdc++5)
4.7 QUIT without apply changes.
5.1 Manually open the file you saved the script in. Right click the libstdc++5 script, and choose run in terminal.
5.2 This will deliver two .deb packages. Change your forcearch code from 3.3.6-17 to 3.3.6-25
6.1 Find out where the libraries (libstdc++.so.5) are by running the following code:
$ sudo updatedb
$ locate libstdc++.so.5 .......(the .so. stands for libraries)
6.2 Your looking for 5 and 5.07. now run the following lines of code to move it where you want them (file is the parent directory where they are stored)
sudo mv /file/lib/libstdc++.so.5* /usr/lib32/
I installed Fedora 19 just to try and see where I was making errors and if I could get those packages. It was a learning experience. That particular package set is for the i686 P6 micro-architecture. Which is a hard one to find! Fedora 19 is EXTREMELY SHARP but, I set out to use Ubuntu, so that's what I did!! By the way the hardest part comes after that!
Anymore questions let me know!
P.S. if you are using a pentium I advise you to do a second install with fedora, wget the packages from the noarch repository, transfer those to a usb, switch back to Ubuntu, and after installing alien and rpm, from the command-line run the alien command for the packages via the directory they are in (or right click the packages), and then do a dpkg-forcearchitecure.

How to know the version of RPM during installation

I have created a script for deployment. During the pre script, is it possible to know whats the version of the rpm I am deploying.
I want to create a backup file with the version of the RPM (in its name) so that i can trace back the version of the RPM file.
You could define some variables at the top of your spec file, and then use them in both the tags section and the pre script.
%define version <your-version>
%define relver <your-relver>
Version: %{version}
Release: %{relver}
%pre
/bin/cp your-file your-file.%{version}-%{relver}
You can verify the script will do the expected copy by querying the scripts in the RPM:
rpm -qp --scripts <path-to-your-rpm>/<your-rpm-name>.rpm

Resources