Difference between revisions of "MySQL"
From Limbas Wiki
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
<!--T:2--> | <!--T:2--> | ||
Mit folgendem Kommando werden die benötigten Software-Pakete unter RedHat/Fedora/CentOS installiert: | Mit folgendem Kommando werden die benötigten Software-Pakete unter RedHat/Fedora/CentOS installiert: | ||
− | yum install mysql mysql-server mysql- | + | yum install mysql mysql-server php-mysql php-pdo |
<!--T:3--> | <!--T:3--> | ||
Anschließend kann der MySQL-Server gestartet werden: | Anschließend kann der MySQL-Server gestartet werden: | ||
− | + | systemctl start mysql | |
<!--T:4--> | <!--T:4--> | ||
− | Für Produktivumgebungen sollte eine sichere Installation durchgeführt werden. Hierzu wird das entsprechende MySQL-Setup aufgerufen: | + | Für Produktivumgebungen sollte eine sichere Installation durchgeführt werden. Hierzu wird das entsprechende MySQL-Setup aufgerufen. In diesem kann das root passwort neu gesetzt werden: |
/usr/bin/mysql_secure_installation | /usr/bin/mysql_secure_installation | ||
− | |||
− | |||
− | |||
<!--T:6--> | <!--T:6--> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Enter current password for root (enter for none): | Enter current password for root (enter for none): | ||
OK, successfully used password, moving on... | OK, successfully used password, moving on... | ||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Change the root password? [Y/n] y''' | '''Change the root password? [Y/n] y''' | ||
New password: | New password: | ||
Re-enter new password: | Re-enter new password: | ||
− | |||
− | |||
− | |||
− | |||
− | + | '''Remove anonymous users? [Y/n] y''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Remove anonymous users? [Y/n] y''' | ||
... Success! | ... Success! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Disallow root login remotely? [Y/n] | + | '''Disallow root login remotely? [Y/n] Y''' |
... skipping. | ... skipping. | ||
− | + | '''Reload privilege tables now? [Y/n] Y''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
... Success! | ... Success! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==Konfiguration== <!--T:11--> | + | ==Konfiguration (OPIONAL)== <!--T:11--> |
− | in der Globalen Konigurationsdatei /etc/my.cnf | + | Limbas unterstützt keine Groß/Kleinschreibung für Tabellennamen. Um die SQL Statements z.B für Abfragen zu vereinfachen kann in der Globalen Konigurationsdatei /etc/my.cnf kann die Einstellungen unter dem Eintrag "mysqld" hinzugefügt oder geändert werden: |
− | + | [mysqld] | |
− | [mysqld] | ||
... | ... | ||
− | + | upper_case_table_names = 1 | |
− | |||
===Datenbankengine InnoDB oder MYISAM=== <!--T:13--> | ===Datenbankengine InnoDB oder MYISAM=== <!--T:13--> | ||
− | Als Datenbankengine kann sowohl InnoDB oder MYISAM genutzt werden. Für Transaktionsorientierte Anwendungen sollte InnoDB verwendet werden. Im Gegensatz zu MYISAM bietet diese Transaktionen sowie Foreign-Keys. Das ist die empfohlene Einstellung. Soll auf LIMBAS hauptsächlich lesend zugegriffen und auf Datenintegrität verzichtet werden, bietet die MYISAM Engine eine Alternative. | + | Als Datenbankengine kann sowohl InnoDB oder MYISAM genutzt werden. Für Transaktionsorientierte Anwendungen sollte InnoDB verwendet werden. Im Gegensatz zu MYISAM bietet diese Transaktionen sowie Foreign-Keys. Das ist die empfohlene Einstellung. Soll auf LIMBAS hauptsächlich lesend zugegriffen und auf Datenintegrität verzichtet werden, bietet die MYISAM Engine eine Alternative. |
+ | |||
+ | [mysqld] | ||
+ | ... | ||
+ | default-storage-engine=InnoDB | ||
==Datenbank anlegen== <!--T:14--> | ==Datenbank anlegen== <!--T:14--> | ||
Line 105: | Line 52: | ||
Jetzt kann die MySQL-Konsole mit dem vorher festgelegten Passwort aufgerufen werden: | Jetzt kann die MySQL-Konsole mit dem vorher festgelegten Passwort aufgerufen werden: | ||
− | + | <!--T:16--> | |
− | mysql -u root -p | + | mysql -u root -p |
<!--T:17--> | <!--T:17--> | ||
Eine Datenbank für Limbas wird in der MySQL-Konsole nun wie folgt erstellt: | Eine Datenbank für Limbas wird in der MySQL-Konsole nun wie folgt erstellt: | ||
+ | mysql> CREATE DATABASE <limbasDB>; | ||
− | + | Eine User für Limbas wird in der MySQL-Konsole nun wie folgt erstellt: | |
− | mysql> CREATE | + | mysql> CREATE USER '<limbasUSER>'@'localhost' IDENTIFIED BY '<limbasPASS>'; |
− | |||
<!--T:19--> | <!--T:19--> | ||
Line 119: | Line 66: | ||
<!--T:20--> | <!--T:20--> | ||
− | mysql> GRANT ALL ON <limbasDB>.* | + | mysql> GRANT ALL ON <limbasDB>.* TO <limbasUSER>@localhost IDENTIFIED BY '<limbasPASS>'; |
− | |||
− | |||
− | |||
− | |||
<!--T:22--> | <!--T:22--> | ||
− | Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden | + | ===ODBC (OPTIONAL)=== |
− | * Verbindung mit | + | Die folgenden Schritte sind nur notwendig falls die Verbindung nicht mit PDO erfolgen soll. |
+ | Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden wobei PDO der Standard ist. Für ODBC müssen zusätzliche Schritte wie die Installation von UnixODB und die Erstellung einer Datenbank Resource vorgenommen werden. | ||
+ | * Verbindung mit PDO | ||
* Verbindung mit ODBC-resource | * Verbindung mit ODBC-resource | ||
<!--T:23--> | <!--T:23--> | ||
− | Die folgenden beiden Punkte sind für | + | Die folgenden beiden Punkte sind für die ODBC Variante durchzuführen: |
<!--T:24--> | <!--T:24--> |
Revision as of 14:45, 18 June 2021
Contents
MySQL-Installation
Mit folgendem Kommando werden die benötigten Software-Pakete unter RedHat/Fedora/CentOS installiert:
yum install mysql mysql-server php-mysql php-pdo
Anschließend kann der MySQL-Server gestartet werden:
systemctl start mysql
Für Produktivumgebungen sollte eine sichere Installation durchgeführt werden. Hierzu wird das entsprechende MySQL-Setup aufgerufen. In diesem kann das root passwort neu gesetzt werden:
/usr/bin/mysql_secure_installation
Enter current password for root (enter for none): OK, successfully used password, moving on... Change the root password? [Y/n] y New password: Re-enter new password: Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] Y ... skipping. Reload privilege tables now? [Y/n] Y ... Success!
Konfiguration (OPIONAL)
Limbas unterstützt keine Groß/Kleinschreibung für Tabellennamen. Um die SQL Statements z.B für Abfragen zu vereinfachen kann in der Globalen Konigurationsdatei /etc/my.cnf kann die Einstellungen unter dem Eintrag "mysqld" hinzugefügt oder geändert werden:
[mysqld] ... upper_case_table_names = 1
Datenbankengine InnoDB oder MYISAM
Als Datenbankengine kann sowohl InnoDB oder MYISAM genutzt werden. Für Transaktionsorientierte Anwendungen sollte InnoDB verwendet werden. Im Gegensatz zu MYISAM bietet diese Transaktionen sowie Foreign-Keys. Das ist die empfohlene Einstellung. Soll auf LIMBAS hauptsächlich lesend zugegriffen und auf Datenintegrität verzichtet werden, bietet die MYISAM Engine eine Alternative.
[mysqld] ... default-storage-engine=InnoDB
Datenbank anlegen
Jetzt kann die MySQL-Konsole mit dem vorher festgelegten Passwort aufgerufen werden:
mysql -u root -p
Eine Datenbank für Limbas wird in der MySQL-Konsole nun wie folgt erstellt:
mysql> CREATE DATABASE <limbasDB>;
Eine User für Limbas wird in der MySQL-Konsole nun wie folgt erstellt:
mysql> CREATE USER '<limbasUSER>'@'localhost' IDENTIFIED BY '<limbasPASS>';
Anschließend sollte für den Zugriff auf alle Tabellen in der Limbas-Datenbank ein gesonderter Benutzer wie folgt eingerichtet werden:
mysql> GRANT ALL ON <limbasDB>.* TO <limbasUSER>@localhost IDENTIFIED BY '<limbasPASS>';
ODBC (OPTIONAL)
Die folgenden Schritte sind nur notwendig falls die Verbindung nicht mit PDO erfolgen soll. Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden wobei PDO der Standard ist. Für ODBC müssen zusätzliche Schritte wie die Installation von UnixODB und die Erstellung einer Datenbank Resource vorgenommen werden.
- Verbindung mit PDO
- Verbindung mit ODBC-resource
Die folgenden beiden Punkte sind für die ODBC Variante durchzuführen:
- Pfade der Konfigurationsdateien von unixODBC ermitteln:
$ odbcinst -j unixODBC 2.2.14 DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini USER DATA SOURCES..: /<user>/.odbc.ini
- In der unter "DRIVERS" ermittelten Datei (hier "/etc/odbcinst.ini") die Treiber mit Dateiname und Pfad hinzufügen:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc5.so Setup = /usr/lib/libodbcmyS.so Driver64 = /usr/lib64/libmyodbc5.so Setup64 = /usr/lib64/libodbcmyS.so
Der folgende Punkt ist nur notwendig bei einer Verbindung mittels ODBC-resource
- In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/odbc.ini") den folgenden Eintrag hinzufügen:
[limbas_resource] Description = MySQL Driver = MySQL Database = <limbasDB> Username = <limbasuser> Password = <limbaspassword> Port = 3306 Trace = Off Server = localhost Charset = latin1
Hinweise zur Limbas-Installation
Um LIMBAS mit dem ODBC-Treiber zu installieren, ist bei MySQL zu beachten, dass in das Feld Datenbank-Schema der Name der Datenbank eingetragen eingetragen wird.