Bu makale, MySQL 8.0 yükseltme sürecinin tamamını ve ortada karşılaşılan sorunlar ve çözümler dahil olmak üzere kişisel deneyimlere dayanmaktadır.
Süreç boyunca referans verilen değerli belgeler işaretlenir.
Collect ve forward'a hoş geldiniz, ama kaynağı belirtmeyi umarımBağlantı girişi görünür.,ÖzgünKolay değil
Öncelikle, gerekli kurulum paketini indirip kur ve ihtiyaçlarınıza göre seçin (örneğin rhel7.4, 64-bit burada)
Bağlantı girişi görünür.
Kat paketini aç
Tar -zxvf mysql-8.0.4-0.1.rc.el7.x86_64.rpm-bundle.tar
Hata
gzip: stdin: not in gzipformat
tar: Child returnedstatus 1
tar: Error is notrecoverable: exiting now
Çözüm:
z parametresini çıkarın ve normal şekilde dekompresyonu almak için tar -xvf kullanın
Neden analizi:
1. Sıkıştırılmış dosyanın adı yapay olarak değiştirilmiştir, örneğin: orijinal sıkıştırma .gz değildir, eki yapay olarak değiştirilir, ardından eki çıkarılıp ardından sıkıştırılabilir, örneğin: FMIS2600DMP.tar.gz dosyala, gz ekini çıkarır ve ardından tar -xvf ile dekompres edilir
2. -z parametresi aslında bz2'yi çağıran bir basınçlandırma veya dekompresyon programıdır ve bu parametrin kaldırılması da bu sorunu önleyebilir
Yazılım paketlerinin kurulumu
Buradaki kuralları takip edin, aksi takdirde çok sayıda paket bağımlılığı sorunu yaşanır. Spesifik sorunlar vermeyeceğim, oldukça çok şeyle karşılaştım
Tüm rpm paketlerini aynı boş klasöre koy, mysql-community-server-miniaml-* hariç, çünkü sunucu ve istemci ile çakışacak,
Sonra aşağıdaki komutu kullanarak kurulum (hepsini doğrudan yüklemenizi öneririm, aşağıdaki bağlantıyı verdiğim gibi çok fazla sınırlamaya gerek yok, çünkü o zaman bazı çatışma sorunları olur, sadece yum ile tüm 9 rpm'lik paketleri kur, yum ile kurmanız önerilir, rpm komutlarını kullanmayın, çünkü yum otomatik olarak kurulum paketleri arasındaki çatışmaları ve bağımlılıkları tespit edip çözecektir)
Sudoyum install mysql-community-*
Kurulum Referansı:https://dev.mysql.com/doc/refman ... stallation-rpm.html
Socket '/var/lib/mysql/mysql.sock üzerinden yerel MySQL sunucusuna bağlanamıyorum
Çözüm adımları:
1 systemctl stop mysqld (stop service)
2 rm -fr /var/lib/mysql/* (/var/lib/mysql altındaki tüm dosyaları sil)
3 rm /var/lock/subsys/mysqld (kilit dosyasını sil)
4 Killall MySQL (Tüm MySQL süreçlerini öldür)
5 systemctl mysqld'yi başlat (mysql servisini başlat.) )
Referans bağlantıları:https://www.cnblogs.com/okstill/p/5667138.html
Root kullanıcı veritabanına şifre olmadan giriş yapar
Kullanıcı 'root'@'localhost' için erişim reddedildi (şifre kullanılarak: EVET)
Yöntem:
Root geçici şifreyi atlayın ve şifreyi değiştirmek için veritabanına giriş yapın
1. MySQL servisini kapatın:
systemctl stop mysqld
2. Ortam değişkenini izin kontrollerini atlayacak şekilde ayarlayın
systemctlset-environment MYSQLD_OPTS="--skip-grant-tables"
3. MySQL servisini yeniden başlatın
systemctl start mysqld
4. Root olarak giriş yapın
mysql -u kökü
Bu noktada başarıyla giriş yapabilirsiniz
5. Kök şifre belirleyin
mysql.userSET authentication_string= PASSWORD('Root@123') GÜNCELLEME BURADA KULLANICI = 'kök';
MySQL 5.6'dan sonra, şifrelerin gücü validate_password eklentilerin yayımlanmasıyla güçlendi (bazı yerlerde önceden var gibi görünüyor ama şimdi zorunlu görünüyor). Şifre güç gereksinimlerini destekleyin. , validate_password parametresinin yapılandırma gereksinimlerini aşağıdaki komutla kontrol edin,
MySQL Password Strength Audit Eklentisi: validate_password kullanım talimatlarıhttp://www.xuchanggang.cn/archives/1033.html
'%validate_password' GIBI DEĞIŞKENLERI GÖSTER;
Parametreleri aşağıdaki komutları kullanarak yapılandırmak mümkündür ve şifre gücü gereksinimleri için en önemli parametreler aşağıdaki politikalardır
küresel validate_password.policy=LOW;
Yeniden Uygulama
UPDATEmysql.user SET authentication_string = 'root123' WHERE User = 'root';
Şifreyi değiştirmek için son komut şu
UPDATEmysql.user SET authentication_string = 'root123' WHERE User = 'root';
6. MySQL hizmetini durdur
systemctl stopmysqld
7. Önceden belirlenen izin kontrollerini atlama seçeneğini iptal et
systemctl unset-environment MYSQLD_OPTS
8. MySQL'i normal şekilde başlatın
systemctl start mysqld
9. Daha önce ayarladığınız yeni şifreyle giriş yapın
mysql -u kök -p
Referans girişinde sorunlar:http://blog.csdn.net/u014306472/article/details/78160427
Varsayılan şifreyi gözden geçirin
grep "geçici şifre"/var/log/mysqld.log
İşte yukarıdaki komutun tek parça halinde yazılmış bir kopyası, böylece kopya sadece bir kez çalıştırılır, 3 kez değil
Tekrar giriş yapmadan önce, atlama iznini systemctl stop mysqld'yi kontrol etmek için ayarlayın. systemctl set-environmentMYSQLD_OPTS="--grant-table'ları atla"; systemctl start mysqld Sıfırlama Ayar tamamlandıktan sonra, systemctl stopmysqld izin kontrolüne yanıt verin. systemctl belirsiz ortam MYSQLD_OPTS; systemctl başlat mysqld;
|