Difference between revisions of "MySQL"

From Limbas Wiki

Jump to: navigation, search
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==MySQL-Installation==
+
<translate>
 +
==MySQL-Installation== <!--T:1-->
  
 +
<!--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-connector-odbc
 
  yum install mysql mysql-server mysql-connector-odbc
  
In der Datei /etc/my.cnf müssen noch folgende Zeilen unter dem Eintrag [mysqld] hinzugefügt werden:
+
<!--T:3-->
 
+
Anschließend kann der MySQL-Server gestartet werden:
lower_case_table_names = 1
 
default-storage-engine  =  innodb
 
log_bin_trust_function_creators = 1
 
 
 
Anschließend muss der MySQL-Server gestartet werden:
 
 
   
 
   
 
  /etc/init.d/mysqld start
 
  /etc/init.d/mysqld start
  
 +
<!--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:
 
  /usr/bin/mysql_secure_installation
 
  /usr/bin/mysql_secure_installation
  
 +
<!--T:5-->
 
Zuerst muss das Root-Passwort gesetzt werden (standardmäßig leer):
 
Zuerst muss das Root-Passwort gesetzt werden (standardmäßig leer):
  
  In order to log into MySQL to secure it, we'll need the current
+
  <!--T:6-->
 +
In order to log into MySQL to secure it, we'll need the current
 
  password for the root user.  If you've just installed MySQL, and
 
  password for the root user.  If you've just installed MySQL, and
 
  you haven't set the root password yet, the password will be blank,
 
  you haven't set the root password yet, the password will be blank,
Line 32: Line 32:
 
  You already have a root password set, so you can safely answer 'n'.
 
  You already have a root password set, so you can safely answer 'n'.
 
   
 
   
  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:
Line 46: Line 46:
 
  production environment.
 
  production environment.
  
 +
<!--T:7-->
 
Anschließend sollte der anonyme Benutzer deaktiviert werden
 
Anschließend sollte der anonyme Benutzer deaktiviert werden
  
  Remove anonymous users? [Y/n] y
+
  <!--T:8-->
 +
'''Remove anonymous users? [Y/n] y'''
 
   ... Success!
 
   ... Success!
  
 +
<!--T:9-->
 
Alle weiteren Einstellungen können individuell gesetzt werden:
 
Alle weiteren Einstellungen können individuell gesetzt werden:
  
  Normally, root should only be allowed to connect from 'localhost'.  This
+
  <!--T:10-->
 +
Normally, root should only be allowed to connect from 'localhost'.  This
 
  ensures that someone cannot guess at the root password from the network.
 
  ensures that someone cannot guess at the root password from the network.
 
   
 
   
  Disallow root login remotely? [Y/n] n
+
  '''Disallow root login remotely? [Y/n] n'''
 
   ... skipping.
 
   ... skipping.
 
   
 
   
Line 63: Line 67:
 
  before moving into a production environment.
 
  before moving into a production environment.
 
   
 
   
  Remove test database and access to it? [Y/n] Y
+
  '''Remove test database and access to it? [Y/n] Y'''
 
   - Dropping test database...
 
   - Dropping test database...
 
   ... Success!
 
   ... Success!
Line 72: Line 76:
 
  will take effect immediately.
 
  will take effect immediately.
 
   
 
   
  Reload privilege tables now? [Y/n]
+
  '''Reload privilege tables now? [Y/n]'''
 
   ... Success!
 
   ... Success!
 
   
 
   
Line 83: Line 87:
 
   
 
   
 
  Thanks for using MySQL!
 
  Thanks for using MySQL!
 
==Konfiguration==
 
in der Globalen Konigurationsdatei /etc/my.cnf müssen folgende Einstellungen hinzugefügt oder geändert werden:
 
  
  [mysqld]
+
==Konfiguration== <!--T:11-->
 +
in der Globalen Konigurationsdatei /etc/my.cnf müssen folgende Einstellungen unter dem Eintrag "mysqld" hinzugefügt oder geändert werden:
 +
 
 +
  <!--T:12-->
 +
[mysqld]
 
  ...
 
  ...
 
  default-storage-engine=InnoDB
 
  default-storage-engine=InnoDB
 
  lower_case_table_names = 1
 
  lower_case_table_names = 1
  
===Datenbankengine InnoDB oder MYISAM===
+
===Datenbankengine InnoDB oder MYISAM=== <!--T:13-->
Als Datenbankengine kan 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 eien Alternative. Weitere Engines wurden noch nicht mit LIMBAS getestet.
+
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. Weitere Engines wurden noch nicht mit LIMBAS getestet.
  
==Datenbank anlegen==
+
==Datenbank anlegen== <!--T:14-->
  
 +
<!--T:15-->
 
Jetzt kann die MySQL-Konsole mit dem vorher festgelegten Passwort aufgerufen werden:
 
Jetzt kann die MySQL-Konsole mit dem vorher festgelegten Passwort aufgerufen werden:
  
  mysql -u root -p
+
  <!--T:16-->
 +
mysql -u root -p
  
 +
<!--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>;
+
  <!--T:18-->
 +
mysql> CREATE DATABASE <limbasDB>;
 
  Query OK, 1 row affected (0.00 sec)
 
  Query OK, 1 row affected (0.00 sec)
  
 +
<!--T:19-->
 
Anschließend sollte für den Zugriff auf alle Tabellen in der Limbas-Datenbank ein gesonderter Benutzer wie folgt eingerichtet werden:
 
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>.*
+
  <!--T:20-->
 +
mysql> GRANT ALL ON <limbasDB>.*
 
     ->  TO <limbasuser>@localhost IDENTIFIED BY '<limbaspassword>';
 
     ->  TO <limbasuser>@localhost IDENTIFIED BY '<limbaspassword>';
 
  Query OK, 0 rows affected (0.00 sec)
 
  Query OK, 0 rows affected (0.00 sec)
  
====ODBC Konfiguration====
+
====ODBC-Konfiguration==== <!--T:21-->
 +
Die Datenbankverbindung über ODBC ist notwendig wenn nicht PostgreSQL oder MYSQL als Datenbank genutzt werden oder die PDO Schnittstelle nicht zur Verfügung steht. Das Einrichten von ODBC ist aufwändiger und umfasst neben der Installation der notwendigen Packete auch das Einrichten von UnixODB und der Datenbank ODBC Treiber.
  
 +
<!--T:22-->
 
Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden:
 
Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden:
 
* Verbindung mit direktem ODBC-Treiberzugriff
 
* Verbindung mit direktem ODBC-Treiberzugriff
 
* Verbindung mit ODBC-resource
 
* Verbindung mit ODBC-resource
  
 +
<!--T:23-->
 
Die folgenden beiden Punkte sind für beide Varianten durchzuführen:
 
Die folgenden beiden Punkte sind für beide Varianten durchzuführen:
  
 +
<!--T:24-->
 
* Pfade der Konfigurationsdateien von unixODBC ermitteln:
 
* Pfade der Konfigurationsdateien von unixODBC ermitteln:
 
  $ '''odbcinst -j'''
 
  $ '''odbcinst -j'''
Line 127: Line 142:
 
  USER DATA SOURCES..: /<user>/.odbc.ini
 
  USER DATA SOURCES..: /<user>/.odbc.ini
  
 +
<!--T:25-->
 
* In der unter "DRIVERS" ermittelten Datei (hier "/etc/odbcinst.ini") die Treiber mit Dateiname und Pfad hinzufügen:
 
* In der unter "DRIVERS" ermittelten Datei (hier "/etc/odbcinst.ini") die Treiber mit Dateiname und Pfad hinzufügen:
 
  [MySQL]
 
  [MySQL]
Line 136: Line 152:
  
  
 +
<!--T:26-->
 
Der folgende Punkt ist nur notwendig bei einer Verbindung mittels ODBC-resource
 
Der folgende Punkt ist nur notwendig bei einer Verbindung mittels ODBC-resource
  
 +
<!--T:27-->
 
* In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/odbc.ini") den folgenden Eintrag hinzufügen:
 
* In der unter "SYSTEM DATA SOURCES" ermittelten Datei (hier "/etc/odbc.ini") den folgenden Eintrag hinzufügen:
  
  [limbasmysql]
+
  <!--T:28-->
 +
[limbas_resource]
 
  Description            = MySQL
 
  Description            = MySQL
 
  Driver                  = MySQL
 
  Driver                  = MySQL
  Database                = limbas
+
  Database                = <limbasDB>
  Username                = limbasuser
+
  Username                = <limbasuser>
  Password                = password
+
  Password                = <limbaspassword>
 
  Port                    = 3306
 
  Port                    = 3306
 
  Trace                  = Off
 
  Trace                  = Off
Line 151: Line 170:
 
  Charset                = latin1
 
  Charset                = latin1
  
 +
==Hinweise zur Limbas-Installation== <!--T:29-->
 +
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.
 +
[[Datei:InstallerResource.png]]
  
{{Example| Datenbank Parameter mittels ODBC-resource <br><br>
+
</translate>
http://limbas.com/images/wiki/de/admin/login01.png
 
&nbsp;&nbsp;''Abb.1: Installationsbildschirm''<br><br>
 
 
 
}}
 

Latest revision as of 11:54, 9 September 2019

MySQL-Installation

Mit folgendem Kommando werden die benötigten Software-Pakete unter RedHat/Fedora/CentOS installiert:

yum install mysql mysql-server mysql-connector-odbc

Anschließend kann der MySQL-Server gestartet werden:

/etc/init.d/mysqld start

Für Produktivumgebungen sollte eine sichere Installation durchgeführt werden. Hierzu wird das entsprechende MySQL-Setup aufgerufen:

/usr/bin/mysql_secure_installation

Zuerst muss das Root-Passwort gesetzt werden (standardmäßig leer):

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Anschließend sollte der anonyme Benutzer deaktiviert werden

Remove anonymous users? [Y/n] y
 ... Success!

Alle weiteren Einstellungen können individuell gesetzt werden:

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Konfiguration

in der Globalen Konigurationsdatei /etc/my.cnf müssen folgende Einstellungen unter dem Eintrag "mysqld" hinzugefügt oder geändert werden:

[mysqld]
...
default-storage-engine=InnoDB
lower_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. Weitere Engines wurden noch nicht mit LIMBAS getestet.

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>;
Query OK, 1 row affected (0.00 sec)

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 '<limbaspassword>';
Query OK, 0 rows affected (0.00 sec)

ODBC-Konfiguration

Die Datenbankverbindung über ODBC ist notwendig wenn nicht PostgreSQL oder MYSQL als Datenbank genutzt werden oder die PDO Schnittstelle nicht zur Verfügung steht. Das Einrichten von ODBC ist aufwändiger und umfasst neben der Installation der notwendigen Packete auch das Einrichten von UnixODB und der Datenbank ODBC Treiber.

Es gibt zwei Varianten LIMBAS mit der Datenbank zu verbinden:

  • Verbindung mit direktem ODBC-Treiberzugriff
  • Verbindung mit ODBC-resource

Die folgenden beiden Punkte sind für beide Varianten 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. InstallerResource.png