Debian 9 + MariaDB hiba telepítésnél

Fórumok

Sziasztok!
Alap Debian 9 telepítésnél amikor feltelepítem a MariaDB csomagokat "apt-get -y install mariadb-client mariadb-server" a következő hibaüzenetet kapom:

Setting up mariadb-server-10.1 (10.1.23-9+deb9u1) ...
Created symlink /etc/systemd/system/mysql.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /lib/systemd/system/mariadb.service.
Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2017-07-01 16:54:05 UTC; 23ms ago
Process: 1432 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=226/NAMESPACE)

Jul 01 16:54:05 vps systemd[1]: Starting MariaDB database server...
Jul 01 16:54:05 vps systemd[1432]: mariadb.service: Failed at step NAMESPACE spawning /usr/bin/install: Too many levels of symbolic links
Jul 01 16:54:05 vps systemd[1]: mariadb.service: Control process exited, code=exited status=226
Jul 01 16:54:05 vps systemd[1]: Failed to start MariaDB database server.
Jul 01 16:54:05 vps systemd[1]: mariadb.service: Unit entered failed state.
Jul 01 16:54:05 vps systemd[1]: mariadb.service: Failed with result 'exit-code'.
dpkg: error processing package mariadb-server-10.1 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
mariadb-server depends on mariadb-server-10.1 (>= 10.1.23-9+deb9u1); however:
Package mariadb-server-10.1 is not configured yet.

dpkg: error processing package mariadb-server (--configure):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Processing triggers for sgml-base (1.29) ...
Processing triggers for systemd (232-25) ...
Errors were encountered while processing:
mariadb-server-10.1
mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Van valakinek valami ötlete, nagy segítség lenne, próbáltam már pár tippet de sajnos sikertelenül, Köszi előre is.

Hozzászólások

apt-get remove --purge mariadb-server mariadb-client
apt-get autoremove

apt-get -f install

apt-get install mariadb-server-10.1 mariadb-client-10.1

A mariadb-server-10.1 még nincs konfigurálva, még el sem indult, a mariadb-server meg addig nem tud telepedni.

mariadb-server függősége a mariadb-server-10.1

- service mysql stop

- szedjél le mindent, mint az imént írtam.

- apt-get install mariadb-server-10.1 /ez az egy elég lehet/

[...]
Jul 01 16:54:05 vps systemd[1432]: mariadb.service: Failed at step NAMESPACE spawning /usr/bin/install: Too many levels of symbolic links
[...]

Nekik is hasonló problémájuk volt:
https://github.com/systemd/systemd/issues/3953
https://bbs.archlinux.org/viewtopic.php?id=217072

Köszönöm mindenkinek a hozászolást, részben kiderült hol van a hiba, ez egy OpenVZ bug, kvm és vmware környezetben gond nélkül települ a MariaDB. OpenVZ környezetben gondjai vannak, mármint a szolgáltató template használatával, azt mondták hogy továbbították a hibát de vélhetően nem fogják javítani. Valaki tudta telepíteni a mariaDB-t OpenVZ + debian9 környezetben, igazából kíváncsi lennék hogy van-e életképes megoldás Debian 9 használatára OpenVZ környezetben?

Valami ilyesmit én is átéltem pár napja, vagyis a MariskaDB ugyan felment, de mysql root jelszót nem kért, így nem is tudtam használni, csak sok küzdelem árán. Ti tapasztaltatok már ilyet?

--
-- Üvegfiú - Csontkemény harc
Tégy Jót!®

A mysql_secure_installation egy ideje létezik már, néhány alapvető biztonsági lépést lehet gyorsan elvégezni vele: root user jelszó beállítása, távoli hozzáférések korlátozása, stb.

A Te "problémádat" viszont más okozza.Ami nem is bug, hanem egy más szemléletű azonosítás.

A mariadb egy ideje bevezette a "unix socket" plugin alapú azonosítást. Stretch alatt ez az alapértelmezett.

https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/

A mysql/user tábla alatt csak egy root nevű felhasználó van jelszó nélkül "unix_socket" plugin mezővel.

Így a unix shell-be bejelentkezett user adataival próbál bejelentkezni. Ilyenkor nincs külön még egy azonosítási folyamat az adatbázishoz pl a mysql cliensből kapcsolódásra, mivel a shell-be a bejelentkezés már egy azonosítást elvégzett.
Nincs külön "debian-sys-maint" db user sem.

Tehát:
Az azonositas unix socketen tortenik: tehat 'root'-kent inditom a mysql clientet, beléptet, mert mar amugy is root vagyok a shellben, amibol inditottam a mysql clientet. Nem kér jelszót, ha megadok valamit nem foglalkozik vele.

root@debian:/# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.1.23-MariaDB-9+deb9u1 Debian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

ha pl zolikent vagyok a shellben, úgy indítom akár jelszóval is, nem enged be:
zoli@debian:~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
zoli@debian:~$

Tehát a plugin mező értékétől függően jelszavas, vagy unix_socket alapú azonosítás történik


MariaDB [mysql]> select user, password, plugin from user;
+--------+---------------------+-------------+
|.user...|.password............|.plugin......|
+--------+---------------------+-------------+
|.root...|.....................|.unix_socket.|
+--------+---------------------+-------------+

Vagy így függőlegesen rendezve jobban látható:

MariaDB [mysql]> select user, password, plugin from user\G;
*************************** 1. row ***************************
user: root
password:
plugin: unix_socket
1 rows in set (0.00 sec)

Ha gondolod , a plugin mezőt üríted, és adsz jelszót a root-nak , akkor úgy működik, mint "régen"

A normál adatbázis usereket már normál jelszavas azonosításúra készítheted:

CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'jelszo';
GRANT ALL PRIVILEGES ON adatbazisnev.* to 'dbuser'@'localhost';

MariaDB [mysql]> select user, password, plugin from user;

+--------+-----------------+-------------+
|.user...|.password........|.plugin......|
+--------+-----------------+-------------+
|.root...|.................|.unix_socket.|
|.dbuser.|.97E7xxxxyyccxs..|.............|
+--------+-----------------+-------------+
2 rows in set (0.00 sec)
MariaDB [mysql]> select user, password, plugin from user\G;
*************************** 1. row ***************************
user: root
password:
plugin: unix_socket
*************************** 2. row ***************************
user: dbuser
password: *97E747XXXXYXYXYXXY8510XXCYFRXVXXVYXYXX
plugin:
2 rows in set (0.00 sec)

Ha socket alapú azonosítást akarsz , akkor:

CREATE USER 'db_user' IDENTIFIED VIA unix_socket;

Tehát a root unix_socket alapú azonosítással megy, a db_user sima jelszavas.

A "db_user" adatbázis felhasználóval már be tudok lépni a "zoli" userneves shellből:

zoli@debian:~$ mysql -u dbuser -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 10.1.23-MariaDB-9+deb9u1 Debian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>