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?
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)
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
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.
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
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: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
- Connecté sur le serveur en tant que root
- Connecté à mysql avec un simple
mysql
- 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 - a émis cette déclaration pour mettre à jour le mot de passe root:
update mysql.user set Password=PASSWORD('root') where User='root';
- (déconnecté de mysql avec
exit
) - mysql redémarré avec:
service mysqld restart
- Ran:
mysql_upgrade -uroot -proot --force
- Reconnecté à mysql avec
mysql -uroot -proot
- 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.
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.
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
.
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