Upgrade to MariaDB 10 from MariaDB 5.5 via yum fails - mysql

I want to upgrade mariadb from 5.5... to 10. But when I run "yum update -y", screen show like below:
Upgrading directly from MySQL <unrecognized version package MariaDB-server-5.5.36-1.el6.x86_64
MariaDB-server-5.5.36-1.el6.x86_64 is not installed> to MariaDB 10.0 may not
be safe in all cases. A manual dump and restore using mysqldump is
recommended. It is important to review the MariaDB manual's Upgrading
section for version-specific incompatibilities.
A manual upgrade is required.
- Ensure that you have a complete, working backup of your data and my.cnf
files
- Shut down the MySQL server cleanly
- Remove the existing MySQL packages. Usually this command will
list the packages you should remove:
rpm -qa | grep -i '^mysql-'
You may choose to use 'rpm --nodeps -ev <package-name>' to remove
the package which contains the mysqlclient shared library. The
library will be reinstalled by the MariaDB-shared package.
- Install the new MariaDB packages supplied by Monty Program AB
- Ensure that the MariaDB server is started
- Run the 'mysql_upgrade' program
How can I fix this issue?

I fix by myself, I post here for anyone need:
I run,
rpm -qa | grep -i '^maria'
Screen show:
MariaDB-common-10.0.12-1
MariaDB-client-10.0.12-1
MariaDB-server-5.5.38-1
MariaDB-shared-10.0.12-1
My "MariaDB-server" is still 5.5, I stop and remove it (backup all before do change anything):
yum remove MariaDB-server
then install again:
yum install MariaDB-server
screen:
Total size: 56 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : MariaDB-server 1/1
Installed:
MariaDB-server.i386 0:10.0.12-1
run again:
rpm -qa | grep -i '^maria'
screen show:
MariaDB-common-10.0.12-1
MariaDB-client-10.0.12-1
MariaDB-server-10.0.12-1
MariaDB-shared-10.0.12-1
It's OK.

I recently found steps on the official MariaDB website for upgrading to the latest stable version.
under /etc/yum.repos.d/ add MariaDB.repo with the following configs:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Run sudo yum install MariaDB-server MariaDB-client
Full steps can be found in this tutorial

Related

Problems installing MySQL 5.7 properly on fresh CentOS 7 install

I admit that I am new to back-end work in general and I seem to be stuck (for several hours) following through with completing the setting up process for Magento 2.3
I was following https://devdocs.magento.com/guides/v2.3/install-gde/prereq/mysql.html for my commands but to no success.
I managed to get the following installed:
Cent OS 7 (x86_64)
Apache 2.4.6
PHP 7.2.14 (all the extensions installed passed the Setup Wizard readiness check)
I used these commands to install MySQL 5.7 Community Release: (from the documentation)
wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum -y install mysql mysql-server
yum -y install mysql-community-server
To check if my installation went well, when I run:
mysql --version
I received an error message saying:
-bash: /usr/bin/mysql: No such file or directory
I know that there is something I definitely am missing out completely. When I try to start the MySQL service using the command:
systemctl start mysqld
I get the resulting error message:
Failed to start mysqld.service: Unit not found.
Any suggestions will much be appreciated. Thank you in advance.
Maybe it installed it as mariadb?
systemctl start mariadb
After removing MySQL 5.7 community release from my Cent OS, I decided to install MariaDB.
Inside the directory /etc/yum.repos.d/ I've created a file called MariaDB.repo and added this into the file:
# MariaDB 10.3 CentOS repository list - created 2019-01-25 05:36 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
I then performed the command in my terminal window:
sudo yum install MariaDB-server MariaDB-client
Because of this, mysql --version and systemctl start mysql works like a charm. Thanks #greenberet123 and #danblack for the suggestion.

django runserver giving error for libmysqlclient_18 not defined in file libmysqlclient.so.18

on running django-server with django==1.9 and pgsql 9.5, virtualenv=15.0.9 with python2.7 installation no-wheel no-site-packages on ubuntu 14.04
no previous mysql installation prior mariadb==10.2 after which this error occured. tried purging mariadb then, installing mysql=5.6 from dpkg but it didn't solved it either, then reinstalled mariadb==10.2 for sudo apt-get install libmariadbclient but it didn't solved it either.
Any help would be appreciated, ....
getting the below error
Solved.
a gis plugin was being used in my project postgis and postgres used in project.
for that the very initial postgres installation must have put libmysqlclient_18 version defined by its own customizations.
after mariadb installation, the libmysqlclient.so.18 should have been updated, hindering the older linkage and setups.
ran the mysql/mariadb cleaning with this post
https://askubuntu.com/a/172516/735971
installed mariadb again, got the gis support and issue is resolved.
link to gis support libraries:
http://scigeo.org/articles/howto-install-latest-geospatial-software-on-linux.html
update:
got another error during running django server with postgresql==9.5 and postgis==2.2
Could not find the GEOS library (tried "geos_c", "GEOS"). Try setting GEOS_LIBRARY_PATH in your settings.
traced to evidence that mariadb-common files and libmysqlclient/libmariadblclient was still cached in apt-get
evertime I installed postgresql or any of its extension now, it used the cached copy of libmysqlclient.so.18 from mariadb.
so I removed all the unused dpkg configs
sudo dpkg --purgeCOLUMNS=300 dpkg -l "" | egrep "^rc" | cut -d\ -f3
CAUTION: it can remove all the unused package, for only mariadb related files you can do
sudo dpkg --purgeCOLUMNS=300 dpkg -l "maria" | egrep "^rc" | cut -d\ -f3
Also removed postgresql for the next clean installation overriding any traces of compiled libmysqlclient if any.
then removed any apt-repo related to mariadb from /etc/apt/sources.list followed by sudo apt-get update.
then apt-get autoremove and apt-get clean to clean everything.
then sudo apt-get install -y postgresql-9.5 postgresql-9.5-postgis-2.2 postgresql-9.5-pgrouting postgresql-contrib-9.5
but i must say mariadb V10.2 still clashes with other installations and system libraries like it clashed in prior versions for libmysqlclient.so

Upgrade/Update from mariadb 5.5 to 10

Recently MariaDB 10 became stable.
MySQL 5.6 features were added to 10 release. I need to use some new features, so I'm interested:
Has anybody upgraded from MariaDB 5.5 to 10 on production server?
What is the upgrade path (simply changing mariadb repo to 10 will work?)?
Is the transition smooth?
We have recently been through that exact upgrade, also on CentOS. We experienced no trouble at all with any of our databases, all using the InnoDB engine. I have enclosed our internal upgrade how-to, this may save you some time and show you which path we took.
This guide assumes you are running the AMD64 versjon og CentOS 6.
Create a yum repo file for MariaDB and name it /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
// The signing key value is 0x1BB943DB.
Uninstall current MariaDB server and client. If yum was used to install them, use:
yum remove mysql MySQL-server MySQL-shared MySQL-shared-compat
This should uninstall all packages depending on MariaDB/MySQL, and consequently requires you to reinstall php-mysql as described below. Any other packages depending on MySQL will also have to be reinstalled, so keep an eye out for this.
Install MariaDB
yum install MariaDB-server MariaDB-client
Reinstall PHPs MySQL lib
yum install php-mysql
Start MariaDB, update data files and restart Apache
service mysql start
mysql_upgrade
service httpd restart
Consider rebooting to test that all works as desired.
Upgrade from version 5.5 to 10.0.12 was very smooth.
All user databases and local accounts were automatically restored after the upgrade..
+-----------------+
| ##version |
+-----------------+
| 10.0.12-MariaDB |
Note: You might need to restart the CentOS host if you notice a connection error:
If you configured your root access to MySQL/MariaDB with a password, you need to use the -p option when you want to use mysql_upgrade.

MySQL 5.6 install on debian ERROR:

I'm trying to install MySQL 5.6 on Debian.
Here what I do:
sudo dpkg -i mysql-5.6.12-debian6.0-i686.deb
cd /usr/local
ln -s /opt/mysql/server-5.6 mysql
cd mysql
scripts/mysql_install_db.sh --user=mysql --datadir=/var/lib/mysql
And this is the error that I get:
FATAL ERROR: Could not find #bindir#/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
Could you please suggest something? I'm installing MySQL from scratch (previous version was completely removed).
Thanks.
I might not be able to help with the error you're getting. But apt-get install -f mysql-server-5.5 worked for me on Debian Wheezy. Try replacing 5.5 with 5.6 and see if it works as well, and probably precede it with sudo.

Update MySQL version from 5.1 to 5.5 in CentOS 6.2

I tried to update MySQL from 5.1 to 5.5 in CentOS 6.2. The following is the process I did:
1. rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
2. yum install libmysqlclient15 --enablerepo=webtatic
3. yum remove mysql mysql-*
4. yum install mysql55 mysql55-server --enablerepo=webtatic
When I tried the 4th step, I got the following output:
[root#d2005 /]# yum install mysql55 mysql55-server --enablerepo=webtatic
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: yum.singlehop.com
* extras: centos.mirrors.tds.net
* updates: pubmirrors.reflected.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql55.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: mysql55-libs = 5.5.10-1.w5 for package: mysql55-5.5.10-1.w5.x86_64
---> Package mysql55-server.x86_64 0:5.5.10-1.w5 will be installed
--> Processing Dependency: perl-DBD-MySQL for package: mysql55-server-5.5.10-1.w5.x86_64
--> Running transaction check
---> Package mysql55-libs.x86_64 0:5.5.10-1.w5 will be installed
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.1.61-1.el6_2.1 will be installed
--> Processing Conflict: mysql55-libs-5.5.10-1.w5.x86_64 conflicts mysql-libs < 5.5.10
--> Finished Dependency Resolution
Error: mysql55-libs conflicts with mysql-libs
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
How to fix it?
To list Old MySql
yum list installed | grep -i mysql
To remove Old MySql
yum remove mysql mysql-*
Remi Dependency on CentOS 6 and Red Hat (RHEL) 6
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
Install MySQL server
yum --enablerepo=remi,remi-test install mysql mysql-server
To list New MySql
yum list installed | grep -i mysql
start MySql server
/etc/init.d/mysqld start ## use restart after update
OR
service mysqld start ## use restart after update
chkconfig --levels 235 mysqld on
Last
mysql_upgrade -u root -p
Now my MySql version is 5.5.32
Ref:
http://www.webtatic.com/packages/mysql55/
http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/
Hope it help some one
NOTE:
Adding comments from #pim (in comments)
Just wanted to add that after the upgrade, my crontab was removed as well. Had to reinstall with "yum install vixie-cron" (CentOS 6)
I used the following commands to add a new YUM repo and make the update:
Download the Remi repo
cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo
Install/Update the mysql version
yum --enablerepo=remi install mysql-server
OR
yum --enablerepo=remi update mysql-server
You appear to have been using the wrong Webtatic Yum repository version than the one for your version of CentOS. See http://www.webtatic.com/projects/yum-repository/ for details
e.g.
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
You can use a yum plugin made by the IUS community to switch mysql-libs with mysql55w-libs. (the following assuming you still use Webtatic)
yum install mysql yum-plugin-replace
yum replace mysql --replace-with mysql55w
That should allow you to replace mysql with mysql55w-libs, whilst maintaining the older libmysqlclient for any dependencies.
If you see other packages than mysql being removed, then be careful, as they might be needed, but using this method, I've found to be reliable whenever I've used it.
I'm posting this solution as Remi's repository is not always the ideal solution. This method is more complex, but would never cause you to accidentally update your entire web stack by using repositories that use package names matching base distribution packages.
2015/08/19 - For those of you working on older (but still decent) hardware with a matching OS (typically 32 bit machines).
-- This will upgrade to mysql 5.6 community not 5.5 --
This worked for me after some research and mixing/matching/testing the answers found on various page of the internet (mainly from this page and http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html).
My OS shipped with mysql 5.1, I wanted to have 5.6.
My system
[root#host]# cat /etc/*release
CentOS release 6.7 (Final)
[root#host]# uname -a
Linux host 2.6.32-573.3.1.el6.i686 #1 SMP Thu Aug 13 19:58:36 UTC 2015 i686 i686 i386 GNU/Linux
[root#host]# arch
i686
This is installed on a 2006 mac pro 1.1 (CPUs upgraded to 3.0GHz Intel Xeon X5365 Quad-Core).
Commands I ran
This was done almost immediately after a fresh install of the OS and system update via yum
list mysql currently installed
yum list installed | grep -i mysql
remove installed msql
yum remove mysql mysql-*
list mysql currently installed
yum list installed | grep -i mysql
Download rpm containing mysql 5.6
wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
Install mysql
rpm -Uvh mysql-community-release-el6-5.noarch.rpm
yum install mysql mysql-server
list mysql currently installed
yum list installed | grep -i mysql
ensure mysql starts on reboot
chkconfig --list mysqld
sudo chkconfig mysqld on
chkconfig --list mysqld
Start mysql
service mysqld start
service mysqld status
Result
[root#host]# yum list installed | grep -i mysql
compat-mysql51.i686 5.1.54-1.el6.remi #remi
mysql-community-client.i686
5.6.26-2.el6 #mysql56-community
mysql-community-common.i686
5.6.26-2.el6 #mysql56-community
mysql-community-libs.i686
5.6.26-2.el6 #mysql56-community
mysql-community-release.noarch
mysql-community-server.i686
5.6.26-2.el6 #mysql56-community
perl-DBD-MySQL.i686 4.013-3.el6 #base
[root#host]# mysql --version
mysql Ver 14.14 Distrib 5.6.26, for Linux (i686) using EditLine wrapper
mysql config (I did not touch this yet but the info seems legit)
Some interesting basic but efficient performance tuning for mysql:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-5-6-from-official-yum-repositories
Good luck!
Edit
I had some issues creating users and granting permissions, this how it was fixed.
Error
ERROR 1054 (42S22) at line 1: Unknown column 'plugin' in 'mysql.user'
Fix
Logged on the server as root
Connected to mysql with a simple mysql
Checked the outcome of this statement: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; The result was 39, 43 is expected for mysql 5.6
Issued this statement to update the root password: update mysql.user set Password=PASSWORD('root') where User='root';
(Logged off mysql with exit)
Restarted mysql with: service mysqld restart
Ran: mysql_upgrade -uroot -proot --force
Reconnected to mysql with mysql -uroot -proot
Checked the outcome of this statement: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; The result was 43 as expected for mysql 5.6. I was then able to create my users and grant permissions as needed.
Above replies didn't work for me (got this error - error: /var/tmp/rpm-tmp.tyukGy: not an rpm package).
I followed these steps -
## Remove existing/old MySQL ##
yum remove mysql mysql-*
rm -rf /var/lib/mysql
rm -rf /var/log/mysql*
## Install Remi Repository on RHEL/CentOS 6.7-6.0 ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
## Install Remi Repository on RHEL/CentOS 5.4-5.0 ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
yum --enablerepo=remi list mysql mysql-server
yum --enablerepo=remi install mysql mysql-server
Taken from - http://www.tecmint.com/install-mysql-on-rhel-centos-6-5-fedora-17-12/
By doing above, i uninstalled MySQL 5.0.* and replaced it with this -
[root#localhost]# /usr/bin/mysqladmin -u root -p version
/usr/bin/mysqladmin Ver 8.42 Distrib 5.5.28, for Linux on x86_64
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.5.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 32 sec
Threads: 1 Questions: 3 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.093
[root#localhost]#
My CentOS version -
[root#localhost]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root#localhost]# uname -a
Linux localhost.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Use CentOS-Release-SCL is better and easy.
The Software Collections ( SCL ) Repository
# yum install centos-release-SCL
# yum install mysql55-mysql-server
Done.
This blog post helped me upgrade from MySQL 5.5.15 to 5.5.28. That upgrade also had the problem with mysql-libs clashing with mysql55-libs.
wget -P /etc/yum.repos.d http://rpms.famillecollet.com/enterprise/remi.repo
yum --enablerepo=remi -y install mysql-server
OR
yum --enablerepo=remi -y update mysql-server