MySQL Befehle
Aus wiki.drap.de
Hier ist eine Zusammenfassung der gebräuchlichsten MySQL Befehlen.
| mysql | |
|---|---|
| mysql | MySQL Client Programm zum absetzen der SQL Statements |
| mysql file.sql | SQL-Befehle aus dem File lesen, z.B. Dumpfile |
| mysql -vf file.sql | Verbose Force (continue on error) |
| mysql -h host -p -u user database | Anmeldung mit Hostname, Passowrt, Username und Datenbank |
| mysqlshow | |
| mysqlshow | Datenbanken ausgeben |
| mysqlshow database | Tabellen ausgeben |
| mysqlshow database table [column] | Spalten ausgeben |
| mysql show | |
| mysql: show databases; | Datanbank Liste |
| mysql: show [open] tables; | Tabellen Liste |
| mysql: show grants for user@host \G | Grant Befehle ausgeben |
| mysql: show create database database \G | Create Database Statement |
| mysql: show create table table \G | Create Table Statement |
| mysql: show [full] columns from table; | Spalten Beschreibung |
| mysql: show index from table; | Index Beschreibung |
| mysql: show [full] processlist; | Prozess Liste |
| mysql: show status; | Status Parameter |
| mysql: show table status; | Tabellen Status, Grouml;sse Datum ... |
| mysql: show privileges; | Grant Varianten |
| mysql: show table types; | Verfuuml;gbare Tabellen Handler |
| mysql: show [global/session] variables; | Variablen datadir port usw. ermitteln |
| mysqladmin | |
| mysqladmin ping | Ping auf MySQL-Server |
| mysqladmin status | Server Status |
| mysqladmin variables | Variablen datadir port usw. ermitteln |
| mysqladmin create database | Datenbank erzeugen |
| mysqladmin drop database | Datenbank louml;schen |
| mysqladmin flush | |
| mysqladmin flush-hosts | Host-chache bereinigen |
| mysqladmin flush-logs | Logdateien schliessen und neue erouml;ffnen |
| mysqladmin flush-privileges | Grant Tabelle neu laden |
| mysqladmin reload | s.o. Grant Tabelle neu laden |
| mysqladmin flush-status | Statusvariablen zuruuml;cksetzen |
| mysqladmin flush-threads | Thread-Cache leeren |
| mysqladmin refresh | alle obigen flushes durchfuuml;hren |
| mysqladmin processlist | Prozesse anzeigen |
| mysqladmin kill id | Prozess beenden |
| grant | |
| mysql: grant all on *.* to 'user'@'IP/localhost/%' bridentified by 'password' [with grant option]; | Passwort und Database-User Berechtigungen |
| mysql: grant select,insert,update,delete,create temporary tables,lock tables on database.table to 'user'@'IP/localhost/%' identified by 'password'; | Passwort und Lese-/Schreib- Berechtigungen |
| mysql: grant replication slave,reload,super on *.* to 'slave_user'@'IP/slave_host' identified by 'slave_password'; | User für eine Replication auf dem Master Server einrichten |
| mysql: grant usage on *.* to 'user'@'IP/localhost/%' bridentified by 'password'; | Nur das Passwort setzen, bzw. ändern |
| mysql: flush privileges; | User Berechtigungen neu laden |
| mysql: select * from user \G | User und Berechtigungen anzeigen |
| mysql: show privileges | Berechtigungsvarianten anzeigen |
| mysqldump / mysqlimport | |
| mysqldump --opt database [table] database.sql | Datenbank exportieren |
| mysqldump --opt --databases database1 database2 ... database.sql | Datenbanken exportieren |
| mysqldump --opt --all-databases --single-transaction all_databases.sql | alle Datenbanken exportieren |
| mysql database.sql | Datenbanken importieren |
| mysqldump -d database [table] database.sql | Datenbank Schema exportieren |
| mysqldump --fields-terminated-by=; -t -T dir database [table] | Daten in Directory entladen |
| mysqlimport --fields-terminated-by=; database table_file | Tabelle mit LOAD DATA INFILE laden |
| mysqlbinlog | |
| mysqlbinlog file-binlog | Binlog ausgeben |
| mysql --one-database database | Binlog einspielen |
| mysqlhotcopy | |
| mysqlhotcopy [--flushlog] [-q] database directory | Tabellen sperren und mit cp in das Directory kopieren (benouml;tigt PERL) |
| myisamchk | |
| myisamchk *.MYI | Checken der Daten- und Indextabellen |
| myisamchk -B -r *.MYI | normales Recover der Daten- und Indextabellen (-B erstellt ggf. ein Backup des Files) |
| myisamchk -B -F *.MYI | gekürtztes Recover der Daten- und Indextabellen Fast= checkt nur nicht richtig geschlossene Tabellen |
| myisamchk -B -o *.MYI | Extended Recover der Daten- und Indextabellen |
| myisamchk -B -e *.MYI | Extrem Extended Recover der Daten- und Indextabellen (nur verwenden wenn Sie verzweifelt sind) |
| myisamchk -B -f *.MYI | Recover der Daten- und Indextabellen force |
| myisamchk -B -r -q *.MYI | Recover der Indextabellen (quick) |
| myisamchk -a *.MYI | Analyse der Datentabellen = update statistics |
| mysqlcheck | |
| mysqlcheck [--all-databases] database [table] | Tabellen sperren und checken |
| Replikation | |
| mysql: reset master; | Logstatus auf dem Master ruuml;cksetzen |
| mysql: show master logs; | Logstatus auf dem Master anzeigen |
| mysql: purge master logs to mysql_bin.001; | Logs auf dem Master kappen |
| mysql: show master status; | Logstatus auf dem Slave anzeigen |
| mysql: show slave status; | Logstatus auf dem Slave anzeigen |
| mysql: show slave hosts; | Aktive Slaves auf dem Master anzeigen |
| mysql: load data from master | Daten vom Master holen (initialisieren) |
| mysql: slave start/stop | Slave starten / stoppen |
| mysqladmin start-slave | Slave starten |
| mysqladmin stop-slave | Slave stoppen |
| myisampack | |
| myisampack *MYI | Tabellendaten komprimieren (read only setzen) |
| myisamchk -r -q *.MYI | TabellenIndex komprimieren (wenn zuvor Daten komprimiert wurden) |
| myisamchk -u *.MYI | Unpack der Datentabellen |
| Start Stop | |
| /etc/init.d/mysql start | MySQL regulauml;r starten |
| /etc/init.d/mysql stop | MySQL regulauml;r stoppen |
| mysqld_safe | MySQL manuell starten |
| mysqld_safe --skip-grant-tables | MySQL manuell starten ohne Passwortdatei |
| mysqladmin -p -u root shutdown | MySQL manuell stoppen |
| Installation | |
| mysql_secure_installation | Script zum Bereinigen der Berechtigungen |
| mysql_fix_privilege_tables | Script zum Bereinigen der Berechtigungen nach einer Migration von MySQL 4 nach MySQL 5 |