MYSQL-Schnippel



http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

   1.

      Stop mysqld and restart it with the --skip-grant-tables --user=root options (Windows users omit the --user=root portion).
   2.

      Connect to the mysqld server with this command:

      shell> mysql -u root

   3.

      Issue the following statements in the mysql client:

      mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
      mysql> FLUSH PRIVILEGES;

      Replace “newpwd” with the actual root password that you want to use.
   4.

      You should be able to connect using the new password.

================================================================Trenner


#Tabelle anlegen
#  mysqladmin -p create tabellen_name

# Tabelle benutzen/auswaehlen
# mysql> use tabellen_name;

#Tabelle fuellen
#  mysql -p tabellen_name < mysql-tables.sql

#MySql-monitor starten
#  mysql -u root -p intranet

#Rechte fuer Benutzer setzen
   mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on tabellen_name.* to 'my_main_user'@'localhost' ;


#verbinden....
   mysql> connect mysql

#Passwort setzten
   mysql> set password for 'my_main_user'@'localhost' = password('Oh_Yeah_baby') ;

#wegschreiben....
   mysql> flush privileges ;

# ...
   mysql> exit ;
================================================================Trenner
Kurzanleitung zur Anlage einer Database und einer Tabelle in MySQL

    Werden mehrere SQL-Kommandos benötigt, empfiehlt es sich, diese in einer einfachen ASCII-Textdatei abzulegen. Dann können sie leicht editiert und (eventuell geändert) wiederholt eingelesen werden.
    Deshalb erstellen wir eine Datei 'MeineDb.sql' mit folgendem Inhalt:

    -- SQL-Datei für MySQL
    -- Beim ersten Laden muss die folgende Zeile auskommentiert sein,
    -- bei wiederholten Versuchen muss sie aktiviert sein ('--' entfernen):
    -- DROP DATABASE MeineDb;
    CREATE DATABASE MeineDb;
    SHOW databases;
    USE MeineDb;
    CREATE TABLE MeineTestTabelle ( i INT, c CHAR(3), s VARCHAR(8), dt DATE );
    CREATE TABLE MeineAdressen ( Name VARCHAR(16), Plz INT, Ort VARCHAR(16) );
    SHOW tables;
    INSERT INTO MeineTestTabelle VALUES ( 11, 'ABC', 'Blubb', '2000-01-01' );
    INSERT INTO MeineTestTabelle VALUES ( 12, 'ab', 'Blabla', '2000-12-31' );
    INSERT INTO MeineTestTabelle VALUES ( 42, 'xy', 'äöüߧ€', '2005-06-06' );
    SELECT * FROM MeineTestTabelle;
    INSERT INTO MeineAdressen VALUES ( 'Achim',     52078, 'Aachen' );
    INSERT INTO MeineAdressen VALUES ( 'Alexander', 52134, 'Herzogenrath' );
    INSERT INTO MeineAdressen VALUES ( 'Helmut',    52066, 'Aachen' );
    INSERT INTO MeineAdressen VALUES ( 'Josef',     52070, 'Aachen' );
    INSERT INTO MeineAdressen VALUES ( 'Manfred',   52146, 'Würselen' );
    INSERT INTO MeineAdressen VALUES ( 'Patrick',   52074, 'Aachen' );
    INSERT INTO MeineAdressen VALUES ( 'Roland',    52134, 'Herzogenrath' );
    INSERT INTO MeineAdressen VALUES ( 'Torsten',   52072, 'Aachen' );
    INSERT INTO MeineAdressen VALUES ( 'Werner',    52066, 'Aachen' );
    SELECT * FROM MeineAdressen;

    Ausführen:
    mysql -uroot -pmysqlpwd < MeineDb.sql

    Testen mit:

    mysql -uroot -pmysqlpwd MeineDb

      select * from MeineTestTabelle;

      \q

    ergibt:

    +------+------+--------+------------+
    | i    | c    | s      | dt         |
    +------+------+--------+------------+
    |   11 | ABC  | Blubb  | 2000-01-01 |
    |   12 | ab   | Blabla | 2000-12-31 |
    |   42 | xy   | äöüߧ€ | 2005-06-06 |
    +------+------+--------+------------+

    Der String 'äöüߧ€' wird unter Windows im Kommandozeilenfenster beim üblicherweise eingestellten Characterset CP850 falsch dargestellt, ist aber trotzdem korrekt gespeichert.


stolen @ http://www.torsten-horn.de/techdocs/mysql.htm#CreateDatabase

================================================================Trenner

Das Erstellen eines neuen Benutzers ist vergleichsweise einfach. Ersetze in dem nachfolgendem Befehl einfach die Werte „benutzer“ und „passwort“:

CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';

Hier gibt es wohl einen Bug ...
und
          flush privileges;
hat bei mir geholfen =:-)


Damit hast du einen Benutzer erstellt, der allerdings noch keine Berechtigungen auf irgendeine Datenbank oder Tabelle hat. Zu Testzwecken erstelle nun eine neue Datenbank, auf die der Benuter später zugreifen darf.

CREATE DATABASE 'meineDB';

Und nun gewähre deinem neuen Benutzer alle Rechte auf diese Datenbank. Ersetze wieder den Wert „benutzer“ durch deinen eigenen Benutzernamen:

GRANT ALL PRIVILEGES ON meineDB . * TO 'benutzer'@'localhost';


Kurz zur Erklärung des o.s. Kommandos:

    GRANT ALL PRIVILEGES : Es werden alle verfügbaren Privilegien (Rechte) zugewiesen. Es gibt auch eingeschränkte Privilegien, dazu später mehr.
    ON ‚meineDB‘ . * : Hiermit wird genauer spezifiziert, auf welche Bereiche die Rechte zugewiesen werden sollen. Möglichist auch ‚* . *‘, um einem Benutzer zum Beispiel alle Rechte einzuräumen oder die Einschränkung auf einzelne Tabellen einer Datenbank, wie z.B. “meineDB‘ . ‚meineTabelle“.
    TO ‚benutzer’@’localhost‘ : Hierbei handelt es sich um den Benutzer, der diese Rechte erhalten soll.

MySQL hält die Rechte normalerweise im Speicher vor, damit nicht jedes Mal, wenn sich ein Benutzer an der Datenbank anmeldet (was im Zweifel sehr oft sein kann), langsame I/O Operationen durchgeführt werden müssen. Um diese Kopie der Privilegien im Arbeitsspeicher zu updaten, solltest du nach jeder Änderung einmal das Kommando:

FLUSH PRIVILEGES;

ausführen. Vergisst du das Kommando, kann es sein das du dich mit den neuen (oder geänderten) Zugangsdaten noch nicht an dem Datenbankserver anmelden kannst.

Stolen @ https://gridscale.io/community/knowledgebase/wie-erstelle-ich-einen-mysql-benutzer-und-weise-ihm-rechte-zu/
================================================================Trenner











1 Kommentar

Ulli
15.02.21 14:01
Alternative:
UPDATE mysql.user SET Password = OLD_PASSWORD('newpasswd') WHERE Host = 'localhost' AND User = 'user';

Bitte alle Felder ausfüllen.
max. Zeichen
999