Mysql: Unterschied zwischen den Versionen

Aus WIKI
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 23: Zeile 23:
<code>update [table] SET name = 'Hans Müller' WHERE name = 'Hans Meier'</code>
<code>update [table] SET name = 'Hans Müller' WHERE name = 'Hans Meier'</code>


Naue Datenbank anlegen
Neue Datenbank anlegen


<code>create database mydb</code>
<code>create database mydb;</code>
 
Benutzer anlegen
 
<code>CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';</code>
 
Benutzer zugriff zu Datenbank gewähren
 
<code>GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';</code>
 
Benutzerrechte aktualisieren
 
<code>FLUSH PRIVILEGES;</code>
 
Neues Passwort setzen
 
<code>SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('password');</code>
 
Anzeigen lassen welcher Benutzer was für rechte auf einer Datenbank hat
 
<code>SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G;</code>
 
Benutzer löschen
 
<code>DROP USER 'jeffrey'@'localhost';</code>
 
 
Unix Timestamp als normales datum anzeigen
 
<code>FROM_UNIXTIME(...)</code>
 
Normales Datum in Unix Timestamp umwandeln
 
<code>UNIX_TIMESTAMP('2020-07-01 00:00:00')</code>
 
 
Mysql-Transaktions-Dateien entfernen (mysqld-bin.XXXXX)
 
<code>RESET MASTER;</code>
 
Anschließend sollten die Log-Dateien unter /var/lib/mysql/ verschwunden sein.
Logging deaktivieren = <code># log-bin</code> in der my.cnf
 
 
Root passwort zurücksetzen/neu vergeben
 
* mysql stppen
* <code>sudo mysqld_safe --skip-grant-tables --skip-networking &</code>
* dann anmelden mit <code>mysql -u root</code>
* jetzt <code>FLUSH PRIVILEGES;</code>
* jetzt kann ein neues passwort gesetzt werden <code>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';</code>
* sicher ist sicher noch ein <code>FLUSH PRIVILEGES;</code>
* nun kann der Prozess beendet werden und mysql wieder gestartet werden

Aktuelle Version vom 1. Juli 2020, 15:45 Uhr

Backup erstellen

mysqldump -u root -p --all-databases > fulldump.sql

mysql -u root -p < fulldump.sql

Einzelne DB extrahieren

sed -n '/^-- Current Database: `test`/,/^-- Current Database: `/p' fulldump.sql > test.sql

mysql -u root -p --one-database db_to_restore < fulldump.sql

Nur die struktur der datenbank anlegen

mysqldump -u <USER> -p -h <IP> --no-data --all-databases > allDBs_noData.sql

db löschen

DROP DATABASE tutorial_database;

update wert

update [table] SET name = 'Hans Müller' WHERE name = 'Hans Meier'

Neue Datenbank anlegen

create database mydb;

Benutzer anlegen

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';

Benutzer zugriff zu Datenbank gewähren

GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';

Benutzerrechte aktualisieren

FLUSH PRIVILEGES;

Neues Passwort setzen

SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('password');

Anzeigen lassen welcher Benutzer was für rechte auf einer Datenbank hat

SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G;

Benutzer löschen

DROP USER 'jeffrey'@'localhost';


Unix Timestamp als normales datum anzeigen

FROM_UNIXTIME(...)

Normales Datum in Unix Timestamp umwandeln

UNIX_TIMESTAMP('2020-07-01 00:00:00')


Mysql-Transaktions-Dateien entfernen (mysqld-bin.XXXXX)

RESET MASTER;

Anschließend sollten die Log-Dateien unter /var/lib/mysql/ verschwunden sein. Logging deaktivieren = # log-bin in der my.cnf


Root passwort zurücksetzen/neu vergeben

  • mysql stppen
  • sudo mysqld_safe --skip-grant-tables --skip-networking &
  • dann anmelden mit mysql -u root
  • jetzt FLUSH PRIVILEGES;
  • jetzt kann ein neues passwort gesetzt werden ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  • sicher ist sicher noch ein FLUSH PRIVILEGES;
  • nun kann der Prozess beendet werden und mysql wieder gestartet werden