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).
-
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) -
Erreichbarkeit überprüfen
sudo netstat -tap | grep mysql
-
Interaktive shell starten mit
mysql [options] [database]
%>mysql --help %>mysql -u root
-
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'
-
Interaktive shell verlassen und wieder starten mit
mysql>\q %>mysql -u root -p
option -p asks for the (root) paasword.
-
Select a database bookcase (beim Start der shell oder innerhalb der shell)
%>mysql -u root -p bookcase mysql>use bookcase;
-
Verwalten der Datenbank (shell scripting)
%>mysqladmin [options] command(s)
Eine Datenbank mit mysqladmin erzeugen
%>mysqladmin -u root -p create bookcase
-
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]
-
MySQL User anlegen (als root mit Datenbank mysql)
mysql>GRANT usage ON *.* TO bookcaseAdmin@localhost IDENTIFIED BY 'ilovebookcase';
-
Überprüfen, Abfragen der Tabelle Wser (der Datenbank mysql)
mysql>SELECT * FROM user where User = 'bookcaseAdmin';
-
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;
-
Überprüfen mit
mysql>SHOW GRANTS FOR bookcaseAdmin@localhost;
-
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
Date: 2011-02-11 Fr
HTML generated by org-mode 7.4 in emacs 22