Erreur XAMPP : Exception EAccessViolation in module xampp-control.exe at address in module 'xampp-control.exe'. Read of adress
Mot-clé - mariadb
[ERROR] Failed to open the relay log [ERROR] Could not find target log during relay log initialization [ERROR] Initialized Master_info from [ERROR] Failed to create a new master info file [ERROR] Failed to initialize multi master structures - Aborting
Visiblement, suite à changement de configuration réseau DHCP et nom d'hôte, impossible de lancer le serveur MySQL MariaDB.
Puisque je n'avais pas besoin de la réplication,
en modifiant, le my.ini, et rajoutant :
slave_sql_verify_checksum = OFF
et supprimant : master-xxx.info mysql-relay-xxx.index relay-log-xxx.info
le serveur se relance :
[ERROR] mysqld.exe: Index for table '.\mysql\db' is corrupt; try to repair it Couldn't repair table: mysql.db
Aie ! C'est le drame, MySQL / MariaDB ne se lance plus sous mon installation XAMPP, et le fichier de log (mysql\data\mysql_error.log), indique :
[ERROR] mysqld.exe: Table '.\mysql\db' is marked as crashed and should be repaired [ERROR] mysqld.exe: Index for table '.\mysql\db' is corrupt; try to repair it [ERROR] Couldn't repair table: mysql.db [ERROR] Fatal error: Can't open and lock privilege tables: Index for table 'db' is corrupt; try to repair it
SQL "matching found rows" vs "affected rows"
Lors de modifications (UPDATE, DELETE) comment différencier le nombre d'enregistrement qui matche au critère WHERE et le nombre d'enregistrement réellement modifiés par la requête ?
- "found (matched) rows" le nombre d'enregistrements trouvés (potentiellement modifiable)
- "affected (changed) rows" le nombre d'enregistrements véritablement changés parmi les trouvés
MariaDB variables
Accès aux variables de status, système, session, globales, utilisateur.
Réplication MariaDB
Petites notes sur la réplication avec MariaDB
MariaDB DEFAULT column VALUE
How to retrieve default column value ? Simply using the miscellaneous DEFAULT(col_name) function.
REPLACE INTO vs ON DUPLICATE KEY UPDATE
Which (non-standard) statement is better faster?
- REPLACE INTO ...
- INSERT INTO ... ON DUPLICATE KEY UPDATE ...
MariaDB Connector/Java You need to set exactly 1 parameters on the prepared statement
Exception in thread "main" java.sql.SQLException: You need to set exactly 1 parameters on the prepared statement Query is : INSERT INTO my_table (my_col) VALUES ('m_val')null; Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: You need to set exactly 1 parameters on the prepared statement Query is : INSERT INTO my_table (my_col) VALUES ('m_val')null;
sql occurence char count
Comment compter le nombre d’occurrence d'un caractère dans une colonne ?
SET @string = "Bonjour ""Mr Vinal""; il fait beau l'été, l'automne et l'hivers, n'est ce pas ?"; SELECT SUM( LENGTH(@string ) ) AS total_length, SUM( LENGTH(@string) - LENGTH(replace(@string, ',', '')) ) AS coma_virgule, SUM( LENGTH(@string) - LENGTH(replace(@string, '''', '')) ) AS quote_cote, SUM( LENGTH(@string) - LENGTH(replace(@string, '"', '')) ) AS double_quote_cote, SUM( LENGTH(@string) - LENGTH(replace(@string, ';', '')) ) AS semicolon_point_virgule ; /* +--------------+--------------+------------+-------------------+-------------------------+ | total_length | coma_virgule | quote_cote | double_quote_cote | semicolon_point_virgule | +--------------+--------------+------------+-------------------+-------------------------+ | 79 | 2 | 4 | 2 | 1 | +--------------+--------------+------------+-------------------+-------------------------+ */
MariaDB fonctions de date et de temps
Comment gérer ses dates avec MariaDB, soustraire des dates, ajouter des intervalles de temps, ...
... extraire les secondes, minutes, jours, semaines, mois, ans...
sql_log.sh
Petit script pour activer les logs des requêtes SQL (MariaDB, MySQL).
Usage :
./sql_log.sh OFF
./sql_log.sh ON
tail -f /var/lib/mysql/hostname.log
MariaDB
Java JDBC paramètre nommé
En remplacement du paramètre "?" pour injecter les valeurs dans un Statement, comment utiliser les paramètres nommés de requête(PreparedStatement) avec JDBC ? (pas les requêtes nommées de JPA, ni les paramètres de procédures CALL)
MySQL 4, 5 et 8 versions
De nombreux changement sont intervenus depuis la version 3.23, 4.0, 4.1, 5.0, 5.1, 5.5, 5.6, 5.7, 8 et 8.1, 8.2, 8.3 de MySQL
Comportement du mysql-connector-java selon la variable sql_mode='STRICT_TRANS_TABLES'
Selon les versions du connecteur java MySQL ou MariaDB, le comportement diffère et cela est principalement du au "sql_mode" utilisé par le connecteur.