Mise à jour de la version de MySQL de 5.1 à 5.5 dans CentOS 6.2

J'ai essayé de mettre à jour MySQL de 5.1 à 5.5 dans CentOS 6.2. Ce qui suit est le processus que j'ai fait:

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

Quand j'ai essayé la 4ème étape, j'ai obtenu le résultat suivant:

[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

Comment le réparer?

36
demandé sur Pang 2012-02-20 17:12:50

8 réponses

Pour lister L'Ancien MySql

yum list installed | grep -i mysql

Pour supprimer L'Ancien MySql

yum remove mysql mysql-*

Dépendance Remi sur CentOS 6 et 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

Installer le serveur MySQL

yum --enablerepo=remi,remi-test install mysql mysql-server

Pour lister un nouveau MySql

yum list installed | grep -i mysql

Démarrer le serveur MySql

/etc/init.d/mysqld start ## utiliser redémarrer après la mise à jour

Ou

service mysqld start ## utiliser redémarrer après la mise à jour

chkconfig --levels 235 mysqld on

Dernier

mysql_upgrade -u root -p

Maintenant, ma version MySql est 5.5.32

Réf:

Http://www.webtatic.com/packages/mysql55/

Http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/

Espère que ça aidera quelqu'un

REMARQUE: Ajouter des commentaires de @pim (dans les commentaires)

Just wanted to add that after the upgrade, my crontab was removed as well. Had to reinstall with "yum install vixie-cron" (CentOS 6) 
109
répondu Dilip Rajkumar 2016-01-20 15:21:43

J'ai utilisé les commandes suivantes pour ajouter un nouveau dépôt YUM et effectuer la mise à jour:

Télécharger le repo Remi

cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo

Installer/mettre à Jour la version de mysql

yum --enablerepo=remi install mysql-server

Ou

yum --enablerepo=remi update mysql-server
27
répondu Drahcir 2012-09-16 22:31:04

Vous semblez avoir utilisé la mauvaise version du référentiel Webtatic Yum que celle de votre version de CentOS. Voir http://www.webtatic.com/projects/yum-repository/ pour plus de détails

Par exemple

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

Vous pouvez utiliser un plugin Yum créé par la communauté IUS pour changer mysql-libs avec mysql55w-libs. (ce qui suit en supposant que vous utilisez toujours Webtatic)

yum install mysql yum-plugin-replace
yum replace mysql --replace-with mysql55w

Cela devrait vous permettre de remplacer mysql par mysql55w-libs, tout en conservant l'ancienne libmysqlclient pour tout dépendance.

Si vous voyez d'autres paquets que mysql être supprimés, alors faites attention, car ils pourraient être nécessaires, mais en utilisant cette méthode, j'ai trouvé fiable chaque fois que je l'ai utilisé.

Je poste Cette solution car le référentiel de Remi n'est pas toujours la solution idéale. Cette méthode est plus complexe, mais ne vous obligerait jamais à mettre à jour accidentellement votre pile Web entière en utilisant des dépôts qui utilisent des noms de paquets correspondant à des paquets de distribution de base.

6
répondu Andy 2014-02-09 15:51:05

Les réponses ci-dessus n'ont pas fonctionné pour moi (j'ai eu cette erreur - Erreur: /var/tmp/rpm-tmp.tyukGy: pas un paquet rpm).

, j'ai suivi ces étapes -

## 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

Extrait de - http://www.tecmint.com/install-mysql-on-rhel-centos-6-5-fedora-17-12/

En faisant ci-dessus, J'ai désinstallé MySQL 5.0.* et l'a remplacé par ceci -

[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]# 

Ma version CentOS -

[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
4
répondu Quest Monger 2012-12-02 05:52:19

2015/08/19-pour ceux d'entre vous qui travaillent sur un matériel plus ancien (mais toujours décent) avec un système d'exploitation correspondant (généralement des machines 32 bits).

-- Cette mise à niveau vers la communauté mysql 5.6 pas 5.5 --

Cela a fonctionné pour moi après quelques recherches et mélange / correspondance / test des réponses trouvées sur diverses pages d'internet (principalement à partir de cette page et http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html ). Mon système d'exploitation livré avec mysql 5.1, je voulais avoir 5.6.

Mon système

[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

Ceci est installé sur un Mac Pro 1.1 2006 (processeurs mis à niveau vers 3.0 GHz Intel Xeon X5365 Quad-Core).

Commandes que j'ai exécutées

Cela a été fait presque immédiatement après une nouvelle installation du système d'exploitation et de la mise à jour du système via yum

Liste mysql actuellement installé

yum list installed | grep -i mysql

Supprimer msql installé

yum remove mysql mysql-*

Liste mysql actuellement installé

yum list installed | grep -i mysql

Télécharger rpm contenant mysql 5.6

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Installer mysql

rpm -Uvh mysql-community-release-el6-5.noarch.rpm
yum install mysql mysql-server

Liste mysql actuellement installé

yum list installed | grep -i mysql

Assurez-vous que mysql démarre au redémarrage

chkconfig --list mysqld
sudo chkconfig mysqld on
chkconfig --list mysqld

Démarrer mysql

service mysqld start
service mysqld status

Résultat

[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 (je n'ai pas encore touché cela mais l'info semble légitime)

Quelques performances de base intéressantes mais efficaces pour mysql:

Https://www.digitalocean.com/community/tutorials/how-to-install-mysql-5-6-from-official-yum-repositories

Bon la chance!

Modifier

J'ai eu quelques problèmes pour créer des utilisateurs et accorder des autorisations, c'est ainsi que cela a été corrigé.

Erreur

ERROR 1054 (42S22) at line 1: Unknown column 'plugin' in 'mysql.user'

Fixer

  1. Connecté sur le serveur en tant que root
  2. Connecté à mysql avec un simple mysql
  3. vérifié le résultat de cette déclaration: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; le résultat était 39, 43 est attendu pour mysql 5.6
  4. a émis cette déclaration pour mettre à jour le mot de passe root: update mysql.user set Password=PASSWORD('root') where User='root';
  5. (déconnecté de mysql avec exit)
  6. mysql redémarré avec: service mysqld restart
  7. Ran: mysql_upgrade -uroot -proot --force
  8. Reconnecté à mysql avec mysql -uroot -proot
  9. vérifié le résultat de cette déclaration: SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; le résultat était 43 comme prévu pour mysql 5.6. J'ai ensuite pu créer mes utilisateurs et accorder des autorisations au besoin.
4
répondu Raphvanns 2015-08-22 18:49:51

Utiliser CentOS-Release-SCL est meilleur et facile.

Le référentiel des Collections de logiciels ( SCL)

# yum install centos-release-SCL
# yum install mysql55-mysql-server

Fait.

3
répondu C.M.Chiu 2014-07-25 05:58:19

Cet article de blog m'a aidé à passer de MySQL 5.5.15 à 5.5.28. Cette mise à niveau a également eu le problème avec mysql-libs se heurtant à mysql55-libs.

2
répondu Toddius Zho 2012-11-20 19:24:23
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
1
répondu lanni654321 2015-11-03 06:01:04