Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6984

Can't migrate from MySQL 5.6.21 to MariaDB 10

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 10.0.14
    • 10.0.15
    • Platform Windows
    • None
    • Windows 8.1 x64

    Description

      Can't migrate from MySQL 5.6.21 to MariaDB 10.0.14. Wizard (or commad line tool) on Phase 5 throws FATAL ERROR code 1 (and no logs created).

      Attachments

        Activity

          elenst Elena Stepanova added a comment - - edited

          Thanks for the report.

          The problem itself is generic, but it's most visible on Windows due to the specific upgrade process.

          Here is how mysql_upgrade_service works (skipping irrelevant details):

          • stop server;
          • start server with skip-grant-tables;
          • run mysql_upgrade;
          • stop server;
          • start server normally.

          It runs the server with skip-grant-tables, so it doesn't need to care about valid username/password, which it has nowhere to take from.

          It worked fine till recently. But starting from the following revision

          revno: 4336
          revision-id: sergii@pisem.net-20140806112744-qb444e3qz83564db
          fixes bug: https://mariadb.atlassian.net/browse/MDEV-6535
          committer: Sergei Golubchik <sergii@pisem.net>
          branch nick: 10.0
          timestamp: Wed 2014-08-06 13:27:44 +0200
          message:
            MDEV-6535 Ordering of mysql_upgrade tasks is not optimal
            
            first update system tables, then the rest

          things changed. Now mysql_upgrade starts by fixing privilege tables, which ends with FLUSH PRIVILEGES (it used to be run at the end). After that, when next steps are attempted, they can't be executed because privilege checks are back in place, while mysql_upgrade and its children don't use a valid account.

          elenst Elena Stepanova added a comment - - edited Thanks for the report. The problem itself is generic, but it's most visible on Windows due to the specific upgrade process. Here is how mysql_upgrade_service works (skipping irrelevant details): stop server; start server with skip-grant-tables; run mysql_upgrade; stop server; start server normally. It runs the server with skip-grant-tables, so it doesn't need to care about valid username/password, which it has nowhere to take from. It worked fine till recently. But starting from the following revision revno: 4336 revision-id: sergii@pisem.net-20140806112744-qb444e3qz83564db fixes bug: https://mariadb.atlassian.net/browse/MDEV-6535 committer: Sergei Golubchik <sergii@pisem.net> branch nick: 10.0 timestamp: Wed 2014-08-06 13:27:44 +0200 message: MDEV-6535 Ordering of mysql_upgrade tasks is not optimal first update system tables, then the rest things changed. Now mysql_upgrade starts by fixing privilege tables, which ends with FLUSH PRIVILEGES (it used to be run at the end). After that, when next steps are attempted, they can't be executed because privilege checks are back in place, while mysql_upgrade and its children don't use a valid account.
          serg Sergei Golubchik added a comment - - edited

          elenst, Isn't this the same with 5.6? They also run run_sql_fix_privilege_tables() before upgrading user tables and it also includes flush privileges.

          serg Sergei Golubchik added a comment - - edited elenst , Isn't this the same with 5.6? They also run run_sql_fix_privilege_tables() before upgrading user tables and it also includes flush privileges .

          Maybe, I can check it if it helps.
          But mysql_upgrade_service only exists in MariaDB, so whatever they run, I doubt it works exactly the same way. Maybe they don't rely on anonymous access but use some kind of a service account, like our deb packages do. Or maybe they don't run it at all and leave it to the user to do it manually.

          elenst Elena Stepanova added a comment - Maybe, I can check it if it helps. But mysql_upgrade_service only exists in MariaDB, so whatever they run, I doubt it works exactly the same way. Maybe they don't rely on anonymous access but use some kind of a service account, like our deb packages do. Or maybe they don't run it at all and leave it to the user to do it manually.
          alishchytovych Andriy added a comment -

          Any delivery date defined?

          alishchytovych Andriy added a comment - Any delivery date defined?

          It's fairly high priority (was Blocker, even though I've just downgraded it to Critical). Normally it means that it will be in the next 10.0 release (see http://mariadb.org/jira for the release schedule).

          serg Sergei Golubchik added a comment - It's fairly high priority (was Blocker, even though I've just downgraded it to Critical). Normally it means that it will be in the next 10.0 release (see http://mariadb.org/jira for the release schedule).

          People

            serg Sergei Golubchik
            alishchytovych Andriy
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.