04 Oct 2013

GRANT PRIVILEGES in mysql

Um eine MySQL-Datenbank mit einen MySQL-Benutzer anlegen und ihm Zugriff auf eine Datenbanktabelle zu geben, ist folgendes am MySQL-Command-Promt einzugeben:

 chrissie ~ $ mysql -u root -pmysqlrootpassword

 mysql> create database web38_2;
 Query OK, 0 rows affected (0.06 sec)

 mysql> grant all privileges on web38_2.* to 'web38'@'localhost' identified by 'secret-pw';
 Query OK, 0 rows affected (0.06 sec)
  • Kommt es beim anschließenden flush privileges zu folgendem Fehler:
 mysql> flush privileges;
 ERROR 1146 (42S02): Table 'mysql.procs_priv' doesn't exist
  • Dann hat man in der Zwischenzeit ein MySql-Update durchgeführt. Es ist auf der Kommandozeile folgendes einzugeben:
 chrissie ~ $ mysql_fix_privilege_tables --password=mysqlrootpassword
 This script updates all the mysql privilege tables to be usable by
 the current version of MySQL
  • Importieren einer Datenbank von der Kommandozeile aus:
 chrissie ~ $ mysql -u web38 -psecret-pw web38_2 < web38_2-dump.sql
 mysql: [Warning] Using a password on the command line interface can be insecure.