Den här artikeln baseras på personliga erfarenheter, inklusive hela processen kring MySQL 8.0-uppgraderingen, samt de problem som uppstod och lösningar som uppstod i mitten.
Värdefulla dokument som refereras under processen markeras.
Välkommen att samla, välkommen att gå vidare, men hoppas kunna ange källanInloggningen med hyperlänken är synlig.,OriginalInte lätt
Först, ladda ner och installera det nödvändiga installationspaketet, och välj efter dina behov (här är rhel7.4, 64-bit som exempel)
Inloggningen med hyperlänken är synlig.
Öppna tjärpaketet
Tar -zxvf mysql-8.0.4-0.1.rc.el7.x86_64.rpm-bundle.tar
Fel
gzip: stdin: not in gzipformat
tar: Child returnedstatus 1
tar: Error is notrecoverable: exiting now
Lösning:
Ta bort z-parametern och använd tar -xvf för att dekomprimera normalt
Orsaksanalys:
1. Namnet på den komprimerade filen har ändrats artvärt, till exempel: den ursprungliga komprimeringen är inte .gz, suffixet modifieras artificiellt, sedan kan suffixet tas bort och sedan dekomprimeras, till exempel: fil FMIS2600DMP.tar.gz, ta bort gz-suffixet och använd sedan tar -xvf för att dekomprimera
2. -z-parametern är faktiskt ett trycksättnings- eller dekompressionsprogram som anropar bz2, och att ta bort denna parameter kan också undvika detta problem
Installation av mjukvarupaket
Följ bara följande här, annars kommer det att bli många problem med paketberoende. Jag ska inte ge specifika problem, jag har stött på ganska många
Lägg alla rpm-paket i samma tomma mapp, förutom mysql-community-server-miniaml-*, eftersom det kommer att krocka med servern och klienten,
Använd sedan följande kommando för att installera (jag rekommenderar att installera alla direkt, det finns ingen anledning att begränsa mycket eftersom jag gav länken nedan, för då uppstår vissa konflikt, installera bara alla 9 rpm-paket med Yum, det rekommenderas att installera med Yum, använd inte rpm-kommandon eftersom Yum automatiskt kommer att upptäcka och lösa konflikter och beroenden mellan installationspaketen)
sudoyum installera mysql-community-*
Installationsreferens:https://dev.mysql.com/doc/refman ... stallation-rpm.html
Kan inte ansluta till lokal MySQL-server via socket '/var/lib/mysql/mysql.sock
Upplösningssteg:
1 systemCTL stop mysqld (stop service)
2 rm -fr /var/lib/mysql/* (radera alla filer under /var/lib/mysql)
3 rm /var/lock/subsys/mysqld (ta bort låsfil)
4 killall MySQLD (döda alla mysqld-processer)
5 systemctl start mysqld (starta mysql-tjänsten.) )
Referenslänkar:https://www.cnblogs.com/okstill/p/5667138.html
Root-användaren loggar in på databasen utan lösenord
Åtkomst nekad för användaren 'root'@'localhost' (med lösenord: JA)
Metod:
Hoppa över root-temporära lösenordet och logga in i databasen för att ändra lösenordet
1. Stäng MySQL-tjänsten:
SystemCTL Stop MySQLD
2. Ställ in miljövariabeln att hoppa över behörighetskontroller
systemctlset-miljö MYSQLD_OPTS="--skip-grant-tables"
3. Starta om MySQL-tjänsten
SystemCTL Start MySQLD
4. Logga in som rot
mysql -u root
Vid det här laget kan du logga in framgångsrikt
5. Sätt ett root-lösenord
UPPDATERA mysql.userSET authentication_string= PASSWORD('Root@123') DÄR User = 'root';
Efter MySQL 5.6 stärktes lösenordens styrka med lanseringen av validate_password plugins (som på vissa platser verkar ha funnits tidigare, men nu är obligatoriska). Stöd krav på lösenordsstyrka. , kontrollera konfigurationskraven för varje parameter i validate_password med följande kommando,
MySQL Password Strength Audit Plugin: validate_password instruktioner för användninghttp://www.xuchanggang.cn/archives/1033.html
VISA VARIABLER SOM 'validate_password%';
Du kan konfigurera parametrarna genom att använda följande kommandon, och de viktigaste parametrarna för lösenordsstyrka är följande policyer
sätt global validate_password.policy=LOW;
Återupprätthållande
UPDATEmysql.user SET authentication_string = 'root123' DÄR User = 'root';
Så det sista kommandot för att ändra lösenordet är
UPDATEmysql.user SET authentication_string = 'root123' DÄR User = 'root';
6. Stoppa mysql-tjänsten
Systemctl stopmysqld
7. Avbryt det tidigare inställda alternativet för att hoppa över behörighetskontroller
SystemCTL unset-miljö MYSQLD_OPTS
8. Starta MySQL normalt
SystemCTL Start MySQLD
9. Logga in med det nya lösenord du ställde in tidigare
mysql -u root -p
Problem med inloggning i referens:http://blog.csdn.net/u014306472/article/details/78160427
Gå igenom standardlösenordet
grep "temporary password"/var/log/mysqld.log
Här är en kopia av ovanstående kommando skriven i ett stycke, så att kopian bara utförs en gång, inte tre gånger
Innan du loggar in igen, ställ in hopp-behörigheten för att kontrollera systemctl stop mysqld. systemctl set-environmentMYSQLD_OPTS="--skip-grant-tables"; SystemCTL Start MySQLD Återställ När inställningen är klar, svara på behörighetskontrollen systemctl stopmysqld. SystemCTL Unset-miljö MYSQLD_OPTS; SystemCTL Start MySQLD;
|