Bearbeiten von „Mysql“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 1: Zeile 1:
[[Kategorie:ServerApplikation]]
[[Kategorie:ServerApplikation]]
[[Kategorie:DB]]
[[Kategorie:DB]]
= Links =
* [[Mariadb-Connector]]


== Debian Anpassungen ==
== Debian Anpassungen ==
Zeile 9: Zeile 7:
<pre>
<pre>
mysql -u root -p mysql
mysql -u root -p mysql
grant all on *.* to 'debian-sys-maint'@'localhost' identified by "6QLw8BSKFwzDnoUT" with grant option;
grant all on *.* to 'debian-sys-maint'@'localhost' identified by "6QLw8BSKFwzDnoUT";
grant all on mydb.* to 'dbadmin'@'192.168.2.%' identified by '6QLw8BSKFwzDnoUT';
grant all on mydb.* to 'dbadmin'@'192.168.2.%' identified by '6QLw8BSKFwzDnoUT';
grant SELECT,SHOW VIEW,TRIGGER,PROCESS,LOCK TABLES on *.* to 'backup'@'localhost' identified by 'SAVE:alls!4711';
grant SELECT on *.* to 'backup'@'localhost' identified by 'SAVE:alls!4711';
flush privileges;
flush privileges;
</pre>
</pre>
MariaDB: Es ist für root ein Passwort vergeben. Man kann sich aber als OS-User root ohne Passwort anmelden.
MariaDB: Es ist für root ein Passwort vergeben. Man kann sich aber als OS-User root ohne Passwort anmelden.
<syntaxhighlight lang="bash">
# Admin
echo "grant all on *.* to 'dba'@'localhost' identified by 'BlaBla' with grant option; flush privileges;" | sudo mysql mysql
# einfacher Benutzer
echo "grant all on lrvtaskx.* to 'taskx'@'localhost' identified by 'BlaBla'; flush privileges;" | sudo mysql mysql
</syntaxhighlight>


== Nachträglich Root-Passwort setzen ==
== Nachträglich Root-Passwort setzen ==
Wenn bei der Installation das Passwort nicht gesetzt wurde, kann das nachträglich passieren:
Wenn bei der Installation das Passwort nicht gesetzt wurde, kann das nachträglich passieren:
<pre># Set root password:
<pre>update user set
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyN3wP4ssw0rd';
authentication_string=password('ge:heimesp_w1'),
plugin='mysql_native_password'
where user='root';
</pre>
</pre>
Zugriff ohne Root-Passwort (als Benutzer root):
Zugriff ohne Root-Passwort (als Benutzer root):
Zeile 36: Zeile 30:
== Datentypen ==
== Datentypen ==
<pre>create table example(
<pre>create table example(
   id int(10) unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT,
   id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT,
   ts TIMESTAMP NULL default NULL,
   ts TIMESTAMP NULL default NULL,
   dt DATETIME,
   dt DATETIME,
Zeile 43: Zeile 37:
</pre>
</pre>
* TIMESTAMP ist normalerweise ohne NULL, Default-Wert ist NOW()
* TIMESTAMP ist normalerweise ohne NULL, Default-Wert ist NOW()
* Datentyp ändern:
<pre>alter table configurations modify configuration_id int(10) unsigned;
</pre>
* Spaltennamen ändern:
<pre>alter table sample change sampleid sample_id int(10) unsigned;
</pre>
== Fremdschlüssel ==
<pre>alter table rolestarters add constraint fk_roles2rolestarter foreign key (role_id)
      references roles (role_id) on delete restrict on update restrict;
alter table rolestarters drop constraint fk_roles2rolestarter;
</pre>
* Fremdschlüssel und Primärschlüssel müssen gleichen Datentyp haben.
== Index erstellen und abfragen ==
<pre>create index geotestdate on testresult (`geo_bundesland`,`test_immunitaet`,`sample_date`);
# und abfragen:
show index from testresult;
</pre>
== SQL-Tipps ==
<pre>show create table geo;
rename table A to B;
alter table mytable change columnA columnB varchar(20);
</pre>


== DB-Export ==
== DB-Export ==
Zeile 89: Zeile 57:
  (geo_id,geo_staat,...)
  (geo_id,geo_staat,...)
</pre>
</pre>
== Export der Benutzer ==
<syntaxhighlight lang="bash">
FN=users.txt
FN_SQL=users.sql
mysql -B -N -uroot -e "SELECT CONCAT('\'', user,'\'@\'', host, '\'') FROM user WHERE user != 'debian-sys-maint' AND user != 'root' AND user != ''" mysql > $FN
while read line; do mysql -B -N -uroot  -e "SHOW GRANTS FOR $line"; done < $FN > $FN_SQL
</syntaxhighlight>


== CSV-Export ==
== CSV-Export ==
Zeile 105: Zeile 65:
ESCAPED BY '"'  
ESCAPED BY '"'  
LINES TERMINATED BY '\r\n';
LINES TERMINATED BY '\r\n';
</pre>
= Funktionen =
<pre>hex(sample_id)
cast(sample_id as CHAR)
NOW() - INTERVAL 1 HOUR
</pre>
</pre>

Bitte kopiere keine Webseiten, die nicht deine eigenen sind, benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Urhebers!
Du gibst uns hiermit deine Zusage, dass du den Text selbst verfasst hast, dass der Text Allgemeingut (public domain) ist, oder dass der Urheber seine Zustimmung gegeben hat. Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der Diskussionsseite darauf hin. Bitte beachte, dass alle Info-Theke-Beiträge automatisch unter der „Gemeinfreiheit“ stehen (siehe Info-Theke:Urheberrechte für Einzelheiten). Falls du nicht möchtest, dass deine Arbeit hier von anderen verändert und verbreitet wird, dann klicke nicht auf „Seite speichern“.

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)