MySQL din linie de comanda
Transcript of MySQL din linie de comanda
Administrarea MySQL din linie de comanda
Mihail Croitor
Cuprins• Necesitatea lucrului cu MySQL din linie de comandă• Aplicații MySQL• mysqld• mysql• mysqladmin• mysqlcheck / myisamchk• mysqldump• mysqlimport
• Scenarii utile
Necesitatea lucrului cu MySQL din linie de comandă• În caz, dacă nu este instalat un sistem visual de gestionare a BD
(phpmyadmin sau altul);• Operații de SuperUser, operații ce necesită resurse extreme (mult
timp sau memorie);• Crearea copiilor de rezervă;• Restabilirea / repararea bazelor de date;• Alte…
Aplicații MySQL• mysqld – serverul (daemon) MySQL. Se execută concomitent.• mysql – un simplu înveliș SQL ce suportă cât regim interactiv atât și regim
neinteractiv.• mysqladmin – aplicație ce se utilizează pentru operațiuni administrative
(crearea BD, gestionarea utilizatorilor și permisiunilor).• mysqlcheck / myisamchk – aplicații pentru verificare și restabilire BD.
mysqlcheck se utilizează cu server pornit, myisamchk – cu server oprit.• mysqldump – aplicație pentru afișarea BD în format SQL.• mysqlimport – aplicație pentru import datelor din fișiere textuale în tabele
respective.
Aplicații MySQL: mysql• Mod de utilizare:
mysql [OPTIONS] [database]
• Opțiuni posibile:• --default-character-set=name• -?, --help• -h, --host=name• -p, --password[=name]• -t, --table• --ssl• -u, --user=name
Aplicații MySQL: mysqladmin• Mod de utilizare:
mysqladmin [OPTIONS] command command ...
• Opțiuni posibile:• --default-character-set=name• -?, --help• -h, --host=name• -p, --password[=name]• --ssl• -u, --user=name
Aplicații MySQL: mysqlcheck• Mod de utilizare:
mysqlcheck [OPTIONS] database [tables]SAU mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...]SAU mysqlcheck [OPTIONS] --all-databases
• Opțiuni posibile:• -A, --all-databases• -a, --analyze• --auto-repair• -c, --check• -o, --optimize• -r, --repair• -h, --host=name• -p, --password[=name]• -u, --user=name
Aplicații MySQL: myisamchk• Mod de utilizare:
myisamchk [OPTIONS] tables[.MYI]
• Opțiuni posibile:• -c, --check• -e, --extend-check• -f, --force• -B, --backup• -r, --recover• -a, --analyze• -d, --description
Aplicații MySQL: mysqldump• Mod de utilizare:
mysqldump [OPTIONS] database [tables]OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]OR mysqldump [OPTIONS] --all-databases [OPTIONS]
• Opțiuni posibile:• -h, --host=name• -p, --password[=name]• -u, --user=name• --add-drop-database• --add-drop-table• -c, --complete-insert
Aplicații MySQL: mysqlimport• Mod de utilizare:
mysqlimport [OPTIONS] database textfile...
• Opțiuni posibile:• -h, --host=name• -p, --password[=name]• -u, --user=name• -d, --delete• -r, --replace
Scenarii utile• Crearea copiei de rezervă:
• mysqldump -u <user> -p <database> > dump.sql
• Crearea structurei BD:• mysqldump --no-data -u <user> -p <database> > dump.sql
• Crearea BD:• mysqladmin -u <user> -p create <database_name>
• Restabilirea copiei de rezervă:• mysql -u <user> -p <database> < dump.sql
• Sau din regim interactiv mysql:• mysql> use database;
mysql> source database.sql
Scenarii utile• Lista utilizatorilor MySQL:
• mysql> SELECT User,Host FROM mysql.user;
• Privilegii utilizatorului root:• mysql> SHOW GRANTS FOR root@localhost;
• Setarea parolei la utilizator root:• mysqladmin -uroot password <password>
• Afișarea tuturor bazelor de date:• mysql> SHOW DATABASES;
• Verificarea BD la greșeli• mysqlcheck -p dbname
• Restabilirea și optimizarea tuturor BD:• mysqlcheck -Aor -p
Restabilirea parolei administratorului:#service mysqld stop#mysqld_safe --skip-grant-tables &#mysql
#mysql> UPDATE mysql.user SET Password=PASSWORD('secret') WHERE User='root';#mysql> FLUSH PRIVILEGES;#mysql> \q
#service mysqld restart