cs:tech:idp:mariadb:new

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:tech:idp:mariadb:new [2020/03/27 08:45]
Jan Oppolzer [Databáze]
— (current)
Line 1: Line 1:
-====== MariaDB ====== 
- 
-**Na této stránce se nachází návod, jak do linuxové distribuce Debian nainstalovat MariaDB pro potřeby Shibboleth IdP.** 
- 
----- 
- 
-===== Instalace ===== 
- 
-Databázi //MariaDB// nainstalujeme následujícím příkazem: 
- 
-<code bash> 
-# Instalace MariaDB 
-apt install --no-install-recommends mariadb-server mariadb-client libmariadb-java 
-</​code>​ 
- 
-Pomocí ''​openssl''​ si vygenerujeme silné heslo pro přístup k databázi uživatelem //root//: 
- 
-<code bash> 
-# Vygenerování silného hesla pro uživatele root 
-openssl rand -hex 20 
-</​code>​ 
- 
-Spustíme utilitu ''​mysql_secure_installation''​ a postupujeme dle instrukcí v terminálu: 
- 
-<code bash> 
-# Spuštení mysql_secure_installation 
-mysql_secure_installation 
-</​code>​ 
- 
-===== Databáze ===== 
- 
-<WRAP center tip 100%> 
-**Máme-li persistentní identifikátory ze stávající instalace Shibboleth IdP, databázi si samozřejmě přesuneme.** 
- 
-Na stávajícím serveru provedeme export: 
- 
-<code mysql> 
-mysqldump shibboleth > ~/​persistentIDs.sql 
-</​code>​ 
- 
-Soubor ''​persistentIDs.sql''​ bezpečně překopírujeme na nový server, např. pomocí ''​scp'',​ a po vytvoření databáze //​shibboleth//​ importujeme stávající identifikátory:​ 
- 
-<code mysql> 
-mysql -u root -p shibboleth < ~/​persistentIDs.sql 
-</​code>​ 
-</​WRAP>​ 
- 
-Přihlásíme se do //​MariaDB//:​ 
- 
-<code bash> 
-# Přihlášení k MariaDB 
-mysql 
-</​code>​ 
- 
-Vytvoříme databázi //​shibboleth//​ a v ní tabulky //shibpid// a //​StorageRecords//​. 
- 
-<code mysql> 
-# Vytvoříme databázi '​shibboleth'​ a tabulky '​shibpid'​ a '​StorageRecords'​ 
-SET NAMES '​utf8';​ 
-SET CHARACTER SET utf8; 
-CHARSET utf8; 
-CREATE DATABASE IF NOT EXISTS shibboleth CHARACTER SET=utf8; 
-USE shibboleth; 
-CREATE TABLE IF NOT EXISTS `shibpid` ( 
-  `localEntity` VARCHAR(255) NOT NULL, 
-  `peerEntity` VARCHAR(255) NOT NULL, 
-  `principalName` VARCHAR(255) NOT NULL DEFAULT '',​ 
-  `localId` VARCHAR(255) NOT NULL, 
-  `persistentId` VARCHAR(50) NOT NULL, 
-  `peerProvidedId` VARCHAR(255) DEFAULT NULL, 
-  `creationDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,​ 
-  `deactivationDate` TIMESTAMP NULL DEFAULT NULL, 
-  PRIMARY KEY (`localEntity`,​ `peerEntity`,​ `persistentId`) 
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;​ 
-CREATE TABLE IF NOT EXISTS `StorageRecords` ( 
-  `context` VARCHAR(255) NOT NULL, 
-  `id` VARCHAR(255) NOT NULL, 
-  `expires` BIGINT DEFAULT NULL, 
-  `value` LONGTEXT NOT NULL, 
-  `version` BIGINT NOT NULL, 
-  PRIMARY KEY (`context`, `id`) 
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;​ 
-</​code>​ 
- 
-Pomocí příkazu ''​DESCRIBE''​ si můžeme zobrazit, jak tabulky vypadají. 
- 
-<code mysql> 
-# Zobrazení definice tabulek '​shibpid'​ a '​StorageRecords'​ 
-DESCRIBE shibpid; 
-DESCRIBE StorageRecords;​ 
-</​code>​ 
- 
-Tabulka //shibpid// musí vypadat následovně:​ 
- 
-<code mysql> 
-+------------------+--------------+------+-----+---------------------+-------------------------------+ 
-| Field            | Type         | Null | Key | Default ​            | Extra                         | 
-+------------------+--------------+------+-----+---------------------+-------------------------------+ 
-| localEntity ​     | varchar(255) | NO   | PRI | NULL                |                               | 
-| peerEntity ​      | varchar(255) | NO   | PRI | NULL                |                               | 
-| principalName ​   | varchar(255) | NO   ​| ​    ​| ​                    ​| ​                              | 
-| localId ​         | varchar(255) | NO   ​| ​    | NULL                |                               | 
-| persistentId ​    | varchar(50) ​ | NO   | PRI | NULL                |                               | 
-| peerProvidedId ​  | varchar(255) | YES  |     | NULL                |                               | 
-| creationDate ​    | timestamp ​   | NO   ​| ​    | current_timestamp() | on update current_timestamp() | 
-| deactivationDate | timestamp ​   | YES  |     | NULL                |                               | 
-+------------------+--------------+------+-----+---------------------+-------------------------------+ 
-8 rows in set (0.002 sec) 
- 
-+---------+--------------+------+-----+---------+-------+ 
-| Field   | Type         | Null | Key | Default | Extra | 
-+---------+--------------+------+-----+---------+-------+ 
-| context | varchar(255) | NO   | PRI | NULL    |       | 
-| id      | varchar(255) | NO   | PRI | NULL    |       | 
-| expires | bigint(20) ​  | YES  |     | NULL    |       | 
-| value   | longtext ​    | NO   ​| ​    | NULL    |       | 
-| version | bigint(20) ​  | NO   ​| ​    | NULL    |       | 
-+---------+--------------+------+-----+---------+-------+ 
-5 rows in set (0.003 sec) 
-</​code>​ 
- 
-Vytvoříme uživatele //​shibboleth//,​ který bude k databázi přistupovat pomocí silného hesla, které si opět vygenerujeme pomocí příkazu ''​openssl'':​ 
- 
-<code bash> 
-# Vygenerování silného hesla pro uživatele '​shibboleth'​ 
-openssl rand -hex 20 
-</​code>​ 
- 
-Vytvoříme uživatele //​shibboleth//​ a použijeme výše vygenerované silné heslo: 
- 
-<code mysql> 
-# Vytvoření uživatele '​shibboleth'​ 
-GRANT ALL PRIVILEGES ON shibboleth.* 
-      TO '​shibboleth'​@'​localhost'​ 
-      IDENTIFIED BY '​f6603c2fd2a48bc722c14ca88bb08a762f3478c4';​ 
-FLUSH PRIVILEGES; 
-</​code>​ 
- 
-Pro ověření funkčnosti vytvořeného účtu se pokusíme přihlásit k databázi. 
- 
-<code bash> 
-# Přihlášení k MariaDB uživatelem '​shibboleth'​ 
-mysql -u shibboleth -p shibboleth 
-</​code>​ 
- 
-Terminál vyzve k zadání hesla a po jeho úspěšném ověření dojde k přihlášení k MariaDB. 
- 
-<code bash> 
-Enter password: 
-Welcome to the MariaDB monitor. ​ Commands end with ; or \g. 
-[...] 
-MariaDB [shibboleth]>​ 
-</​code>​ 
- 
----- 
- 
-**Máme-li nainstalovanou MariaDB, můžeme pokračovat instalací [[cs:​tech:​idp:​jetty]].** 
  
Last modified:: 2020/03/27 08:45