Datenbanken usw.
insbesondere mySQL und MariaDB
A. Datenbanken exportieren und importieren
- Datenbank sichern:
mysqldump --lock-tables -h 127.0.0.1 -u root -p[password] dbname > dateiname.sql
- Datenbank wiederherstellen:
mysql -h 127.0.0.1 -u root -p[password] dbname < dateiname.sql
oder kürzer:
mysql -u user -p emptyDBname < /path/to/file/dump.sql
B. Wichtige Befehle auf der CLI
MySQL / MariaDB kann komfortable über phpMyAdmin verwaltet werden - manchmal steht das Werkzeug aber nicht zur Verfügung. Deshalb sammle ich hier Befehle, die über die CLI (Eingabe mysql im Terminal) funktionieren:
1. Grundlagen
# mit bestimmten Benutzernamen ins System (Passwort wird wegen -p abgefragt):
mysql -u root -p
# Datenbanken auflisten:
SHOW DATABASES;
# Tabellen seiner DB zeigen:
SHOW tables FROM dbname;
mysql -u root -p
# Datenbanken auflisten:
SHOW DATABASES;
# Tabellen seiner DB zeigen:
SHOW tables FROM dbname;
2. Daten / Datenbanken bearbeiten
# DB erstellen:
CREATE DATABASE dbname;
# um Überschreiben einer bestehenden Datenbank zu vermeiden:
CREATE DATABASE if NOT EXISTS dbname;
# DB löschen:
DROP DATABASE dbname;
# die DB "betreten":
USE dbname;
# Tabellenstruktur zeigen:
SHOW FIELDS FROM tabname;
# weitere Spalte einfügen:
ALTER TABLE tabname add COLUMN (colname VARCHAR (150));
# Datentyp einer Spalte ändern:
ALTER TABLE tabname modify colname INT (10);
# Spalte 3 entfernen:
ALTER TABLE tabname DROP COLUMN 3;
# eine Tabelle komplett löschen:
DROP TABLE tabname;
CREATE DATABASE dbname;
# um Überschreiben einer bestehenden Datenbank zu vermeiden:
CREATE DATABASE if NOT EXISTS dbname;
# DB löschen:
DROP DATABASE dbname;
# die DB "betreten":
USE dbname;
# Tabellenstruktur zeigen:
SHOW FIELDS FROM tabname;
# weitere Spalte einfügen:
ALTER TABLE tabname add COLUMN (colname VARCHAR (150));
# Datentyp einer Spalte ändern:
ALTER TABLE tabname modify colname INT (10);
# Spalte 3 entfernen:
ALTER TABLE tabname DROP COLUMN 3;
# eine Tabelle komplett löschen:
DROP TABLE tabname;
C. converting DB with polish codepage
following commands were successful:
DB dump
mysqldump -u root -p --default-character-set=latin1 --skip-set-charset internalwiki > /storage/db_dumps/internalwiki_latin1.sqlconverting itself
iconv -f ISO-8859-2 -t UTF-8 internalwiki_latin1.sql | sed -e 's/latin2/utf8/g' >internalwiki_utf8.sql(wasn't good enough - probably was old text in windows codepage! this one was better:)
iconv -f Windows-1250 -t UTF-8 internalwiki_latin1.sql | sed -e 's/latin2/utf8/g' >internalwiki_utf8.sql
put converted DB - into an empty DB
mysql -u root -p --default-character-set=utf8 wikiutf8 <internalwiki_utf8.sqlread more
See about converting:
Auf dieser Seite sind keine Kommentare vorhanden