Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Condivisione db mysql tra Windows e Ubuntu
Nuovo argomento   Rispondi    Indice del forum -> Software per Internet
Precedente :: Successivo  
Autore Messaggio
ZioCrick
Eroe
Eroe


Registrato: 19/05/19 10:20
Messaggi: 50

MessaggioInviato: 17 Mar 2021 15:55    Oggetto: Condivisione db mysql tra Windows e Ubuntu Rispondi citando

Buongiorno,

spero di aver azzeccato la sezione corretta.

situazione:
PC in dual boot tra Win8.1 e Ubuntu Studio 20.04
Installato su entrambi Xampp ver x64-7.2.32
Per condividere i database mysql tra i due SO li ho posizionati su un disco dati differente dal disco sistema.

Da Windows funziona tutto; accedo ai db sia da phpMyAdmin che da una mia applicazione scritta in java, che dall'interfaccia client mysql attivata da terminale.

Da Ubuntu invece, phpMyAdmin funziona e mi vede i db condivisi, mentre l'applicazione non accede al suo relativo db.
E nemmeno il client di mysql vede i db condivisi.

Da terminale do il comando:

Codice:
sudo /opt/lampp/xampp start

che mi risponde:
Starting XAMPP for Linux 7.2.32-0...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.


poi attivo il client con:
Codice:
mysql --user="root" --password="MiaPassword" --host="localhost" --port=3306

e se do il comando:
Codice:
show databases;

mi fa vedere solo:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
ma mancano tutti quelli condivisi.

Ci sto litigando da mesi, ma non riesco ad uscirne.
Preciso che all'inizio funzionava tutto perfettamente... poi da un bel giorno, non ho capito cosa è successo o cambiato... ha iniziato a non funzionare più.
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11559
Residenza: Tokelau

MessaggioInviato: 18 Mar 2021 13:26    Oggetto: Rispondi citando

detta così sembra un problema di permessi utente Confused

con quale utente di sistema lanci il client mySQL?
Top
Profilo Invia messaggio privato HomePage
ZioCrick
Eroe
Eroe


Registrato: 19/05/19 10:20
Messaggi: 50

MessaggioInviato: 18 Mar 2021 13:47    Oggetto: Rispondi citando

Eh, sembra proprio come dici, ma non riesco a trovare il nesso.
Il client lo attivo col comando che ho riportato prima:
Codice:
sudo mysql --user="root" --password="MiaPassword" --host="localhost" --port=3306

ma ottengo lo stesso risultato sia se antepongo il sudo che no.

La cosa strana è che se dal client su Ubuntu faccio:
Codice:
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> select Host,User,authentication_string from user;
+-----------+------+-----------------------+
| Host      | User | authentication_string |
+-----------+------+-----------------------+
| localhost | root |                       |
+-----------+------+-----------------------+

come vedi mi riporta solo l'utente root e senza password.

Se invece verifico l'elenco degli utenti da phpMyAdmin ottengo:

Citazione:

User name Host name Password Global privileges Grant
marco localhost Yes ALL PRIVILEGES Yes
pma localhost Yes USAGE No
root 127.0.0.1 Yes ALL PRIVILEGES Yes
root ::1 Yes ALL PRIVILEGES Yes
root localhost Yes ALL PRIVILEGES Yes


Gli stessi utenti li vedo anche dal client su Windows.

E un'altra cosa turca è che dal phpMyAdmin di Ubuntu ieri ho aggiunto l'utente marco e me lo vede anche il phpMyAdmin di Windows, invece dal phpMyAdmin di Windows ho eliminato l'utente root con Host ::1 ma da phpMyAdmin di Ubuntu me lo vede ancora. Boh?
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11559
Residenza: Tokelau

MessaggioInviato: 18 Mar 2021 18:51    Oggetto: Rispondi citando

hai detto che i database sono su una partizione diversa dalle partizioni dei sistemi operativi? che filesystem hai usato per quella partizione?
Top
Profilo Invia messaggio privato HomePage
ZioCrick
Eroe
Eroe


Registrato: 19/05/19 10:20
Messaggi: 50

MessaggioInviato: 18 Mar 2021 20:16    Oggetto: Rispondi citando

Non è solo una partizione diversa. E' proprio un disco differente formattato NTFS.
Tutte le cartelle del disco vengono viste da Ubuntu con owner root e come permessi drwxrwxrwx.
Questo in precedenza ha sempre funzionato, e non riesco nemmeno a modificare ne l'owner ne i permessi, ma ripeto, non è mai stato un problema.

Credo che il vero problema sia individuare il o i file di configurazione di MariaDB per fare in modo di far puntare il server alla cartella dei db condivisi:
ES: /media/Dati/dbCondivisi/
dove il disco Dati è appunto il disco NTFS.

Nelle ultime ore tra le varie ricerche sul web ho scoperto che a volte mysql non riesce ad accedere al file:
/etc/mysql/my.cnf
ma bensì al file:
/etc/mysql/mariadb.conf.d/50-server.cnf
nel quale si poteva impostare la datadir per farla puntare alla cartella dei db condivisi, allora ho fatto la modifica e siccome ho notato che il file:
/etc/mysql/my.cnf in realtà è un link al file /etc/alternatives/my.cnf
allora l’ho cancellato e sostituito con una copia del /etc/mysql/mariadb.conf.d/50-server.cnf
ma rinominato: /etc/mysql/my.cnf

Queste modifiche però adesso non mi consentono più di accedere al client perché mi da errore:
Codice:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Il fatto è che ho cercato di ripristinare il link precedente ma ancora mi da lo stesso errore.
Mentre invece accedendo da phpMyAdmin mi vede tutti i database condivisi sul disco Dati.
Non ci sto capendo più nulla.
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11559
Residenza: Tokelau

MessaggioInviato: 19 Mar 2021 13:56    Oggetto: Rispondi citando

premesso che non sono un esperto di mySQL, se phpMyAdmin ti vede tutti i database, questo esclude che il disco con i DB non possa essere acceduto

però il punto è che ogni client ha la sua configurazione, non solo il server, quindi se phpMyAdmin accede, il client che usa sta funzionando, mentre quello che usi tu NO

per escludere che sia un problema di utenza, potresti provare a usare la stessa utenza che usa phpMyAdmin per l'accesso - se ancora non va, hai davvero un problema di errata configurazione del client

speriamo di venirne a capo!
Top
Profilo Invia messaggio privato HomePage
ZioCrick
Eroe
Eroe


Registrato: 19/05/19 10:20
Messaggi: 50

MessaggioInviato: 21 Mar 2021 16:14    Oggetto: Rispondi citando

Aggiornamento,

preso dalla disperazione ho disinstallato MySQL e Xampp con i comandi:
Codice:
sudo apt remove mariadb-server
sudo /opt/lampp/uninstall

e ho ripulito anche le cartelle: /etc/mysql/ e /var/log/mysql/

per installare da zero una versione più aggiornata con:

Codice:
sudo chmod +x xampp-linux-x64-7.4.16-0-installer.run
sudo  ./xampp-linux-x64-7.4.16-0-installer.run

E dopo un reboot dall’interfaccia grafica parte anche MySQL server cosa che prima non faceva, e dovevo farlo partice con uno dei comandi:
Codice:
sudo /opt/lampp/xampp start
sudo /opt/lampp/lampp start
sudo /opt/lampp/lampp startmysql
sudo /opt/lampp/bin/mysql.server start

in cui i primi due fanno partire sia Apache che MySQl mentre gli altri due fanno partire solo MySQl.

Poi prima di aggiungere la password di root, provando ad attivare il client da terminale con il comando:
Codice:
sudo mysql --user="root" --password="" --host="localhost" --port=3306

di da l’errore:
Codice:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


Allora ho modificato il file:
Codice:
/opt/lampp/phpmyadmin/config.inc.php

come avevo fatto con la versione precedente di Xampp, per impostare la password di root e di pma:
e facendo ripartire Apache e MySQL dall'interfaccia grafica tutto funzionava ancora e phpMyAdmin mi mostrava i db standard dell'installazione nuova.

A questo punto nel file
Codice:
/opt/lampp/etc/my.cnf
ho modificato i seguenti parametri:
Codice:
datadir=/media/Dati/dbCondivisi
innodb_data_home_dir=/media/Dati/dbCondivisi
innodb_log_group_home_dir=/media/Dati/dbCondivisi


per far puntare il server alle cartelle dei db condivisi, e così siamo tornati al problema iniziale, ovvero che dall'interfaccia grafica di Xampp parte solo Apache e non MySQl, che invece parte da terminale con:
Codice:
sudo /opt/lampp/bin/mysql.server start


Ora mi sorprende che se do il comando:
Codice:
sudo /opt/lampp/bin/mysql.server status

ottengo il messaggio:
Codice:
* MariaDB running (12200)

Se invece do il comando:
Codice:
sudo service mysqld status

ottengo:
Codice:

● mariadb.service - MariaDB 10.3.25 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mysql.service.d
             └─override.conf
     Active: failed (Result: exit-code) since Sun 2021-03-21 08:53:28 CET; 6h ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 1033 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 1045 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 1050 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] >
    Process: 1117 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 1321 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 1323 ExecStartPost=/etc/mysql/debian-start (code=exited, status=203/EXEC)
   Main PID: 1117 (code=exited, status=0/SUCCESS)
     Status: "MariaDB server is down"

mar 21 08:53:26 UGiocoso mysqld[1117]: 2021-03-21  8:53:26 0 [Note] Event Scheduler: Purging the queue. 0 events
mar 21 08:53:26 UGiocoso mysqld[1117]: 2021-03-21  8:53:26 0 [Note] InnoDB: FTS optimize thread exiting.
mar 21 08:53:26 UGiocoso mysqld[1117]: 2021-03-21  8:53:26 0 [Note] InnoDB: Starting shutdown...
mar 21 08:53:26 UGiocoso mysqld[1117]: 2021-03-21  8:53:26 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
mar 21 08:53:26 UGiocoso mysqld[1117]: 2021-03-21  8:53:26 0 [Note] InnoDB: Buffer pool(s) dump completed at 210321  8:53:26
mar 21 08:53:28 UGiocoso mysqld[1117]: 2021-03-21  8:53:28 0 [Note] InnoDB: Shutdown completed; log sequence number 1625873; transaction id 22
mar 21 08:53:28 UGiocoso mysqld[1117]: 2021-03-21  8:53:28 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
mar 21 08:53:28 UGiocoso mysqld[1117]: 2021-03-21  8:53:28 0 [Note] /usr/sbin/mysqld: Shutdown complete
mar 21 08:53:28 UGiocoso systemd[1]: mariadb.service: Failed with result 'exit-code'.
mar 21 08:53:28 UGiocoso systemd[1]: Failed to start MariaDB 10.3.25 database server.

che però fa riferimento ancora alla versione vecchia di MariaDB, ovvero la 10.3.25
mentre la versione attuale che mi mostra phpMyAdmin è la 10.4.18.
Come mai? E' rimasto qualche cosa di sporco in qualche cartella che non conosco?
Inoltre non più reinstallato la versione di MySQL client che avevo installato nellla versione precedente con il comando:
Codice:
sudo apt-get install mysql-client


Adesso però phpMyAdmin punta correttamente ai db condivisi... ed è successo pure il miracolo!
Anche la mia applicazione Java riesce ad accedere al db condiviso dei film!!! Very Happy
Dipenderà dal fatto che non ho più reinstallato il client MySQL?
Boh?
Se qualcuno riesce a darmi qualche delucidazione gli sarò eternamente grato.
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11559
Residenza: Tokelau

MessaggioInviato: 22 Mar 2021 23:27    Oggetto: Rispondi citando

intanto direi che non stai usando systemd per gestire il servizio mySQL, per quello lo vedi 'giù' dal comando service

in ogni caso se funziona non toccare - la prima regola del sistemista Laughing
Top
Profilo Invia messaggio privato HomePage
ZioCrick
Eroe
Eroe


Registrato: 19/05/19 10:20
Messaggi: 50

MessaggioInviato: 23 Mar 2021 20:06    Oggetto: Rispondi

Citazione:
intanto direi che non stai usando systemd per gestire il servizio mySQL, per quello lo vedi 'giù' dal comando service

Si sembrerebbe, ma mi piacerebbe capire come mai ottengo:
Codice:

sudo whatis mysqld
mysqld (8)           - the MariaDB server
sudo whereis mysqld
mysqld: /usr/sbin/mysqld /usr/share/man/man8/mysqld.8.gz
sudo which mysqld
/usr/sbin/mysqld


e se do:
Codice:
sudo /opt/lampp/bin/mysql.server restart

mi dice che starta mysqld:
Codice:
Shutting down MariaDB
. *
Starting MariaDB
.2021-03-23 19:08:07 8113 mysqld_safe Logging to '/media/Dati/Dev/db/dbCondivisi/UGiocoso.log'.
2021-03-23 19:08:07 8113 mysqld_safe Starting mysqld daemon with databases from /media/Dati/Dev/db/dbCondivisi

E invece con:
Codice:

systemctl status  mysqld
● mariadb.service - MariaDB 10.3.25 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mysql.service.d
             └─override.conf
     Active: failed (Result: exit-code) since Tue 2021-03-23 17:35:31 CET; 1h 29min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1113 (code=exited, status=0/SUCCESS)
     Status: "MariaDB server is down"

mar 23 17:35:31 UGiocoso systemd[1]: mariadb.service: Failed with result 'exit-code'.
mar 23 17:35:31 UGiocoso systemd[1]: Failed to start MariaDB 10.3.25 database server.
mar 23 17:55:41 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:1: Assignment outside of section. Ignoring.
mar 23 17:55:41 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:2: Assignment outside of section. Ignoring.
mar 23 17:55:41 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:1: Assignment outside of section. Ignoring.
mar 23 17:55:41 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:2: Assignment outside of section. Ignoring.
mar 23 17:55:43 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:1: Assignment outside of section. Ignoring.
mar 23 17:55:43 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:2: Assignment outside of section. Ignoring.
mar 23 17:55:43 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:1: Assignment outside of section. Ignoring.
mar 23 17:55:43 UGiocoso systemd[1]: /etc/systemd/system/mysql.service.d/override.conf:2: Assignment outside of section. Ignoring.

Si riferisce alla versione precedente di MariaDB 10.3.25.

Citazione:
in ogni caso se funziona non toccare - la prima regola del sistemista

Su questo ci puoi giurare. Wink
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software per Internet Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi