februarie 3, 2022

rețea de asistență

instalați serverul MySQL pe sistemul de operare Ubuntu

Ultima actualizare pe: 2019-12-20

etichetă: Jered Heeschen

MySQL este o bază de date relațională open-source care este gratuită și utilizată pe scară largă. Este o alegere bună dacă știți că aveți nevoie de o bază de date, dar nu știți prea multe despretoate opțiunile disponibile.

acest articol descrie o instalare de bază a unui server de baze de date MySQL pe sistemul de operare Ubuntu. Este posibil să fie nevoie să instalați alte pachete pentru a permiteaplicațiile utilizează MySQL, cum ar fi extensiile pentru PHP. Verificați aplicațiadocumentație pentru detalii.

instalați MySQL

instalați serverul MySQL utilizând Managerul de pachete pentru sistemul de operare Ubuntu:

sudo apt-get updatesudo apt-get install mysql-server

instalatorul instalează MySQL și toate dependențele.

dacă utilitarul de instalare securizată nu se lansează automat după finalizarea instalării, introduceți următoarea comandă:

sudo mysql_secure_installation utility

acest utilitar vă solicită să definiți parola rădăcină mysql și alte opțiuni legate de securitate, inclusiv eliminarea accesului la distanțăla utilizatorul root și setarea parolei root.

permiteți accesul la distanță

dacă aveți activat iptables și doriți să vă conectați la baza de date MySQL de lao altă mașină, trebuie să deschideți un port în firewall-ul serverului dvs. (defaultport este 3306). Nu trebuie să faceți acest lucru dacă aplicația care utilizează Mysqlse execută pe același server.

rulați următoarea comandă pentru a permite accesul de la distanță la serverul mysql:

sudo ufw enablesudo ufw allow mysql

porniți serviciul MySQL

după finalizarea instalării, puteți porni serviciul bazei de date rulând următoarea comandă. Dacă serviciul este deja pornit, un mesaj vă informează că serviciul rulează deja:

sudo systemctl start mysql

lansarea la reboot

pentru a se asigura că serverul de baze de date se lansează după o repornire, executați followingcommand:

sudo systemctl enable mysql

Configurarea interfețe

MySQL, în mod implicit nu mai este obligat să ( ascultare pe ) orice interfețe accesibile de la distanță.Editați Directiva” bind-address ” în /etc/mysql/mysql.conf.d / mysqld.cnf:

bind-address= 127.0.0.1 ( The default. )bind-address= XXX.XXX.XXX.XXX ( The ip address of your Public Net interface. )bind-address= ZZZ.ZZZ.ZZZ.ZZZ ( The ip address of your Service Net interface. )bind-address= 0.0.0.0 ( All ip addresses. )

reporniți serviciul mysql.

sudo systemctl restart mysql

porniți shell-ul mysql

există mai multe moduri de a lucra cu un server MySQL, dar acest articolse concentrează pe abordarea cea mai de bază și compatibilă, shell-ul mysql.

  1. la promptul de comandă, executați următoarea comandă pentru a lansa shell-ul mysqlși introduceți-l ca utilizator root:

    /usr/bin/mysql -u root -p
  2. când vi se solicită o parolă, introduceți-o pe cea setată latimpul de instalare sau, dacă nu ați setat-o, apăsați Enter pentru a trimite nopassword.

    următoarele mysql shell prompt ar trebui să apară:

    mysql>

setați parola root

dacă v-ați conectat introducând o parolă goală sau dacă doriți să modificați parola rootpassword pe care ați setat-o, puteți crea sau modifica parola.

  1. pentru versiunile anterioare MySQL 5.7, introduceți următoarea comandă în shell-ul mysql, înlocuiți password cunoua parolă:

    UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';

    pentru versiunea MySQL 5.7 și versiunile ulterioare, introduceți următoarea comandă în shell-ul mysql, înlocuind password cu noua parolă:

    UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
  2. pentru ca modificarea să aibă efect, reîncărcați informațiile de utilizator stocate cu următoarea comandă:

    FLUSH PRIVILEGES;

    notă: folosim toate capacele pentru comenzile SQL. Dacă tastați aceste comenzi cu litere mici, acestea vor funcționa. Prin convenție, comenzile sunt scrise cu majuscule pentru a le face să iasă în evidență de numele câmpurilor și de alte date care sunt manipulate.

dacă trebuie să resetați parola rădăcină mai târziu, consultați resetarea unei parole rădăcină MySQL.

vizualizați utilizatorii

MySQL stochează informațiile utilizatorului în propria bază de date. Numele bazei de dateeste mysql. În interiorul acelei baze de date, informațiile despre utilizator se află într-un tabel, adataset, numit utilizator. Dacă doriți să vedeți ce utilizatori sunt configurați în tabelul MySQLuser, executați următoarea comandă:

SELECT User, Host, authentication_string FROM mysql.user;

următoarea listă descrie părțile acelei comenzi:

  • selectați Spune MySQL că solicitați date.
  • User, Host, authentication_string spune MySQL ce câmpuri doriți să se uite în. Câmpurile sunt categorii pentru datele dintr-un tabel. În acest caz, dvs. căutați numele de utilizator, gazda asociată cu numele de utilizator șiintrarea parolei criptate.
  • din mysql.utilizator ” spune MySQL pentru a obține datele de la mysqldatabase și tabelul de utilizator.
  • un punct și virgulă (;) încheie comanda.

Notă: toate interogările SQL se termină cu punct și virgulă. MySQL nu procesează o interogarepână când tastați punct și virgulă.

gazde utilizator

următorul exemplu este rezultatul pentru interogarea precedentă:

SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | authentication_string |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 |+------------------+-----------+-------------------------------------------+

utilizatorii sunt asociați cu o gazdă, în special, gazda de la care se conectează.Utilizatorul rădăcină din acest exemplu este definit pentru localhost, pentru adresa IP a localhost și numele de gazdă al serverului.De obicei, trebuie să setați un utilizator pentru o singură gazdă, cea de la care vă conectațiconectați tipic.

dacă rulați aplicația pe același computer ca MySQLserver, gazda la care se conectează implicit este localhost. Orice utilizator nou pe care îl creați trebuie să aibă localhost în câmpul gazdă.

dacă aplicația dvs. se conectează de la distanță, intrarea gazdă pe care o caută MySQL este adresa IP sau numele de gazdă DNS al computerului la distanță (cel de la care vine clientul).

utilizatori anonimi

în exemplul de ieșire, o intrare are o valoare gazdă, dar nu are nume de utilizator sau parolă.E un utilizator anonim. Atunci când un client se conectează cu nici un nume de utilizator specificat,încearcă să se conecteze ca un utilizator anonim.

de obicei nu doriți utilizatori anonimi, dar unele instalări MySQL includ unul în mod implicit. Dacă vedeți unul, ar trebui fie să ștergeți utilizatorul(consultați numele de utilizator cu ghilimele goale, cum ar fi”), fie să setați o parolă pentru acesta.

creați o bază de date

există o diferență între un server de baze de date și o bază de date, chiar dacă acești termeni sunt adesea folosiți interschimbabil. MySQL este un server de baze de date, ceea ce înseamnă căurmărește bazele de date și controlează accesul la acestea. Baza de date stochează datele șieste baza de date pe care aplicațiile încearcă să o acceseze atunci când interacționează cu MySQL.

unele aplicații creează o bază de date ca parte a procesului lor de configurare, dar altele vă cer să creați singuri o bază de date și să spuneți aplicației despre aceasta.

pentru a crea o bază de date, conectați-vă la shell-ul mysql și executați următoarea comandă,înlocuind demodb cu numele bazei de date pe care doriți să o creați:

CREATE DATABASE demodb;

după crearea bazei de date, puteți verifica crearea acesteia rulând o interogare lalista toate bazele de date. Următorul exemplu arată interogarea și exemplul de ieșire:

SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)

adăugați un utilizator de bază de date

când aplicațiile se conectează la baza de date utilizând utilizatorul root, acestea au de obicei mai multe privilegii decât au nevoie. Puteți adăuga utilizatori pe care aplicațiile le pot utiliza pentru a se conecta la noua bază de date. În exemplul următor, este creat un utilizator numit demouser.

  1. pentru a crea un utilizator nou, executați următoarea comandă în shell-ul mysql :

    INSERT INTO mysql.user (User,Host,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES('demouser','localhost',PASSWORD('demopassword'),'','','');
  2. când efectuați modificări la tabelul de utilizator în baza de date mysql, tellMySQL pentru a citi modificările de spălare privilegiile, după cum urmează:

    FLUSH PRIVILEGES;
  3. verificați dacă utilizatorul a fost creat rulând din nou o interogare SELECT:

    SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | Password |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 || demouser | localhost | *0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |+------------------+-----------+-------------------------------------------+

Acordați permisiuni utilizatorului bazei de date

imediat după ce creați un utilizator nou, acesta nu are privilegii. Utilizatorul se poate conecta, dar nu poate fi folosit pentru a face modificări ale bazei de date.

rezumat

dacă creați doar o bază de date și un utilizator, ați terminat. Concepteleacoperite aici ar trebui să vă ofere un început solid de la care să aflați mai multe.

  • Configurați serverul MySQL pe sistemul de operare Ubuntu
  • resetați o parolă rădăcină MySQL

Lasă un răspuns

Adresa ta de email nu va fi publicată.