mysql din linie de comanda
TRANSCRIPT
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