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.
In the steps below, substitute the MySQL password in place of <password>.
- Log in to the MySQL machine (using, for example, Remote Desktop).
- 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.
ALTER USER USER() IDENTIFIED BY '<password>';
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER 'migrate'@'%' PASSWORD EXPIRE NEVER;
- On the platform server, restart the G Suite Migrate service and connect normally.
I don’t have the MySQL passwordStep 1: Generate a new password
In the steps below, substitute your new MySQL password in place of <new-password>.
- Remotely connect to the MySQL machine.
- Open an elevated command prompt and go to C:\MySQL\bin.
- Enter net stop MySQL57.
- Enter echo|set /p="UPDATE mysql.user SET authentication_string=password('<new_password>') WHERE user='migrate';" > password-reset-init.txt.
- Record the new password in a secure location. You'll need it in step 2.
- Enter mysqld --defaults-file="C:\MySQL\my.ini" --init-file="C:\MySQL\bin\password-reset-init.txt" --console --skip-grant-tables.
- When logging stops, press Ctrl+Pause or Ctrl+Break to end the command.
- Enter del password-reset-init.txt to delete the init file.
- Enter net start MySQL57 to restart MySQL.
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
- In the G Suite Migrate platform, in the top-right corner, click Settings Database settings.
- Enter the updated password for MySQL and the Apache CouchDB software. Both passwords are required.
- Click Continue and proceed to step 3 below.
I can’t access the G Suite Migrate platform
- Sign in to the machine that is running the platform.
- On the taskbar, right-click and select Edit host settings.
- Under MySQL settings, in the Password field, enter the new password.
- Click Save & CloseOK.
- On the taskbar, right-click and select Start G Suite Migrate service.
- Proceed to step 3 below.
- In the G Suite Migrate platform, in the top-right corner, click Servers.
- Select all the nodes and click Delete .
- Add the nodes manually or using a CSV file. For details, see Add the node servers.
Troubleshoot furtherMy nodes are offline and won’t start
Follow these steps if your nodes fail to start after the MySQL password expires.
- Sign in to the node machine.
- Delete or rename C:\ProgramData\AppBridge\DataSourceSettings.json.
- Reassociate the node server. For details, see Add the node servers.
- Remotely connect to the MySQL machine.
- Open a command prompt and go to C:\MySQL\bin.
- Enter mysql -h localhost -u migrate -p projects_global.
- Enter the password when prompted, and press Enter.
- Enter SET GLOBAL default_password_lifetime = 0;.
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.
- Open MySQL Workbench or a similar tool that connects to a MySQL database.
- Enter UPDATE keyvalues_global.settings SET _Value = 'ErrorsOnly’ WHERE _Key = 'TransactionDetailsLoggingLevel' to reduce the transaction detail logging level.
- (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.