Troubleshoot MySQL

If you have a G Suite Migrate project that lasts more than a year, you might see the following Oracle MySQL error in the service host logs:

[MySqlException; HRESULT -2147467259] : Your password has expired. To log in you must change it using a client that supports expired passwords.

This error occurs because MySQL passwords expire by default after approximately a year. How you resolve this issue depends on whether you securely saved the MySQL password.

I have the MySQL password

In the steps below, substitute the MySQL password in place of <password>.

  1. Log in to the MySQL machine (using, for example, Remote Desktop).
  2. Open a command prompt (CMD) window and enter C:\MySQL\bin\mysql.exe -u root -p<password>.

    Note: There is no space between -p and the password.

  3. Enter:
    ALTER USER USER() IDENTIFIED BY '<password>';
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    ALTER USER 'migrate'@'%' PASSWORD EXPIRE NEVER;
  4. On the platform server, restart the G Suite Migrate service and connect normally.

I don’t have the MySQL password

Open all   |   Close all

Step 1: Generate a new password

In the steps below, substitute your new MySQL password in place of <new-password>.

  1. Remotely connect to the MySQL machine.
  2. Open an elevated command prompt and go to C:\MySQL\bin.
  3. Enter net stop MySQL57
  4. Enter echo|set /p="UPDATE mysql.user SET authentication_string=password('<new_password>') WHERE user='migrate';" > password-reset-init.txt.
  5. Record the new password in a secure location. You'll need it in step 2.
  6. Enter mysqld --defaults-file="C:\MySQL\my.ini" --init-file="C:\MySQL\bin\password-reset-init.txt" --console --skip-grant-tables.
  7. When logging stops, press Ctrl+Pause or Ctrl+Break to end the command. 
  8. Enter del password-reset-init.txt to delete the init file. 
  9. Enter net start MySQL57 to restart MySQL. 
Note: If you complete these steps and your new password still shows as expired, complete the steps above in I have the MySQL password using the new password.
Step 2: Update the platform

Select a method below based on whether you can access the G Suite Migrate platform or not.

I can access the G Suite Migrate platform

  1. In the G Suite Migrate platform, in the top-right corner, click Settings ""and thenDatabase settings.
  2. Enter the updated password for MySQL and the Apache CouchDB software. Both passwords are required. 
  3. Click Continue and proceed to step 3 below.

I can’t access the G Suite Migrate platform

  1. Sign in to the machine that is running the platform. 
  2. On the taskbar, right-click "" and select Edit host settings
  3. Under MySQL settings, in the Password field, enter the new password.
  4. Click Save & Closeand thenOK
  5. On the taskbar, right-click "" and select Start G Suite Migrate service.
  6. Proceed to step 3 below.
Step 3: Associate the nodes
  1. In the G Suite Migrate platform, in the top-right corner, click Servers
  2. Select all the nodes and click Delete "".
  3. Add the nodes manually or using a CSV file. For details, see Add the node servers

Troubleshoot further

Open all   |   Close all

My nodes are offline and won’t start

Follow these steps if your nodes fail to start after the MySQL password expires.

  1. Sign in to the node machine.
  2. Delete or rename C:\ProgramData\AppBridge\DataSourceSettings.json.
  3. Reassociate the node server. For details, see Add the node servers.
Disable MySQL password expirations (Optional)
  1. Remotely connect to the MySQL machine.
  2. Open a command prompt and go to C:\MySQL\bin
  3. Enter mysql -h localhost -u migrate -p projects_global
  4. Enter the password when prompted, and press Enter
  5. Enter SET GLOBAL default_password_lifetime = 0;.
Check to see if the MySQL disk is full

If the MySQL disk is full, you might have issues when loading connections or scans. You might see "RelationalDataLocation" or "(Errcode: 28 - No space left on device)" messages in the HAR file. 

Increase the size of the disk

To do so: 

  • Move files from a single MySQL node to a new, larger disk. If you don’t move files to the new disk, you’ll lose the existing data on the database. For details, consult your MySQL documentation. 
  • If you’re using Google Compute Engine, see Adding or resizing zonal persistent disks.

Prevent a full disk in the future

You can prevent a full disk by reducing the amount of transaction details that are logged. However, if you do, it can sometimes be difficult to troubleshoot other problems. If you need more details to troubleshoot, increase the level of log detail and run a delta migration. 

  1. Open MySQL Workbench or a similar tool that connects to a MySQL database.
  2. Enter UPDATE keyvalues_global.settings SET _Value = 'ErrorsOnly’ WHERE _Key = 'TransactionDetailsLoggingLevel' to reduce the transaction detail logging level.
  3. (Optional) To increase the detail given in the logs so you can troubleshoot a problem, enter UPDATE keyvalues_global.settings SET _Value = 'All’ WHERE _Key = 'TransactionDetailsLoggingLevel' and run a delta migration.

It can take up to 10 minutes for a new setting to take effect.


Google, Google Workspace, and related marks and logos are trademarks of Google LLC. All other company and product names are trademarks of the companies with which they are associated.