frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

MySQL duomenų bazių komandų pradmenys

IV_VygandasSIV_VygandasS Serverių ekspertas (-ė)
edited 2014 gegužės 15 Į Duomenų bazių serveriai
Šiame informaciniame straipsnyje pateikiame MySQL duomenų bazių esmines valdymo komandas.

MySQL tarnybos komandos

MySQL serveris įdiegiamas įvykdžius šias komandas:
  • Ubuntu:
    sudo apt-get install mysql-server
    
  • Centos:
    sudo yum install mysql-server
    

Paleidimas:
/etc/init.d/mysqld start
Perkrovimas:
/etc/init.d/mysqld restart
Sustabdymas:
/etc/init.d/mysqld stop
Būsenos pateikimas:
/etc/init.d/mysqld status
Įsidiegus MySQL serverį, prie MySQL komandinės eilutės yra prisijungiama su "root" vartotoju naudojant šią komandą:
mysql -u root -p

Vykdant šią komandą vertėtų atkreipti dėmesį, jog prašomas yra MySQL "root" vartotojo slaptažodis, o ne sisteminio "root" vartotojo slaptažodis.

Prisijungus prie MySQL mes turime galimybę modifikuoti esamas, bei kurti naujas duomenų bazes.

Pora dalykų kuriuos verta atsiminti:
  • Visos MySQL komandos baigiasi kabliataškio (;) simboliu. Jeigu nėra padedamas kabliataškis komanda nebus vykdoma;
  • Taip pat nors ir nėra privaloma, tačiau verta paminėti, jog suprantamumo dėlei įprastai MySQL komandos yra rašomos didžiosiomis raidėmis, o duomenų bazės, lentelės, vartotojai ar paprastas tekstas yra rašomas mažosiomis raidėmis. Bendru atveju MySQL komandos bus įvykdytos nepriklausomai ar jas rašant didžiosiomis ar mažosiomis raidėmis.

Duomenų bazių valdymas

Duomenų bazės sukūrimas:

MySQL laiko duomenis duomenų bazėse, o kiekviena duomenų bazė savyje talpina lenteles.

Peržiūrėti esamas duomenų bazes galime įvykdžius šią komandą:
SHOW DATABASES;
Numatomas rezultatas:
+--------------------+
| Database           |
+--------------------+
| information_schema |
| admin_default      |
| mysql              |
| performance_schema |
| roundcube          |
| test_asdasd        |
+--------------------+
6 rows in set (0.00 sec)
Naują duomenų bazę sukurti galime naudojant šią komandą:
CREATE DATABASE database_name;
Duomenų bazės pašalinimas:
DROP DATABASE database_name;
Pasirenkame naujai sukurtą duomenų bazę:
USE database_name;
Patikrinti pasirinktoje duomenų bazėje esančių lentelių sąrašą galime įvykdžius šią komandą:
SHOW tables; 
Bandomosios lentelės sukūrimas:
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
name VARCHAR(20),
food VARCHAR(30),
confirmed CHAR(1), 
signup_date DATE);
Siekiant prisiminti sukurtos lentelės struktūra įvykdome šią komandą:
DESCRIBE potluck;
Informacijos įterpimas į prieš tai sukurtą lentelę:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11');
Numatomas rezultatas:
Query OK, 1 row affected (0.00 sec)
Peržiūrėti pasirinktos lentelės turinį galime įvykdant šią komandą:
SELECT * FROM potluck;
Informacijos lentelėje atnaujinimas:
UPDATE `potluck` 
SET 
`confirmed` = 'N' 
WHERE `potluck`.`name` ='John';
Papildomo stulpelio pridėjimas:
ALTER TABLE potluck ADD email VARCHAR(40);
Siekiant pakeisti pasirinkto stulepio vietą lentelėje vykdome komandą su šia sintakse:
ALTER TABLE potluck ADD email VARCHAR(40) AFTER name; 
Pageidaujamo stulpelio pašalinimas iš lentelės:
ALTER TABLE potluck DROP email;
Pageidaujamos eilutės (įrašo) pašalinimas iš lentelės galimas naudojant šią sintaksę:
DELETE from <lentelės_pavadinimas> where <stulpelio_pavadinimas>=[laukelio_turinys];
Prieš tai naudotam pavyzdžiui pritaikyta komanda:
DELETE from potluck  where name='Sandy';

Duomenų bazių vartotojų valdymas

Naujo vartotojo sukūrimas:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Atsižvelgiant jog naujai sukurtas vartotojas neturi jokių teisių, t.y. netgi prisijungimo prie duomenų bazės su prieš tai nurodytu slaptažodžiu.

Šiam vartotojui suteikiame visas galimas teises, visoms duomenų bazėms ir lentelėms:
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Siekiant suteikti teises visoms duomenų bazėms ar visoms lentelėms yra naudojamas žvaigždutės (*) simbolis.

Užbaigus vartotojų teisių koregavimo darbus įgaliname prieš tai atliktus pakeitimus su šia komanda:
FLUSH PRIVILEGES;

Teisių suteikimo vartotojui sintaksė:
GRANT <teisių_tipas> ON <duomenų_bazė>.<lentelė> TO ‘<vartotojas>’@'localhost’;

Įprastai taikomi teisių tipai:
  • ALL PRIVILEGES - visos galimos teisės;
  • CREATE - leidimas sukurti naują lentelę ar duomenų bazę;
  • DROP - leidimas pašalinti lentelę ar duomenų bazę;
  • DELETE - leidimas pašalinti eilutę (įrašą) iš lentelės;
  • INSERT - leidimas įterpti eilutę (įrašą) į lentelę;
  • SELECT - leidimas naudoti SELECT komanda, kurios pagalba vartotojas galės peržiūrėti duomenų bazėje saugomus duomenis;
  • UPDATE - leidimas atnaujinti esamus įrašus;
  • GRANT OPTION - leidimas suteikti ar pašalinti vartotojams teises.

Tiesių pašalinimui naudojama komandos sintaksė:
REVOKE <teisių_tipas> ON <duomenų_bazė>.<lentelė> FROM ‘<vartotojas>’@'localhost’;

Siekiant pašalinti vartotoją vykdoma ši komanda:
DROP USER ‘demo’@‘localhost’;

Siekiant išbandyti prisijungimą su naujuoju vartotoju vykdome šias komandas:
quit

Inicijuojame naują prisijungimą su kitu vartotoju:
mysql -u<vartotojas> -p


Dauigau informacijos apie galimas MySQL komandas rasite apsilankę šiuo adresu.
Norėdami palikti komentarą, turite prisijungti arba registruokis.