Wiki source for RelationalDBs
===== Datenbanken usw. =====
== insbesondere mySQL und ""MariaDB"" ==
((1)) Datenbanken exportieren und importieren
- Datenbank sichern:
%%(bash) mysqldump --lock-tables -h 127.0.0.1 -u root -p[password] dbname > dateiname.sql%%
- Datenbank wiederherstellen:
%%(bash) mysql -h 127.0.0.1 -u root -p[password] dbname < dateiname.sql%%
oder kürzer:
%%(bash) mysql -u user -p emptyDBname < /path/to/file/dump.sql%%
((1)) 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:
((2)) Grundlagen
%%(mysql)
# 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;
%%
((2)) Daten / Datenbanken bearbeiten
%%(mysql)
# 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;
%%
((1)) 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.sql ##
== converting 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.sql ##
== read more ==
See about converting:
- http://www.udo-telaar.de/iconv-und-zeichensatz-kodierungen/
- http://www.seleos.de/blog/zeichensalat-vermeiden-mysql-auf-utf-8-umstellen.html
- http://www.html-info.eu/php/php-als-script-sprache/item/zeichensatz-latin1-oder-unicode-utf-8.html
== insbesondere mySQL und ""MariaDB"" ==
((1)) Datenbanken exportieren und importieren
- Datenbank sichern:
%%(bash) mysqldump --lock-tables -h 127.0.0.1 -u root -p[password] dbname > dateiname.sql%%
- Datenbank wiederherstellen:
%%(bash) mysql -h 127.0.0.1 -u root -p[password] dbname < dateiname.sql%%
oder kürzer:
%%(bash) mysql -u user -p emptyDBname < /path/to/file/dump.sql%%
((1)) 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:
((2)) Grundlagen
%%(mysql)
# 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;
%%
((2)) Daten / Datenbanken bearbeiten
%%(mysql)
# 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;
%%
((1)) 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.sql ##
== converting 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.sql ##
== read more ==
See about converting:
- http://www.udo-telaar.de/iconv-und-zeichensatz-kodierungen/
- http://www.seleos.de/blog/zeichensalat-vermeiden-mysql-auf-utf-8-umstellen.html
- http://www.html-info.eu/php/php-als-script-sprache/item/zeichensatz-latin1-oder-unicode-utf-8.html