UP | HOME

MySQL

Table of Contents

1 MySQL open source database

Für die Schnittstelle zur Web-Applikation muss eine Datenbank und ein User (mit Passwort) mit den entsprechenden Privilegien (ohne grant option) für die Datenbank angelegt werden (MySQL Documentation).

  1. MySQL installieren (MySQL, Ubuntu).
    %>sudo apt-get install mysql-server
    

    The configuration file is /etc/mysql/my.cnf (samples for huge, large, medium and small Dbs). To activate changes restart the server: sudo /etc/init.d/mysql restart (stop, start)

  2. Erreichbarkeit überprüfen
    sudo netstat -tap | grep mysql
    
  3. Interaktive shell starten mit mysql [options] [database]
    %>mysql --help
    %>mysql -u root
    
  4. MySQL Root Passwort setzen (from interactive shell or command-line using mysqladmin)
    mysql>SET PASSWORD FOR `root'@`localhost' = PASSWORD(`secret_password');
    %>sudo mysqladmin -u root password 'secret_password'
    
  5. Interaktive shell verlassen und wieder starten mit
    mysql>\q
    %>mysql -u root -p
    

    option -p asks for the (root) paasword.

  6. Select a database bookcase (beim Start der shell oder innerhalb der shell)
    %>mysql -u root -p bookcase
    mysql>use bookcase;
    
  7. Verwalten der Datenbank (shell scripting)
    %>mysqladmin [options] command(s)
    

    Eine Datenbank mit mysqladmin erzeugen

    %>mysqladmin -u root -p create bookcase
    
  8. Zugriffsrechte vergeben
    mysql>GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
          ON {tbl_name | * | *.* | db_name.*}
          TO user_name [IDENTIFIED BY 'password']
          [, user_name [IDENTIFIED BY 'password'] ...]
          [WITH GRANT OPTION]
    
  9. MySQL User anlegen (als root mit Datenbank mysql)
    mysql>GRANT usage ON *.* TO bookcaseAdmin@localhost IDENTIFIED BY 'ilovebookcase';
    
  10. Überprüfen, Abfragen der Tabelle Wser (der Datenbank mysql)
    mysql>SELECT * FROM user where User = 'bookcaseAdmin';
    
  11. Dem User bookcaseAdmin die Rechte (privileges) SELECT, INSERT, UPDATE und DELETE für die Datenbank bookcase geben.
    mysql>GRANT SELECT, INSERT, UPDATE, DELETE ON bookcase.* TO bookcaseAdmin@localhost;
    
  12. Überprüfen mit
    mysql>SHOW GRANTS FOR bookcaseAdmin@localhost;
    
  13. ALERT Further actions.
    • Anonyme User (Beispiel Datenbanken) löschen
    • MySQL mit non-root user starten
    • Kein TCP/IP Netzwerkzugriff und
    • Netzwerkzugriff auf localhost beschränken. In /etc/msql/my.cnf set:
[mysqld] 
skip-networking
bind-address = 127.0.0.1

Author: Rainer Schuler

Date: 2011-02-11 Fr

HTML generated by org-mode 7.4 in emacs 22