Owncloud: migrazione da SQLite a MySQL/MariaDB

Ho bisogno di convertire il database SQLite di un server Owncloud in un database MySQL/MariaDB
Ho iniziato installando MySQL:

# systemctl enable mysqld
# systemctl start mysqld
# mysql_secure_installation[/code]

quindi

[code]$ mysql -u root -p
CREATE USER 'owncloud_user'@'localhost' IDENTIFIED BY '12345';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud_user'@'localhost' IDENTIFIED BY '12345';

e assumiamo che la password dell’utente owncloud_user sia 12345
Ora, dal http://doc.owncloud.org/server/7.0/admin_manual/maintenance/convert_db.html
inserendo

# php occ db:convert-type --all-apps mysql owncloud_user 127.0.0.1 owncloud

appare la richiesta

What is the database password?

Che password di database intende? Io ho solo creato una password per l’utente owncloud_user. Provando ad inserire la password 12345 ottengo l’errore

[PDOException] SQLSTATE[HY000] [1045] Access denied for user 'owncloud_user'@'localhost' (using password: YES)

Altre informazioni:

la macchina ha IPv6 abilitato

    MariaDB (none)]> SELECT user, host FROM mysql.user;
    +---------------+-----------+                                                                                                                                                             
    | user          | host      |                                                                                                                                                             
    +---------------+-----------+
    | root          | 127.0.0.1 |
    | root          | ::1       |
    | owncloud_user | localhost |
    | root          | localhost |
    +---------------+-----------+

Non sono un esperto, ma il problema credo potrebbe risiedere tra il fatto che usi localhost e ti connetti a 127.0.0.1. Prova a garantire l’accesso anche a 127.0.0.1 oppure a connetterti a localhost.

Si, avevo dimenticato di scrivere gli ultimi sviluppi: avevo ipotizzato anche io il problema del 127.0.0.1 ma non so se per aggiungerlo ad owncloud_user devo creare un altro utente con stesso nome e differente indirizzo

Ho provato

$ mysql -u root -p CREATE USER 'owncloud_user'@'127.0.0.1' IDENTIFIED BY '12345'; CREATE USER 'owncloud_user'@'::1' IDENTIFIED BY '12345'; CREATE DATABASE IF NOT EXISTS owncloud; GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud_user'@'127.0.0.1'; GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud_user'@'::1';
Ora la lista utenti è

[code]MariaDB (none)]> SELECT user, host FROM mysql.user;
±--------------±----------+
| user | host |
±--------------±----------+
| owncloud_user | 127.0.0.1 |
| root | 127.0.0.1 |
| owncloud_user | ::1 |
| root | ::1 |
| owncloud_user | localhost |
| root | localhost |
±--------------±----------+
6 rows in set (0.00 sec)

[/code]
Tuttavia il risultato è lo stesso di prima quando provo a far eseguire la migrazione di database

Se ben ricordo, MySql dovrebbe avere un set di privilegi al suo interno.

Da quel che capisco, hai provato ad eseguire le varie operazioni da utente non privilegiato (owncloud_user). Questo ti porta a ricevere un’eccezione (access denied), perché forse l’operazione lavorerà su alcune tabelle standard di MySql.

Hai provato utilizzando l’utente root di MySql?

No perché poi non potrei più tornare agilmente ad un utente con meno privilegi

Ho risolto. Praticamente mi sono accorto che nella guida di Fedora wiki mancava il comando

FLUSH PRIVILEGES;

Così ho eliminato il database e l’utente, li ho creati di nuovo e dopo il suddetto comando tutto è partito regolarmente.
Pertanto tutte i dubbi su indirizzi localhost erano fuori luogo