#1 Le 29/08/2020, à 15:40
- rcl31
[Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Bonjour à tous et merci d'avance pour votre support.
J'utilise le logiciel Filmotech pour gérer la bibliothèque de DVD BRay de mon père. Une des magnifiques options de ce logiciel est une fonction qui permet de publier cette bibliothèque sur le web en utilisant une base MySQL et un serveur web.
J'ai configuré sans problème serveur apache et base de données sur le Mac de mon Père. La structure de la table est celle ci:
mysql>
mysql> SHOW COLUMNS FROM `fmt_table_film`
-> ;
+--------------------+--------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------------------+-------+
| ID | bigint | NO | PRI | NULL | |
| DateHeureMAJ | datetime | NO | | 0000-00-00 00:00:00 | |
| TitreVF | varchar(255) | NO | MUL | | |
| TitreVO | varchar(255) | NO | | | |
| Genre | varchar(50) | NO | | | |
| Pays | varchar(255) | NO | | | |
| Annee | varchar(10) | NO | | | |
| Duree | int | NO | | 0 | |
| Note | int | NO | | 0 | |
| Synopsis | text | YES | | NULL | |
| Acteurs | text | YES | | NULL | |
| Realisateurs | text | YES | | NULL | |
| Commentaires | text | YES | | NULL | |
| Support | varchar(50) | NO | | | |
| NombreSupport | int | NO | | 0 | |
| Edition | varchar(255) | NO | | | |
| Zone | varchar(10) | NO | | | |
| Langues | varchar(255) | NO | | | |
| SousTitres | varchar(255) | NO | | | |
| Audio | varchar(255) | NO | | | |
| Bonus | text | YES | | NULL | |
| EntreeType | varchar(255) | NO | | | |
| EntreeSource | varchar(255) | NO | | | |
| EntreeDate | date | NO | | 0000-00-00 | |
| EntreePrix | float | NO | | 0 | |
| Sortie | varchar(10) | NO | | | |
| SortieType | varchar(255) | NO | | | |
| SortieDestinataire | varchar(255) | NO | | | |
| SortieDate | date | NO | | 0000-00-00 | |
| SortiePrix | float | NO | | 0 | |
| PretEnCours | varchar(10) | NO | | | |
| FilmVu | varchar(5) | NO | | NON | |
| Reference | varchar(255) | NO | | | |
| BAChemin | varchar(255) | NO | | | |
| BAType | varchar(10) | NO | | | |
| MediaChemin | varchar(255) | NO | | | |
| MediaType | varchar(10) | NO | | | |
+--------------------+--------------+------+-----+---------------------+-------+
37 rows in set (0.01 sec)
mysql>
Ca coince sur l'installation que je fais chez moi en localhost.
Je suis sur Kubuntu 20.04.1.
PHP Version => 7.4.3
Server version: Apache/2.4.41 (Ubuntu)
mysql Ver 8.0.21-0ubuntu0.20.04.4
Filmotech ne tourne que sur Windows ou Mac.
J'utilise Virtual Box pour virtualiser une instal Windows10 en partage réseau avec ma Kubuntu hôte.
Côté Windows tout semble bien se passer, pourtant la base sous MySQL ne se met pas à jour!
Sous Kubuntu:
/var/log/apache2/error.log Ne donne rien
J'ai activé SET GLOBAL general_log = 'ON' sur mysql
qui me donne:
2020-08-29T14:11:42.589996Z 266 Connect remiforsql@localhost on maBase using Socket
2020-08-29T14:11:42.590163Z 266 Query SET NAMES utf8mb4
2020-08-29T14:11:42.590267Z 266 Query SET NAMES UTF8
2020-08-29T14:11:42.590520Z 266 Query INSERT INTO fmt_table_film(ID, DateHeureMAJ, TitreVF, TitreVO, Genre, Pays, Annee, Duree, Note, Synopsis, Acteurs
, Realisateurs, Commentaires, Support, NombreSupport, Edition, Zone, Langues, SousTitres, Audio, Bonus, EntreeType, EntreeSource, EntreeDate, EntreePrix, Sortie,
SortieType, SortieDestinataire, SortieDate, SortiePrix, PretEnCours, FilmVu, Reference, BAChemin, BAType, MediaChemin, MediaType) VALUES('1', '2020-08-26 17:44:
43', 'L\'Etalon noir (Édition Digibook Collector + Livret)', 'The Black Stallion', 'Animaux / Aventure / Pour enfants', 'USA', '1979', '113', '10', 'Lors d\'un t
errible naufrage, le jeune Alec Ramsey se découvre un sauveteur peu ordinaire : un superbe étalon d\'Arabie, noir comme l\'ebène. L\'enfant et le cheval parvienn
ent à se réfugier sur une île. Sauvés et ramenés en Amérique, ils rencontrent un vieux dresseur de chevaux qui devine toute la force de l\'animal et fait d\'Alec
un jockey et les prépare à affronter les meilleurs pur-sang du monde dans la \"course du siècle\"…', 'Kelly Reno
2020-08-29T14:11:42.591421Z 266 Quit
2020-08-29T14:11:42.638949Z 267 Connect remiforsql@localhost on maBase using Socket
2020-08-29T14:11:42.639121Z 267 Query SET NAMES utf8mb4
2020-08-29T14:11:42.639214Z 267 Query SET NAMES UTF8
2020-08-29T14:11:42.639501Z 267 Quit
2020-08-29T14:12:09.223110Z 10 Query SET GLOBAL general_log = 'OFF'
Pour autant la base reste vide.
Je cherche à debugger un peu plus mais je ne sais pas aller plus loin que ce qui est cité ci-dessus.
Merci pour votre aide
Dernière modification par rcl31 (Le 11/11/2021, à 15:13)
Hors ligne
#2 Le 31/08/2020, à 12:58
- J5012
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
tu dois avoir un reseau commun entre w/vbox et kubuntu
le navigateur internet de w doit voir la page serveur chez kubuntu , c'est le cas ?
Hors ligne
#3 Le 01/09/2020, à 20:10
- bruno
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Il faut surtout que l'utilisateur MySQL qui a les droits sur la base de données soit autorisé se connecter depuis autre chose que localhost et que le serveur MySQL ne soit pas en écoute uniquement sur l'interface de bouclage (127.0.0.1).
#4 Le 04/09/2020, à 08:34
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
tu dois avoir un reseau commun entre w/vbox et kubuntu
le navigateur internet de w doit voir la page serveur chez kubuntu , c'est le cas ?
Bonjour, oui c'est bien ca. Je peux voir la page "Apache2 Ubuntu Default Page" depuis Windows.
Hors ligne
#5 Le 04/09/2020, à 09:43
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Il faut surtout que l'utilisateur MySQL qui a les droits sur la base de données soit autorisé se connecter depuis autre chose que localhost et que le serveur MySQL ne soit pas en écoute uniquement sur l'interface de bouclage (127.0.0.1).
Bonjour,
J'ai fait quelques tests.
Ma Vbox/Windows était configurée en mode NAT,
Je l'ai changé en mode routeur (Windows guest a maintenant une adresse réseau donnée par le DHCP). Même un suivant le tuto (config de blind-address dans mysqld.cnf et creation de l'utilisateur MySQL qui va bien) ca ne change pas le pb.
A noter que lorsque les demandes de maj de la base sont des suppressions de champs cela fonctionne.
Ca semble bien être un problème d'écriture.
Hors ligne
#6 Le 04/09/2020, à 09:54
- bruno
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Donc si je comprends bien, la connexion à la base de données fonctionne et tu peux supprimer des enregistrements dans les tables mais pas en ajouter. Est-ce bien cela ?
Dans ce cas c'est un problème de droits (privileges dans le jargon SQL) de l'utilisateur MySQL sur sa base de données.
Voir la section 3.7 de la doc MySQL pour accorder tous les privilèges à un utilisateur sur une base de données.
#7 Le 06/09/2020, à 14:18
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Merci Bruno,
Effectivement la définition de mon utilisateur MySQL distant et privilèges associées n'est pas propre. Il faut que je regarde ca plus en détail.
A bientôt donc
Hors ligne
#8 Le 11/09/2020, à 16:18
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Bonjour à tous,
J'ai pu m'y remettre.
Donc serveur web/mysql Kubuntu: ip 192.168.1.39
Machine cliente windows: ip 192.168.1.21
Sous kubuntu, creation de l'utilisateur dans mysql:
CREATE USER 'remiforsql'@'%' IDENTIFIED BY '************';
GRANT ALL ON mesfilms.* TO 'remiforsql'@'%';
FLUSH PRIVILEGES;
+------------------+--------------+-----------------------+
| user | host | plugin |
+------------------+--------------+-----------------------+
| remiforsql | % | caching_sha2_password |
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| remiforsql | localhost | caching_sha2_password |
| root | localhost | auth_socket |
+------------------+--------------+-----------------------+
Sous windows:
Connexion possible en lançant la commande:
mysql -u remiforsql -p -h 192.168.1.39
Je peux acceder à ma base et la modifier, donc bingo.
Par contre, j'ai toujours ce problème avec la publication de Filmotech. La table et les films ne se crée pas dans la base alors que tout à l'air normal
Quand je regarde les log, Flimotech se connecte avec un nom d'utilisateur: remiforsql@192.168.1.39!
Ce que je ne m'explique pas puisque ma machine cliente est 192.1.168.1.21 (?).
Bon ca marche probablement parce que j'ai créé un utilisateur en autorisant l'accès venant de toutes machines 'remiforsql'@'%'
Voir les log:
2020-09-11T14:54:32.740844Z 80 Connect remiforsql@192.168.1.39 on mesfilms using TCP/IP
2020-09-11T14:54:32.741019Z 80 Query SET NAMES utf8mb4
2020-09-11T14:54:32.741133Z 80 Query SET NAMES UTF8
2020-09-11T14:54:32.741402Z 80 Query CREATE TABLE IF NOT EXISTS `fmt_table_film` ( `ID` bigint(20) NOT NULL, `DateHeureMAJ` datetime NOT NULL default
'0000-00-00 00:00:00', `TitreVF` varchar(255) NOT NULL default '', `TitreVO` varchar(255) NOT NULL default '', `Genre` varchar(50) NOT NULL default '', `Pays` va
rchar(255) NOT NULL default '', `Annee` varchar(10) NOT NULL default '', `Duree` int(11) NOT NULL default '0', `Note` int(11) NOT NULL default '0', `Synopsis` te
xt, `Acteurs` text, `Realisateurs` text, `Commentaires` text, `Support` varchar(50) NOT NULL default '', `NombreSupport` int(11) NOT NULL default '0', `Edition`
varchar(255) NOT NULL default '', `Zone` varchar(10) NOT NULL default '', `Langues` varchar(255) NOT NULL default '', `SousTitres` varchar(255) NOT NULL default
'', `Audio` varchar(255) NOT NULL default '', `Bonus` text, `EntreeType` varchar(255) NOT NULL default '', `EntreeSource` varchar(255) NOT NULL default '', `Entr
eeDate` date NOT NULL default '0000-00-00', `EntreePrix` float NOT NULL default '0', `Sortie` varchar(10) NOT NULL default '', `SortieType` varchar(255) NOT NULL
default '', `SortieDestinataire` varchar(255) NOT NULL default '', `SortieDate` date NOT NULL default '0000-00-00', `SortiePrix` float NOT NULL default '0', `Pr
etEnCours` varchar(10) NOT NULL default '', `FilmVu` varchar(5) NOT NULL default 'NON', `Reference` varchar(255) NOT NULL default '', `BAChemin` varchar(255) NOT
NULL default '', `BAType` varchar(10) NOT NULL default '', `MediaChemin` varchar(255) NOT NULL default '', `MediaType` varchar(10) NOT NULL default '', PRIMARY
KEY (`ID`), KEY `TitreVF` (`TitreVF`) ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci
2020-09-11T14:54:32.742070Z 80 Quit
2020-09-11T14:54:32.778971Z 81 Connect remiforsql@192.168.1.39 on mesfilms using TCP/IP
2020-09-11T14:54:32.779234Z 81 Query SET NAMES utf8mb4
2020-09-11T14:54:32.779366Z 81 Query SET NAMES UTF8
2020-09-11T14:54:32.779528Z 81 Query SELECT ID, DateHeureMAJ FROM fmt_table_film
2020-09-11T14:54:32.780098Z 81 Quit
2020-09-11T14:54:35.074557Z 82 Connect remiforsql@192.168.1.39 on mesfilms using TCP/IP
2020-09-11T14:54:35.074759Z 82 Query SET NAMES utf8mb4
2020-09-11T14:54:35.074853Z 82 Query SET NAMES UTF8
2020-09-11T14:54:35.075063Z 82 Query INSERT INTO fmt_table_film(ID, DateHeureMAJ, TitreVF, TitreVO, Genre, Pays, Annee, Duree, Note, Synopsis, Acteurs
, Realisateurs, Commentaires, Support, NombreSupport, Edition, Zone, Langues, SousTitres, Audio, Bonus, EntreeType, EntreeSource, EntreeDate, EntreePrix, Sortie,
SortieType, SortieDestinataire, SortieDate, SortiePrix, PretEnCours, FilmVu, Reference, BAChemin, BAType, MediaChemin, MediaType) VALUES('1', '2020-09-06 07:47:
57', 'L\'Etalon noir (Édition Digibook Collector + Livret)', 'The Black Stallion', 'Animaux / Aventure / Pour enfants', 'USA', '1979', '113', '10', 'Lors d\'un t
errible naufrage, le jeune Alec Ramsey se découvre un sauveteur peu ordinaire : un superbe étalon d\'Arabie, noir comme l\'ebène. L\'enfant et le cheval parvienn
ent à se réfugier sur une île. Sauvés et ramenés en Amérique, ils rencontrent un vieux dresseur de chevaux qui devine toute la force de l\'animal et fait d\'Alec
un jockey et les prépare à affronter les meilleurs pur-sang du monde dans la \"course du siècle\"…', 'Kelly Reno
2020-09-11T14:54:35.075941Z 82 Quit
2020-09-11T14:54:35.097413Z 83 Connect remiforsql@192.168.1.39 on mesfilms using TCP/IP
2020-09-11T14:54:35.097581Z 83 Query SET NAMES utf8mb4
2020-09-11T14:54:35.097669Z 83 Query SET NAMES UTF8
2020-09-11T14:54:35.097878Z 83 Quit
2020-09-11T14:54:53.523264Z 76 Query SET GLOBAL general_log = 'OFF'
Donc j'en suis toujours au même point.
Une idée pour debugger plus en détail ?
Merci
Hors ligne
#9 Le 17/09/2020, à 07:50
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
UP merci
Hors ligne
#10 Le 17/09/2020, à 09:24
- bruno
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Visiblement le problème se situe au niveau du logiciel utilisé Flimotech (qui au passage utilise le moteur obsolète MyISAM) et non du serveur MySQL.
À voir donc avec l’assistance de ce logiciel.
#11 Le 17/09/2020, à 12:13
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Bonjour Bruno,
effectivement j'ai posé la question sur le forum de filmotheque. C'est en cours.
Par contre, je me demandais si il y avait quelque chose à faire en plus pour debugger . C'est quand même étonnant qu'il n'y ait pas de message d'erreur quelque part .
Une idée ?
Hors ligne
#12 Le 17/09/2020, à 13:21
- bruno
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
C'est justement parce qu'il n'y pas d'erreurs dans les logs que je pense que le problème vient du logiciel utilisé (mieux vaut utiliser des logiciels libres).
Le seul truc c'est que la requêt d'insertion dans les logs est tronquée, mais là non plus pas d'erreur… Tu as regardé le error.log de MySQL ?
#13 Le 17/09/2020, à 16:25
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
oui, ils sont vides
Hors ligne
#14 Le 11/11/2021, à 15:10
- rcl31
Re : [Résolu] Filmotech, probleme d'ecriture sur la base Mysql
Problème résolu en passant de mysql Ver 8.0.21-0ubuntu0.20.04.4 à MariaDB 10.3.3.
Hors ligne