Maison base de données tutoriel mysql MySQL 4.0 升级到5.0

MySQL 4.0 升级到5.0

Jun 07, 2016 pm 03:25 PM
mysql 升级 besoin

由于需要,从4.0直接升级到5.0,查看了一下changelog,发现主要有以下变化: 一、从 4.0 到 4.1 的主要变化 如果在4.1.0到4.1.3版本的MySQL中创建了包含 TIMESTAMP 字段的 InnoDB 表。则在升级到4.1.4及更高时需要重建表,因为存储格式发生变化了 字符串根据

由于需要,从4.0直接升级到5.0,查看了一下changelog,发现主要有以下变化:

一、从 4.0 到 4.1 的主要变化

  • 如果在4.1.0到4.1.3版本的MySQL中创建了包含 TIMESTAMP 字段的 InnoDB
    表。则在升级到4.1.4及更高时需要重建表,因为存储格式发生变化了
  • 字符串根据标准SQL来比较:比较之前不删除末尾的空格,以前用末尾空格扩展了比较短的字符串。现在的结果是
    'a' > 'a/t',以前则不这样。可以用 mysqlcheck 来检查一下数据表
  • TIMESTAMP 返回 'YYYY-MM-DD HH:MM:SS' 格式的字符串。在MySQL
    4.0中,可以增加选项 --new 来获得MySQL 4.1中这方面的特性
  • 在MySQL
    4.1.1前,语句解析器不是那么严格,它在处理字符串转时间转换时会忽略第一个数字前的其他字符。在4.1.1之后,就比较严格了
  • 返回结果是 DATE, DATETIME, 或 TIME 类型的函数的结果会被转换成时间型

二、再看从 4.1 到 5.0 的主要变化

  • InnoDB 和 MyISAM 表中空格结尾的 TEXT 字段索引顺序改变了。因此需要运行
    "CHECK TABLE" 语句修复数据表,如果出现错误,就运行 "OPTIMIZE TABLE" 或 "REPAIR
    TABLE" 语句修复,甚至重新转储(用mysqldump)
  • MySQL 5.0.15开始,如何处理 BINARY 字段中填充的值已经改变了。填充的值现在是
    0x00 而非空格了,并且在取值的时候不会去除末尾的空格
  • 从MySQL 5.0.3开始,DECIMAL 的实现方式已经改变了,5.0对 DECIMAL
    的格式限制严格多了
  • 在MySQL 5.0.3到5.0.5之间版本的 MyISAM 和 InnoDB 表中创建的 DECIMAL
    字段升级到5.0.6之后会发生崩溃
  • 在以前,等待超时的锁会导致 InnoDB
    回滚当前全部事务,从5.0.13开始,就只回滚最近的SQL语句了
  • 在4.1.13/5.0.8以前,DATETIME 的加0后就转换成 YYYYMMDDHHMMSS 格式,现在变成
    YYYYMMDDHHMMSS.000000 格式了
  • 从5.0.3开始,DECIMAL 用更有效的格式来存储
  • 5.0.3开始,在计算 DECIMAL 值和舍入精确值的时候采用精确数学
  • 4.1中,FLOAT 或 DOUBLE 之间的比较碰巧没问题,但在5.0中可能就不行了
  • 从5.0.3开始,VARCHAR 和 VARBINARY 字段中末尾的空格不再删除
  • 增加了一个新的启动选项 innodb_table_locks,它导致 LOCK TABLE 时也可以请求
    InnoDB 表锁。这个选项默认打开,不过可能在 AUTOCOMMIT=1 和 LOCK TABLES
    应用中会导致死锁

看来,我只需主要关注 时间(TIMESTAMP, DATETIME) 和<br> 数值型(<code>FLOAD, DOUBLE, DECIMAL) 这两种类型的变化;另外,我升级过程中暂时还不需要涉及到字符集问题,因此相对轻松一些。

升级步骤如下:

  • 执行
    FLUSH TABLES WITH READ LOCK;
    Copier après la connexion

    直接拷贝 MyISAM 表文件

  • mysqldump 导出 Innodb 类型的表

整个过程都很顺利,新系统启动之后,发现如下2个问题:

  • 新增了关键字 INOUT,因此需要检查表结构中还有其他什么字段使用关键字了
  • DATE_FORMAT 函数要求严谨多了,
    DATE_FORMAT('2006/11/24 09:14:00', '%Y-%m-%d %T')
    Copier après la connexion

    DATE_FORMAT('2006/11/2409:14:00', '%Y-%m-%d %T')
    Copier après la connexion

    的结果完全不一样,在 4.0 中,能兼容这两种格式,而在 5.0 中,只能正确的使用前者了,后者则会有问题。这也应该是上面提到的时间类型发生的变化所致。

到此为止,升级基本结束,大致检查了 DECIMAL 类型也没问题,剩下的就是检查其他的了。


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

CentOS installe MySQL CentOS installe MySQL Apr 14, 2025 pm 08:09 PM

L'installation de MySQL sur CENTOS implique les étapes suivantes: Ajout de la source MySQL YUM appropriée. Exécutez la commande YUM Install MySQL-Server pour installer le serveur MySQL. Utilisez la commande mysql_secure_installation pour créer des paramètres de sécurité, tels que la définition du mot de passe de l'utilisateur racine. Personnalisez le fichier de configuration MySQL selon les besoins. Écoutez les paramètres MySQL et optimisez les bases de données pour les performances.

Rôle de MySQL: Bases de données dans les applications Web Rôle de MySQL: Bases de données dans les applications Web Apr 17, 2025 am 12:23 AM

Le rôle principal de MySQL dans les applications Web est de stocker et de gérer les données. 1.MySQL traite efficacement les informations utilisateur, les catalogues de produits, les enregistrements de transaction et autres données. 2. Grâce à SQL Query, les développeurs peuvent extraire des informations de la base de données pour générer du contenu dynamique. 3.MySQL fonctionne basé sur le modèle client-serveur pour assurer une vitesse de requête acceptable.

See all articles