Yukarıdaki cevapların hiçbiri gerçekte ne olduğunu açıklayamadığından, bu konuya girmeye ve biraz daha ayrıntı vermeye karar verdim.
Evet, çözüm aşağıdaki gibi MySQL Yükseltme komutunu çalıştırmaktır:, mysql_upgrade -u root -p --force
ama ne oldu?
Bu sorunun temel nedeni performance_schema
aşağıdakilerden kaynaklanabilecek bozulmadır:
- Organik yolsuzluk (kaboom, motor hatası, çekirdek sürücüsü sorunu vb.
- MySQL Patch sırasında yolsuzluk (mysql patch sırasında, özellikle büyük sürüm yükseltmeleri için bunun olması duyulmamış)
- Basit bir "drop database performance_schema" açıkça bu soruna neden olacak ve bozuk olduğu gibi aynı belirtileri gösterecektir.
Bu sorun bile yama önce veritabanı üzerinde mevcut olmuştur, fakat MySQL 5.7.8 ne oldu özellikle bayrak olmasıdır olabilir show_compatibility_56
dönük olmak varsayılan değer değiştirdi ON
, varsayılan olarak OFF
. Bu bayrak, motorun çeşitli MySQL Sürümlerinde değişkenleri (oturum ve genel) ayarlamak ve okumak için sorgular üzerinde nasıl davrandığını kontrol eder.
MySQL 5.7+ bu değişkenleri on performance_schema
yerine okumaya ve saklamaya başladığı için information_schema
, bu bayrak ON
ilk değişikliğe gelince, bu değişikliğin patlama yarıçapını azaltmak ve kullanıcılara değişiklik hakkında bilgi vermek ve buna alışmak için tanıtıldı .
Tamam, ama bağlantı neden başarısız oluyor? Çünkü kullandığınız sürücüye (ve yapılandırmasına) bağlı olarak, veritabanına başlatılan her yeni bağlantı için komutlar çalıştırılabilir (örneğin show variables
, örneğin). Bu komutlardan biri bozuk erişmeye çalışabileceğinden performance_schema
, tüm bağlantı tam olarak başlatılmadan önce durur.
Yani, özetle, sen olabilir oldu (şimdi söylemek imkansız) performance_schema
ya eksik veya yama önce bozulmuş. 5.7.8 yaması, daha sonra motoru değişkenlerinizi okumaya zorladı performance_schema
(bunun yerine information_schema
bayrağın döndürülmesi nedeniyle okuduğu yer ON
). Yana performance_schema
bozuktur, bağlantılar başarısız oluyor.
MySQL yükseltmesini çalıştırmak, kesinti süresine rağmen en iyi yaklaşımdır. Bayrağı açmak bir seçenektir, ancak bu iş parçacığına zaten işaret edildiği gibi kendi etkileriyle birlikte gelir.
Her ikisi de çalışmalı, ancak sonuçları ağırlıklandırmalı ve seçimlerinizi bilmelisiniz :)
5.7.8-rc
sürümü yeniden yüklemeyi ve DB tam yedeklemesinden geri yüklemeyi düşünebilirsiniz .