Kako namestiti MySQL na Ubuntu 20.04
MySQL je ena najbolj priljubljenih odprtokodnih podatkovnih baz. Znana je po svoji zmogljivosti, zanesljivosti in prilagodljivosti ter se uporablja na številnih področjih, od majhnih sistemov za gostovanje spletnih strani do velikih podjetij. V tem članku bomo po korakih razložili, kako namestiti MySQL na Ubuntu 20.04, da boste lahko vzpostavili zanesljiv sistem za upravljanje podatkovnih baz.
Kakšne so zahteve za namestitev MySQL na Ubuntu 20.04?
Za namestitev MySQL na Ubuntu 20.04 je relativno malo sistemskih zahtev, ki naj bi bile izpolnjene na večini sodobnih namiznih in strežniških sistemov. Pomembno je omeniti, da se zahteve lahko razlikujejo glede na namen in obseg baze podatkov. Če na primer želite izvajati intenzivno aplikacijo, ki uporablja velike baze podatkov ali zapletena poizvedovanja, bo za zagotovitev dobrega delovanja potrebno več pomnilnika RAM in procesorske moči. Prav tako morate imeti dovolj prostora na trdem disku, da omogočite prihodnjo rast in dodajanje več baz podatkov.
Preverite konfiguracijo omrežja in nastavitve požarnega zidu, da zagotovite nemoteno komunikacijo med strežnikom MySQL in odjemalci. Strežnik MySQL mora imeti statični IP-naslov, da se izognete morebitnim težavam s povezavo.
Tukaj so minimalne zahteve za namestitev MySQL:
- Procesor (CPU): arhitektura x86-64, min. 1 GHz (dvojedrni)
- RAM: min. 1 GB
- Operacijski sistem: Ubuntu 20.04, uporabniški račun s privilegiji sudo in root
- Požarni zid: odprt MySQL vrat 3306
- Prostor na trdem disku: min. 500 MB
- Internetna povezava: potrebna za prenos paketov in povezavo z MySQL strežnikom
Podrobna navodila za namestitev MySQL na Ubuntu 20.04
MySQL lahko namestite v Ubuntu 20.04 s pomočjo sistema za upravljanje paketov APT (Advanced Package Tool). Po namestitvi ga morate nastaviti in konfigurirati, za kar potrebujete geslo root in dostop do zunanjih odjemalcev. V nadaljevanju vam bomo pokazali, kako korak za korakom namestiti MySQL v Ubuntu 20.04.
Korak 1: Posodobite indeks paketov
Najprej je dobro preveriti, ali je vaš seznam paketov posodobljen. Za to lahko uporabite naslednji ukaz:
$ sudo apt updatebashKorak 2: Namestite strežnik MySQL
Nato namestite paket strežnika MySQL z APT:
$ sudo apt install mysql-serverbashDa preverite, ali strežnik deluje, ga lahko ročno zaženete s ukazom systemctl.
$ sudo systemctl start mysql.servicebashKorak 3: Konfigurirajte MySQL
MySQL takoj po namestitvi ne izpolnjuje priporočenih varnostnih standardov. Da bi to popravili, uporabite skript, ki ga ponuja MySQL, da spremenite nastavitve in tako bolje zaščitite strežnik. S tem boste nastavili geslo root, odstranili anonimne uporabnike in omejili oddaljeni dostop.
Da bi zagotovili pravilno izvedbo skripta, morate sprejeti določene varnostne ukrepe. Aplikacija bo želela spremeniti geslo za root račun, ki je v Ubuntu privzeto deaktiviran. Da bi se izognili napaki, morate prilagoditi metodo avtentifikacije root uporabnikov.
Za to zaženite ukazno vrstico MySQL:
$ sudo mysqlbashUporabite ukaz ALTER USER, da nastavite geslo za root:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';bashZaprite ukazno vrstico MySQL:
mysql> exitbashIzvedite varnostni skript:
$ sudo mysql_secure_installationbashZa avtentifikacijo uporabnika root vnesite naslednje:
$ mysql -u root -pbashKo je skript končan, lahko ponovno spremenite standardno metodo avtentifikacije:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;bashTo vam bo omogočilo, da se ponovno povežete z ukazom sudo mysql.
Korak 4: Nastavite uporabnike MySQL
Namestitev MySQL ustvari uporabnika root, ki ima vse privilegije za strežnik MySQL in popoln nadzor nad bazami podatkov, tabelami in uporabniki. Za povečanje varnosti morate ustvariti uporabnika z omejenimi privilegiji.
Za to odprite ukazno vrstico MySQL:
$ sudo mysqlbashČe ste kot metodo avtentifikacije nastavili geslo, uporabite naslednje:
$ mysql -u root -pbashSedaj ustvarite novega uporabnika za MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashVnesite svoje uporabniško ime na mesto »username« in ime gostitelja na mesto »host«. Če lokalno uporabljate Ubuntu, vpišite localhost. Izraz »WITH authentication_plugin« je neobvezen. Vtičnik »auth_socket« ima močne varnostne nastavitve in za prijavo ne zahteva gesla.
Če ni drugače navedeno, MySQL za avtentifikacijo uporablja vtičnik „caching_sha2_password”. Vendar pa nekatere različice PHP niso združljive z njim. Namesto njega lahko uporabite preizkušen in zanesljiv vtičnik „mysql_native_password”:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashAli uporabite funkcijo »alter« za obstoječega uporabnika:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashKorak 5: Dodelite privilegije
Sedaj je čas, da nastavite, katere privilegije bo imel novi uporabnik. Sintaksa za to je:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashPrivilegiji so ločeni z vejico. Če želite dodeliti globalne privilegije, nadomestite »database.table« z zvezdico »*«.
V naslednjem primeru uporabniku dodelimo dovoljenje za ustvarjanje (CREATE), spreminjanje (ALTER) in brisanje (DROP) podatkovnih baz ter za vstavljanje (INSERT), izbiranje (SELECT), posodabljanje (UPDATE) in brisanje (DELETE) podatkov v tabeli.
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;bash„Z MOŽNOSTJO PODELITVE“ uporabniku dodeli pravico, da svoje privilegije podeli drugim uporabnikom.
Sedaj izpraznite predpomnilnik z ukazom „FLUSH PRIVILEGES“:
mysql> FLUSH PRIVILEGES;bashNato lahko zaprete ukazno vrstico MySQL:
mysql> exitbashSedaj se lahko prijavite z novim uporabniškim imenom:
$ mysql -u username -pbashKorak 6: Preizkusite MySQL
Preverite, ali MySQL deluje pravilno, na primer s sistemskim upraviteljem Systemd:
$ systemctl status mysql.servicebashAlternativno se lahko povežete z MySQL podatkovno bazo. Sledeči ukaz vas prijavi v MySQL in prikaže različico strežnika:
$ sudo mysqladmin -p -u username versionbash