<div id="docs-body">
 <div class="section">
  <div class="titlepage">
   <div>
    <div>
     <h2 class="title">
      <a name="upgrade-before-you-begin">
      </a>
      3.1 Before You Begin
     </h2>
    </div>
   </div>
  </div>
  <p>
   Review the information in this section before upgrading. Perform
      any recommended actions.
  </p>
  <div class="itemizedlist">
   <ul class="itemizedlist" style="list-style-type: disc; ">
    <li class="listitem">
     <p>
      Understand what may occur during an upgrade. See
      <a class="xref" href="upgrading-what-is-upgraded.html" title="3.4 What the MySQL Upgrade Process Upgrades">
       Section 3.4, “What the MySQL Upgrade Process Upgrades”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      Protect your data by creating a backup. The backup should
          include the
      <code class="literal">
       mysql
      </code>
      system database, which
          contains the MySQL data dictionary tables and system tables.
          See
      <a class="xref" href="backup-methods.html" title="9.2 Database Backup Methods">
       Section 9.2, “Database Backup Methods”
      </a>
      .
     </p>
     <div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
      <div class="admon-title">
       Important
      </div>
      <p>
       Downgrade from MySQL 8.4 to MySQL
            8.3, or from a MySQL 8.4 release
            to a previous MySQL 8.4 release, is not
            supported. The only supported alternative is to restore a
            backup taken
       <span class="emphasis">
        <em>
         before
        </em>
       </span>
       upgrading. It is
            therefore imperative that you back up your data before
            starting the upgrade process.
      </p>
     </div>
    </li>
    <li class="listitem">
     <p>
      Review
      <a class="xref" href="upgrade-paths.html" title="3.2 Upgrade Paths">
       Section 3.2, “Upgrade Paths”
      </a>
      to ensure that your
          intended upgrade path is supported.
     </p>
    </li>
    <li class="listitem">
     <p>
      Review
      <a class="xref" href="upgrading-from-previous-series.html" title="3.5 Changes in MySQL 8.4">
       Section 3.5, “Changes in MySQL 8.4”
      </a>
      for
          changes that you should be aware of before upgrading. Some
          changes may require action.
     </p>
    </li>
    <li class="listitem">
     <p>
      Review
      <a class="xref" href="mysql-nutshell.html" title="1.4 What Is New in MySQL 8.4 since MySQL 8.0">
       Section 1.4, “What Is New in MySQL 8.4 since MySQL 8.0”
      </a>
      for deprecated and
          removed features. An upgrade may require changes with respect
          to those features if you use any of them.
     </p>
    </li>
    <li class="listitem">
     <p>
      Review
      <a class="xref" href="added-deprecated-removed.html" title="1.5 Server and Status Variables and Options Added, Deprecated, or Removed in MySQL 8.4 since 8.0">
       Section 1.5, “Server and Status Variables and Options Added, Deprecated, or Removed in
    MySQL 8.4 since 8.0”
      </a>
      . If you use
          deprecated or removed variables, an upgrade may require
          configuration changes.
     </p>
    </li>
    <li class="listitem">
     <p>
      Review the
      <a class="ulink" href="/doc/relnotes/mysql/8.4/en/" target="_top">
       Release
          Notes
      </a>
      for information about fixes, changes, and new
          features.
     </p>
    </li>
    <li class="listitem">
     <p>
      If you use replication, review
      <a class="xref" href="replication-upgrade.html" title="19.5.3 Upgrading or Downgrading a Replication Topology">
       Section 19.5.3, “Upgrading or Downgrading a Replication Topology”
      </a>
      .
     </p>
    </li>
    <li class="listitem">
     <p>
      Review
      <a class="xref" href="upgrade-best-practices.html" title="3.3 Upgrade Best Practices">
       Section 3.3, “Upgrade Best Practices”
      </a>
      and plan
          accordingly.
     </p>
    </li>
    <li class="listitem">
     <p>
      Upgrade procedures vary by platform and how the initial
          installation was performed. Use the procedure that applies to
          your current MySQL installation:
     </p>
     <div class="itemizedlist">
      <ul class="itemizedlist" style="list-style-type: circle; ">
       <li class="listitem">
        <p>
         For binary and package-based installations on non-Windows
              platforms, refer to
         <a class="xref" href="upgrade-binary-package.html" title="3.7 Upgrading MySQL Binary or Package-based Installations on Unix/Linux">
          Section 3.7, “Upgrading MySQL Binary or Package-based Installations on Unix/Linux”
         </a>
         .
        </p>
        <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
         <div class="admon-title">
          Note
         </div>
         <p>
          For supported Linux distributions, the preferred method
                for upgrading package-based installations is to use the
                MySQL software repositories (MySQL Yum Repository, MySQL
                APT Repository, and MySQL SLES Repository).
         </p>
        </div>
       </li>
       <li class="listitem">
        <p>
         For installations on an Enterprise Linux platform or
              Fedora using the MySQL Yum Repository, refer to
         <a class="xref" href="updating-yum-repo.html" title="3.8 Upgrading MySQL with the MySQL Yum Repository">
          Section 3.8, “Upgrading MySQL with the MySQL Yum Repository”
         </a>
         .
        </p>
       </li>
       <li class="listitem">
        <p>
         For installations on Ubuntu using the MySQL APT
              repository, refer to
         <a class="xref" href="updating-apt-repo.html" title="3.9 Upgrading MySQL with the MySQL APT Repository">
          Section 3.9, “Upgrading MySQL with the MySQL APT Repository”
         </a>
         .
        </p>
       </li>
       <li class="listitem">
        <p>
         For installations on SLES using the MySQL SLES repository,
              refer to
         <a class="xref" href="updating-sles-repo.html" title="3.10 Upgrading MySQL with the MySQL SLES Repository">
          Section 3.10, “Upgrading MySQL with the MySQL SLES Repository”
         </a>
         .
        </p>
       </li>
       <li class="listitem">
        <p>
         For installations performed using Docker, refer to
         <a class="xref" href="upgrade-docker-mysql.html" title="3.12 Upgrading a Docker Installation of MySQL">
          Section 3.12, “Upgrading a Docker Installation of MySQL”
         </a>
         .
        </p>
       </li>
       <li class="listitem">
        <p>
         For installations on Windows, refer to
         <a class="xref" href="windows-upgrading.html" title="3.11 Upgrading MySQL on Windows">
          Section 3.11, “Upgrading MySQL on Windows”
         </a>
         .
        </p>
       </li>
      </ul>
     </div>
    </li>
    <li class="listitem">
     <p>
      If your MySQL installation contains a large amount of data
          that might take a long time to convert after an in-place
          upgrade, it may be useful to create a test instance for
          assessing the conversions that are required and the work
          involved to perform them. To create a test instance, make a
          copy of your MySQL instance that contains the
      <code class="literal">
       mysql
      </code>
      database and other databases without
          the data. Run the upgrade procedure on the test instance to
          assess the work involved to perform the actual data
          conversion.
     </p>
    </li>
    <li class="listitem">
     <p>
      Rebuilding and reinstalling MySQL language interfaces is
          recommended when you install or upgrade to a new release of
          MySQL. This applies to MySQL interfaces such as PHP
      <code class="literal">
       mysql
      </code>
      extensions and the Perl
      <code class="literal">
       DBD::mysql
      </code>
      module.
     </p>
    </li>
   </ul>
  </div>
 </div>
 <br/>
</div>
