Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
/ HomePage / Computer / Software / Linux-Konfiguration / MySQL
Als erstes muss MySQL installiert werden, was sich per
sehr schnell erledigen läßt. Und hier nicht weiter bedacht werden soll.
Die erste Initialisierung ist auch recht einfach getan.
Elsni 17.02.2009 22:07 Uhr:Beispiel? Funzte bei nicht nicht
# mysql -u root -p
> <root passwort>
mysql> CREATE USER 'bob'@'localhost';
oder
mysql> CREATE USER 'bob'@'%' IDENTIFIED BY 'passwort';
# mysql_fix_privilege_tables (--password=<root password>)
Sieht so aus, als ob bob schon existiert?
mysql> select user,host from user;
Danach nochmal probieren.
mysql> SET PASSWORD FOR 'bob'@'localhost' = PASSWORD('geheim'); mysql> SET PASSWORD FOR 'bob'@'%' = PASSWORD('geheim');
seit mysql 5.7
mysql> UPDATE user SET password=password('geheim') WHERE user='bob';
sollte der user.authentication_string 'NULL' sein, ist ein einloggen auf der Console nicht möglich. Es gibt statt dessen einen Error: 1045 und ein Access Denied.
mysql> UPDATE user SET authentication_string='' WHERE user='bob';
# mysql -u bob -p >geheim # mysql -u bob -pgeheim
mysql> create database einedb;
mysql> quit # mysql -u root -p mysql> GRANT ALL PRIVILEGES ON einedb.* TO 'bob'@'localhost' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON einedb.* TO 'bob'@'%' WITH GRANT OPTION;
Da heutzutage nichts mehr ohne richtige Tests geht, hier ein kleines Beispiel, wie eine Tabelle angelegt wird, diese mit Daten befüllt wird, ausgegeben wird und die Tabelle wieder entfernt wird.
mysql -u bob -p einedb >geheim
Eine Beispiel Tabelle tester
anlegen:
create table tester(id int);
Die Tabelle tester
mit Werten befüllen
insert into tester (id) values (128); insert into tester (id) values (256);
Den Inhalt der Tabelle tester
anzeigen
select * from tester;
Sollte jetzt den Inhalt der Tabelle tester
ausgeben.
id --- 128 256
Um die Tabelle tester
wieder zu entfernen
drop table tester;
# mysqldump -p --databases <DBName> >file.sql
# mysqldump --complete-insert --skip-extended-insert --user=<user> --password=<geheim> --result-file=file.sql --databases <DBName>
# mysql <file.sql
In der /etc/mysql/my.cnf den Eintrag bind-address=127.0.0.1
maskieren. (# davor) Aber haut mich jetzt nicht in die Pfanne, das geschied auf eigenes Risiko.
# mysql -u user -p
verlangt immer nach einen Kennwort, wer es leid ist es jedes mal zu tippen, kann es auch in der ~/.mc.cnf
ablegen
[client] password="geheimes Passwort"
Die Datei per chmod 600 nur für den User selbst lesbar machen und schon kann man Kennwort geschützte Datenbanken mit mysql
bearbeiten.
Vorteile:
Nachteile: