Acest articol se bazează pe experiențe personale, inclusiv pe întregul proces de upgrade MySQL 8.0, precum și pe problemele întâlnite și soluțiile întâlnite la mijloc.
Documentele valoroase menționate pe parcursul procesului sunt marcate.
Bine ați venit la colectare, bine ați venit la forward, dar sper să indicați sursaAutentificarea cu hyperlink este vizibilă.,OriginalNu e ușor
Mai întâi, descarcă și instalează pachetul de instalare necesar și alege în funcție de nevoile tale (aici este rhel7.4, 64-bit ca exemplu)
Autentificarea cu hyperlink este vizibilă.
Desface pachetul de gudron
Tar -zxvf mysql-8.0.4-0.1.rc.el7.x86_64.rpm-bundle.tar
Eroare
gzip: stdin: not in gzipformat
tar: Child returnedstatus 1
tar: Error is notrecoverable: exiting now
Soluție de ocolire:
Eliminați parametrul z și folosiți tar -xvf pentru a decomprima normal
Analiza cauzei:
1. Numele fișierului comprimat a fost modificat artificial, de exemplu: compresia originală nu este .gz, sufixul este modificat artificial, apoi sufixul poate fi eliminat și apoi decomprimat, de exemplu: fișierul FMIS2600DMP.tar.gz, eliminarea sufixului gz, apoi folosirea tar -xvf pentru decompresie
2. Parametrul -z este de fapt un program de presurizare sau decompresie care apelează la bz2, iar eliminarea acestui parametru poate evita această problemă
Instalarea pachetelor software
Doar urmează ce urmează aici, altfel vor apărea multe probleme de dependență de pachete. Nu voi da probleme specifice, am întâlnit destul de multe
Pune toate pachetele rpm în același folder gol, cu excepția mysql-community-server-miniaml-*, pentru că va intra în conflict cu serverul și clientul,
Apoi folosește următoarea comandă pentru a instala (recomand să le instalezi pe toate direct, nu este nevoie să limitezi prea mult, așa cum am dat linkul de mai jos, pentru că atunci vor apărea probleme de conflict, instalează toate pachetele de 9 rpm cu yum, este recomandat să instalezi cu yum, nu folosi comenzi rpm, pentru că yum va detecta și rezolva automat conflictele și dependențele dintre pachetele de instalare)
Sudoyum Install MySQL-Community-*
Referință de instalare:https://dev.mysql.com/doc/refman ... stallation-rpm.html
Nu se poate conecta la serverul MySQL local prin socket-ul '/var/lib/mysql/mysql.sock
Pași de rezolvare:
1 systemctl stop mysqld (oprire serviciu)
2 rm -fr /var/lib/mysql/* (șterge toate fișierele din /var/lib/mysql)
3 rm /var/lock/subsys/mysqld (șterge fișierul lock)
4 ucide toate procesele mysqld (oprește toate procesele mysqld)
5 systemctl start mysqld (Pornește serviciul mysql.) )
Linkuri de referință:https://www.cnblogs.com/okstill/p/5667138.html
Utilizatorul root se conectează în baza de date fără parolă
Acces refuzat pentru utilizatorul 'root'@'localhost' (folosind parola: DA)
Metodă:
Sari peste parola temporară root și conectează-te în baza de date pentru a schimba parola
1. Închiderea serviciului MySQL:
systemctl stop mysqld
2. Setează variabila de mediu să sară peste verificările de permisiuni
systemctlset-environment MYSQLD_OPTS="--skip-grant-tables"
3. Repornește serviciul MySQL
systemctl start mysqld
4. Conectează-te ca root
mysql -u root
În acest moment, te poți conecta cu succes
5. Setează o parolă root
ACTUALIZARE mysql.userSET authentication_string= PASSWORD('Root@123') UNDE User = 'root';
După MySQL 5.6, puterea parolelor a fost consolidată odată cu lansarea unor pluginuri validate_password (care în unele locuri par să fi existat înainte, dar acum sunt obligatorii). Suportă cerințele de forță a parolelor. , verifică cerințele de configurare ale fiecărui parametru al validate_password prin următoarea comandă,
Plugin MySQL Password Strength Audit: validate_password instrucțiuni de utilizarehttp://www.xuchanggang.cn/archives/1033.html
AFIȘEAZĂ VARIABILE PRECUM "validate_password%";
Poți configura parametrii folosind următoarele comenzi, iar cei mai importanți parametri pentru cerințele de forță a parolei sunt următoarele politici
setați global validate_password.policy=LOW;
Reîntărire
UPDATEmysql.user SET authentication_string = 'root123' UNDE User = 'root';
Deci ultima comandă pentru a schimba parola este
UPDATEmysql.user SET authentication_string = 'root123' UNDE User = 'root';
6. Opriți serviciul mysql
systemctl stopmysqld
7. Anulează opțiunea setată anterior de a sări peste verificările de permisiuni
systemctl unset-environment MYSQLD_OPTS
8. Pornește MySQL normal
systemctl start mysqld
9. Conectează-te cu noua parolă pe care ai setat-o anterior
mysql -u root -p
Probleme legate de autentificare la referință:http://blog.csdn.net/u014306472/article/details/78160427
Revizuiește parola implicită
grep "parolă temporară"/var/log/mysqld.log
Iată o copie a comenzii de mai sus scrisă într-o singură bucată, astfel încât copia să fie executată o singură dată, nu de trei ori
Înainte să te conectezi din nou, setează permisiunea de skip pentru a verifica systemctl stop mysqld. systemctl set-environmentMYSQLD_OPTS="--skip-grant-tables"; systemctl start mysqld Resetare După ce setarea este finalizată, răspunde la verificarea permisiunilor systemctl stopmysqld. systemctl unset-environment MYSQLD_OPTS; systemctl start mysqld;
|