12
Linux - MariaDB SQL Datenbankserver. - 1 / 12 - 1. MariaDB SQL Datenbankserver . Ab Fedora 19 gehört MySQL nicht mehr zum Umfang der Distribution und ist ersetzt worden durch MariaDB (weiter- hin mysqld Server Daemon), einem Clone vom MySQL. Die RPM Pakete mariadb und mariadb-server müssen installiert sein. Weitere nützliche RPM Pakete: mysql-utilities (Maintenance und Administration) Der Dienst mysqld muss gestartet sein. # service mariadb start Redirecting to /bin/systemctl status mariadb.service Zum Starten des Dienstes bei jedem Booten: # systemctl enable mariadb.service ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service' Legen Sie ein MySQL Passwort für den MySQL Administrator root für Client localhost und Ihren FQDN fest: # mysqladmin -u root -h localhost password 'Ihr_root_Passwort' # mysqladmin -u root -h Ihr_Host.Domain.TLD password 'Ihr_root_Passwort' Ergänzen Sie in der Konfigurationsdatei des Servers /etc/my.cnf.d/server.cnf unter dem [mysqld] Kapitel den Eintrag: sql_mode="STRICT_ALL_TABLES" Entfernen Sie den anonymen Benutzer und die Test Datenbank für den produktiven Einsatz. Lassen Sie dazu das Kommando mysql_secure_installation laufen, es erledigt diese Arbeit bequem für Sie: # /usr/bin/mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, 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): xxxxx OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB 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] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB 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. Remove anonymous users? [Y/n] Y ... Success! 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] Y ... Success! By default, MariaDB 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 Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

1. MariaDB SQL Datenbankserver. - snafuhome.snafu.de/j.kubiak/lehre/linux/html/linux_mysql.pdf · Linux - MariaDB SQL Datenbankserver. - 1 / 12 - 1. MariaDB SQL Datenbankserver. Ab

  • Upload
    others

  • View
    42

  • Download
    0

Embed Size (px)

Citation preview

Linux - MariaDB SQL Datenbankserver. - 1 / 12 -

1. MariaDB SQL Datenbankserver .

Ab Fedora 19 gehört MySQL nicht mehr zum Umfang der Distribution und ist ersetzt worden durch MariaDB (weiter-hin mysqld Server Daemon), einem Clone vom MySQL.• Die RPM Pakete mariadb und mariadb-server müssen installiert sein. Weitere nützliche RPM Pakete:

◦ mysql-utilities (Maintenance und Administration)

• Der Dienst mysqld muss gestartet sein.

# service mariadb startRedirecting to /bin/systemctl status mariadb.service

◦ Zum Starten des Dienstes bei jedem Booten:

# systemctl enable mariadb.serviceln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service'

• Legen Sie ein MySQL Passwort für den MySQL Administrator root für Client localhost und Ihren FQDN fest:

# mysqladmin -u root -h localhost password 'Ihr_root_Passwort'# mysqladmin -u root -h Ihr_Host.Domain.TLD password 'Ihr_root_Passwort'

• Ergänzen Sie in der Konfigurationsdatei des Servers /etc/my.cnf.d/server.cnf unter dem [mysqld] Kapitel denEintrag:

sql_mode="STRICT_ALL_TABLES"

Entfernen Sie den anonymen Benutzer und die Test Datenbank für den produktiven Einsatz. Lassen Siedazu das Kommando mysql_secure_installation laufen, es erledigt diese Arbeit bequem für Sie:

# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou 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): xxxxxOK, successfully used password, moving on...

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

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

Change the root password? [Y/n] n ... skipping.

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

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

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

Disallow root login remotely? [Y/n] Y ... Success!

By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.

Remove test database and access to it? [Y/n] Y

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 2 / 12 -

- Dropping test database... ... Success! - Removing privileges on test database... ... Success!

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

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

Cleaning up...

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

Thanks for using MariaDB!

• Der MySQL Server ist über Port 3306 erreichbar.

1.1 Die MySQL Workbench.

Mit der MySQL Workbench als Client lassen sich Datenbanken und Tabellen warten, administrative Aufgaben erledi-gen und SQL Anweisungen ausführen.

Workbench Download: http://www.mysql.de/downloads/workbench/

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 3 / 12 -

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 4 / 12 -

Darüber hinaus lässt sich mit der MySQL Workbench über ER-Diagramme eine Datenbank designen und mit seinenTabellen erzeugen bzw. bearbeiten:

1.2 phpMyAdmin.

Installieren Sie aus den Fedora Repositorien das RPM Paket php-MyAdmin zur Verwaltung. Das Sicherheitssystem SELinux muss Zu-griffe des Webservers auf Datenbank Server zulassen, Kommando alsroot:

setsebool -P httpd_can_network_connect_db on

Zur Anmeldung bei phpMyAdmin geben Sie im Browser die Adressehttp://127.0.0.1/phpMyAdmin bzw. für eine sichere Verbindunghttps://127.0.0.1/phpMyAdmin ein:

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 5 / 12 -

Die Datenbank(en) können nun verwaltet werden:

1.3 Webmin.

Auch über Webmin lässt sich eine Verwaltung vornehmen (nur über den Adminstrator, nicht durch den User):

Webmin Download: <www.webmin.com>

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 6 / 12 -

1.4 Datenbanken des MariaDB Servers mit diversen Clients via ODBC nutzen.

ODBC (Open Database Connectivity) ist eine Datenbankschnittstelle, über die sich diverse Clients (Windows, Li-nux - OpenOffice, LibreOffice, MS-Access, MS-Excel, MS-Word) mit dem SQL Server verbinden können.

1.4.1 Einrichtung User DNS am Windows Client.

Am Windows Client muss ein MySQL ODBC Connector installiert werden (Sie benötigen dazu Administratorrechte).Es stehen mehrere zur Verfügung. Neben Versionen für 32-bit und 64-Bit können Connectoren basierend auf Uni-code und ANSI Zeichencode installiert werden. Es können beide, für Unicode und ANSI, parallel installiert wer-den (das Installationsprogramm für Unicode enthält im Dateinamen keinen Zusatz, das für ANSI enthält den Zusatzansi im Dateinamen)

Download auf: http://www.mysql.de/products/connector/

Als Benutzer können Sie dann über »Systemeinstellungen - Verwaltung - Datenquellen (ODBC)« auf der Regis-terkarte »Benutzer DSN« mit dem Button »Hinzufügen« eine Verbindung zu Ihrem Linux MySQL/MariaDB Servereinrichten .

1.4.2 Einrichtung von User/System DNS's am Linux Client.

Der Administrator des Linux Clients muss die folgenden Pakete installiert haben (in der Regel sind diese bei der Dis-tribution enthalten): unixODBC und mysql-connector-odbc aus den Fedora Repositorien.

In seinem Heimatverzeichnis legt sich der Benutzer DSN's durch eine versteckte .odbc.ini Datei mit zum Beispielfolgendem Inhalt an (systemweite Datei /etc/odbc.ini als Administrator Root anlegen):;; odbc.ini configuration for Connector/ODBC drivers;[ODBC Data Sources]kurs_fussball_wm = MyODBC 5.2.5-3 Driver DSN; Weitere Data Sources (erfordern Sektion gleichen Namens weiter unten):; Name = MyODBC 5.2.5-3 Driver DSN; usw.

; 1. DSN Sektion[kurs_fussball_wm]Driver = /usr/lib/libmyodbc5.soDescription = Connector/ODBC 5.2.5-3 Driver DSNSERVER = 127.0.0.1PORT =USER = kubiPassword =Database = kurs_fussball_wmOPTION = 3SOCKET =

; 2. DSN Sektion;[DSN Name];Driver = /usr/lib/libmyodbc5.so;Description = Connector/ODBC 5.2.5-3 Driver DSN;SERVER = IP oder FQDN;PORT =;USER = DB_Login_Name;Password =;Database = Datenbankname;OPTION = 3;SOCKET =

; usw. ...

• Die Sektionen enthalten in den eckigen Klammern die Data Source Namen, die man vom Client aus sieht.

• Die Paßworte werden aus Sicherheitsgründen nicht angegeben. Sie werden dann beim Aufbau der Verbindungabgefragt.

• Je nach nicht-Fedora Distribution kann der Pfad zu libmyodbc5.so beim Eintrag Driver unterschiedlich sein.

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 7 / 12 -

1.5 OpenOffice.org / LibreOffice

1.5.1 Base als Client.

Beim Start von Base erscheint der Assistent zur Verbindungsherstellung. Es gibt 2 Möglichkeiten sich mit der SQLDatenbank zu verbinden:

• Über den MySQL ODBC Connector:Voraussetzung: Der MySQL ODBC Connector wurde installiert und ein DSN wurde eingerichtet.

• Über den MySQL JDBC Connector (Java Database Connectivity):Voraussetzungen: Java JRE und der MySQL JDBC Connector wurden installiert.

◦ Windows: <http://java.com/de/download/>, <http://dev.mysql.com/downloads/connector/>

◦ Linux Fedora: RPM Pakete mysql-connector-java, java-x.x.x-openjdk aus den Fedora Repositorien installieren.

• Unter EXTRAS / EINSTELLUNGEN bei Java muss der CLASS PATH zur .jar Datei des installierten JDBCConnectors mysql-connector-java.jar eingetragen werden (Ordner funktioniert nicht!). Danach muss Open-/LibreOffice neu gestartet werden.

Bild zeigt Linux Pfad /usr/share/java (Windows: C:\Program Files\MySQL\MySQL Connector J) zumysql-connector-java.jar

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 8 / 12 -

Die Verbindung zur Datenbank er-folgt nach folgendem Schema:

1. Starten Sie OpenOffice.org Baseund wählen Sie die Herstellung zueiner MySQL/MariaDB Datenbankaus.

2. Wählen Sie aus, ob Sie sich überODBC oder JDBC verbinden wol-len.

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 9 / 12 -

Im Falle einer ODBC Verbindung:

3. Wählen Sie den DSN Eintrag aus.

Im Falle einer JDBC Verbindung:

3. Geben Sie den Datenbanknamenund die Serveradresse ein. Tes-ten Sie, ob der JDBC Treiber gela-den werden kann.

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 10 / 12 -

Gemeinsam weiter bei ODBC und JDBC:

4. Geben Sie den Datenbank Benut-zernamen ein und testen Sie dieVerbindung (Sie werden dann zurEingabe des Passwortes aufgefor-dert).

5. Melden Sie die Datenbank an undöffnen Sie sie. Abgespeichert wirdeine .odb Datei, die die Verbin-dungsdaten enthält, jedoch nichtdie Tabellen der Datenbank.

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 11 / 12 -

Nun sind die Tabellen, Sichten erreichbar und man kann mit ihnen arbeiten - Datensätze hinzufügen, ändern, lö-schen, Abfragen, Formulare und Berichte erstellen:

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]

Linux - MariaDB SQL Datenbankserver. - 12 / 12 -

Ein Bericht:

1.5.2 Calc als Client.

Voraussetzung ist eine erstellte Base Verbindungsdatei (.odb Datei) wie im zuvor beschrieben.• Es lassen sich mit der Maus aus Base Tabellen per Drag & Drop nach Calc kopieren.

• Über DATEN / DATENPILOT / AUFRUFEN lassen sich mit der zuvor erstellten .odb Datei auf die MySQL/Ma-riaDB Tabellen der Datenbank zugreifen und daraus Pivot Tabellen in Calc erstellen.

1.5.3 Writer als Client.

Voraussetzung ist eine erstellte Base Verbindungsdatei (.odbDatei) wie eingangs beschrieben. Fügen Sie über EINFÜ-GEN / FELDBEFEHLE / ANDERE Registerkarte DATENBANKdie gewünschten Seriendruckfelder in Ihr Textdokument ein.Wenn Sie drucken wollen, wird das Dokument als Serienbrieferkannt:

Distribution Fedora. 27. September 2015 Dr. J. Kubiak - [email protected]