Recherche


imprimer pdf

Conversion des bases de données sous Mysql5


Chez OVH, les nouvelles bases de données créées seront sous Mysql5.

Les anciennes bases de données, sous le serveur Mysql4, pourront être supprimées puis recréées sous la version 5 de Mysql via le manager V3.

Opérations à effectuer avant basculement

Sauvegarder la base


Avant de basculer vos bases, définit en Mysql4, sous Mysq5, vous devez les sauvegarder.
Pour effectuer cette action, vous devez suivre ce guide :
http://guides.ovh.com/BackupBaseMySQL

Vider la base


Afin de pouvoir supprimer la base, il faut la vider.
Pour se faire, vous devez vous connecter à phpMyadmin et supprimer une à une chacune de vos tables.
Pour accéder à phpMyadmin, suivez ce guide :
http://guides.ovh.com/ToutSurPhpMyAdmin

Création de la base de données sous Mysql5

Connectez vous à votre manager V3 ensuite puis et enfin l'icône .
De cette page, vous avez la possibilité de supprimer n'importe quelle base en la sélectionnant via le menu déroulant.
Une fois la base supprimée, vous pouvez la recréer via l'icône .
Votre base sera alors sous Mysql5.

Récupérer sa base après basculement

Après avoir basculé votre base sous Mysql5, vous devez importer votre ancienne base.
Vous pouvez effectuer cette action en suivant ce guide :
http://guides.ovh.com/ImportBaseMySQL

Particularité

Normalement, vous ne devriez pas voir de problème pour importer vos bases créées sous Mysql4 sur un serveur Mysql5.
Cependant, vous ne pouvez pas utiliser de nom de table ayant une partie, ou la totalité, identique à des mots propres réservés à Mysql définit dans le tableau suivant :

ADD ALL ALTER
ANALYZE AND AS
ASC ASENSITIVE BEFORE
BETWEEN BIGINT BINARY
BLOB BOTH BY
CALL CASCADE CASE
CHANGE CHAR CHARACTER
CHECK COLLATE COLUMN
CONDITION CONNECTION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR
DATABASE DATABASES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL DECLARE
DEFAULT DELAYED DELETE
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW DIV
DOUBLE DROP DUAL
EACH ELSE ELSEIF
ENCLOSED ESCAPED EXISTS
EXIT EXPLAIN FALSE
FETCH FLOAT FLOAT4
FLOAT8 FOR FORCE
FOREIGN FROM FULLTEXT
GRANT GROUP HAVING
HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE
HOUR_SECOND IF IGNORE
IN INDEX INFILE
INNER INOUT INSENSITIVE
INSERT INT INT1
INT2 INT3 INT4
INT8 INTEGER INTERVAL
INTO IS ITERATE
JOIN KEY KEYS
KILL LEADING LEAVE
LEFT LIKE LIMIT
LINES LOAD LOCALTIME
LOCALTIMESTAMP LOCK LONG
LONGBLOB LONGTEXT LOOP
LOW_PRIORITY MATCH MEDIUMBLOB
MEDIUMINT MEDIUMTEXT MIDDLEINT
MINUTE_MICROSECOND MINUTE_SECOND MOD
MODIFIES NATURAL NOT
NO_WRITE_TO_BINLOG NULL NUMERIC
ON OPTIMIZE OPTION
OPTIONALLY OR ORDER
OUT OUTER OUTFILE
PRECISION PRIMARY PROCEDURE
PURGE RAID0 READ
READS REAL REFERENCES
REGEXP RELEASE RENAME
REPEAT REPLACE REQUIRE
RESTRICT RETURN REVOKE
RIGHT RLIKE SCHEMA
SCHEMAS SECOND_MICROSECOND SELECT
SENSITIVE SEPARATOR SET
SHOW SMALLINT SONAME
SPATIAL SPECIFIC SQL
SQLEXCEPTION SQLSTATE SQLWARNING
SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT
SSL STARTING STRAIGHT_JOIN
TABLE TERMINATED THEN
TINYBLOB TINYINT TINYTEXT
TO TRAILING TRIGGER
TRUE UNDO UNION
UNIQUE UNLOCK UNSIGNED
UPDATE USAGE USE
USING UTC_DATE UTC_TIME
UTC_TIMESTAMP VALUES VARBINARY
VARCHAR VARCHARACTER VARYING
WHEN WHERE WHILE
WITH WRITE X509
XOR YEAR_MONTH ZEROFILL


De plus, certains CMS et notemment oscommerce utilisent la version 4 de Mysql en exécutant des requêtes mal formées qui ne sont plus acceptées sous Mysql5.

Pour remédier au problème, une mise à jour des CMS doit être mise en place.

Pour oscommerce par exemple, vous devez suivre les indications présentes sur la page suivante :
http://www.oscommerce-fr.info/portail/index.php?option=com_content&task=view&id=121&Itemid=2

Tableau comparatif entre les différentes versions de Mysql :