J'utilise la machine virtuelle Linux clé en main. La version de Debian là-bas est apparemment sur le chemin de mise à niveau "Wheezy" (si c'est ainsi que vous l'appelez). Je ne suis pas complètement à l'aise avec Linux, comme vous pouvez le voir.
J'ai besoin de nouvelles fonctionnalités offertes par MySQL 5.6, alors que mon installation actuelle est MySQL 5.5.35. J'aimerais obtenir la dernière version (5.6.17 à partir de cette publication) ou au moins toute 5.6.x.
Je l' ai essayé apt-get update
, apt-get upgrade
, apt-get dist-upgrade
. Ceux-ci ont mis à jour un tas de choses avec succès, mais aucun n'était MySQL. J'ai essayé apt-get upgrade mysql-server
, ce qui indique que j'ai déjà la dernière version.
Une liste de référentiels de paquets Debian Wheezy sur le web montre MySQL 5.5 et rien d'autre, quand j'ai besoin de 5.6. J'ai ensuite lu quelque chose sur les "rétroportages", qui semblent pouvoir me procurer des choses que ma Debian particulière n'est pas censée avoir encore - mais je n'arrive pas à le faire fonctionner. Il faut ajouter des lignes à /etc/apt/sources.list.d/sources.list
. Lorsque j'essaie de faire cela, puis de apt-get update
lancer, j'obtiens des erreurs 404.
J'ai également essayé plusieurs autres routes, l'une étant la compilation du téléchargement vanilla MySQL, que j'ai échoué lamentablement et que je préfère ne pas réessayer.
Je suis vraiment déconcerté par la façon dont cela est fait. La plupart des URL répertoriées sur les forums / blogs pour apt-get
, et même pour wget
, semblent mourir peu de temps après leur publication, donc je ne comprends pas comment quelqu'un peut même trouver les bonnes informations. J'essaie de faire ça depuis deux jours maintenant et je ne peux aller nulle part.
Donc, en supposant que vous ayez lu jusqu'ici, j'aimerais savoir si quelqu'un a un moyen de mettre à niveau MySQL dans Debian d'une manière automatisée relativement indolore (une où je n'aurais pas à utiliser make
ou exporter / importer mes bases de données et configurations actuelles manuellement ).
slony
fonctionnalités et je n'ai pas pu trouver de version plus récente que la 9.1, qui manque de slony.Réponses:
Reconstruire les sources MySQL 5.6 expérimentales à partir d'expérimental sur Wheezy est facile à la limite de trivial. Cependant, vous aurez besoin de beaucoup d'espace disque; une fois la génération terminée, le répertoire de génération utilisait 5,2 Go. De plus, la construction prend du temps et exécute un nombre incroyable de tests. Je n'ai pas pris la peine de le chronométrer, mais prévoyez quelques heures. Il est possible de désactiver les tests, mais je suggère de les laisser s'exécuter - c'est inoffensif tant qu'ils passent. Ils l'ont fait sur ma machine. La bonne nouvelle est que j'ai pu le construire et l'installer sans problème. J'ai exécuté le test de base suivant.
Donc, je peux au moins me connecter au serveur. Voici à quoi ressemblent les packages installés:
Voici une ventilation des étapes.
Obtenez d'abord les sources. Vous devez ajouter les éléments suivants (ou similaire, ajustez pour votre serveur préféré) à
/etc/apt/sources.list
:Ajoutez également ce qui suit à
/etc/apt/preferences
.Exécutez ensuite
Exécutez ensuite
dans un répertoire approprié. Je crée généralement un répertoire dans
/usr/local/src
,dans ce cas, disons
/usr/local/src/mysql
.Puis cd dans
/usr/local/src/mysql
.Courir
Sur ma machine, cela a installé quelques packages.
Installez des packages de base pour la construction.
Puis cd dans le répertoire source résultant
/usr/local/src/mysql/mysql-5.6- 5.6.16
et exécutezCela prendra un certain temps à construire. Dans certains cas, c'est une bonne idée d'augmenter
le numéro de version, mais ce n'est pas vraiment nécessaire ici. car il est peu probable qu'un autre paquet MySQL 5.6 fasse son chemin dans Wheezy.
Si vous ne souhaitez pas exécuter les tests, vous pouvez utiliser à la place
Vous devez maintenant installer libdbd-mysql-perl, qui est une dépendance d'exécution des packages mysql.
Ensuite, augmentez d'un niveau
/usr/local/src/mysql
. Il devrait y avoir des paquets deb là-bas. Vous voudrez installer au moinsCela peut être fait par exemple en exécutant:
la source
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
Can't exec "fakeroot": No such file or directory at /usr/bin/dpkg-buildpackage line 510.
dpkg-buildpackage: error: fakeroot debian/rules clean failed with unknown exit code -1
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
je le fais dans Turnkey Linux qui, je pense, utilise LAMP, si cela aide.apt-get install fakeroot
.mysqldump
et de recharger le fichier de vidage. Sauvegardez également vos bases de données.apt-get remove mysql-server
et , je devaisapt-get remove mysql-client
aussi le faireapt-get install libterm-readkey-perl
avant la dernière étape. De plus, l'mysql-server-core
installation à la dernière étape devait être effectuée avant auparavantmysql-server
. Je lance maintenant officiellement MySQL 5.6.16 et j'ai testé avec succès les index de recherche InnoDB en texte intégral (la raison pour laquelle j'en avais besoin)! Merci, Faheem Mitha. Vous avez sauvé ma raison.Actuellement, la meilleure option est d'utiliser le dépôt officiel MySQL APT qui permet l'
apt-get upgrade
installation.la source
apt-get upgrade
, puis je dois faireapt-get upgrade mysql-server
, et une mise à niveau facile de mysql de 5.5 à 5.7. Après la mise à niveau, vous devez configurer à nouveau et exécuter:mysql_upgrade -u root
Tous testés Amusez-vous.
la source
root@lamp local/mysql# update-rc.d mysql-5.7 defaults
:update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d/mysql-5.7
root@lamp local/mysql# service mysql start
:Starting MySQL
[FAIL......[....] The server quit without updating PID file (/opt/mysql/server-5.6/data/lamp.pid). ... failed!