この記事では、Google Workspace の設定で Oracle MySQL を使用する際に発生する可能性がある問題の解決方法をご案内します。
ネットワーク接続のエラー | 設定エラー | ディスクフル | パスワードの問題 | ノードがオフライン
ネットワーク接続のエラー
ネットワークの設定に関する問題については、Google Workspace サポートがお答えすることはできかねますのでご了承ください。
ノードまたはプラットフォーム サービスのホストログに MySQL に関するエラー(「Connect Timeout expired」など)が記録されている場合は、MySQL ディスクの空き容量が不足しているか、ネットワーク接続に問題がある可能性があります。対処方法は、このエラーが断続的に発生するかどうかによって異なります。
セクションを開く | すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動
このエラーは、MySQL ディスクの容量不足に関連して発生している可能性があります。
- システム要件を満たしていること、および MySQL サーバーのハードウェアが記載のスペック以上であること(具体的には RAM、CPU、ストレージが十分であること)を確認します。
- MySQL サーバーについては、次のことを確認します。
- Google が提供しているインストーラを使って MySQL をインストールした。
- サーバーに他の MySQL インスタンスがない。
- ウイルス対策ソフトウェアやマルウェア対策ソフトウェアがインストールされていない。
- ファイアウォールをインストールした場合は、ポート 3306 で上り(内向き)トラフィックを許可した。
容量が不足しているディスクの空き容量を増やす方法について詳しくは、MySQL ディスクの容量が不足している場合のトラブルシューティングをご覧ください。
ネットワークに問題がある可能性があります。
- 以下の点をご確認ください。
- MySQL サーバーがシステム要件を満たしていること。 詳しくは、ハードウェアの要件をご覧ください。
- Google 提供のインストーラを使用して MySQL ソフトウェアをインストールしている。 詳しくは、インストーラをダウンロードするをご覧ください。
- データベースの設定手順をすべて完了している。
- Google Workspace Migrate クラスタ内のサーバーはすべて同じネットワーク上にあり、サーバー間にファイアウォールやフィルタはない。
- MySQL で使用される Windows Server にその他のソフトウェアをインストールしていない。
- Windows のファイアウォールのデフォルト設定を変更していない。
- MySQL サーバーに到達できないサーバーにリモートで接続し、管理者として PowerShell ウィンドウを開きます。
- Telnet クライアントをインストールするには、次のコマンドを入力します。
Install-WindowsFeature -name Telnet-Client
- MySQL サーバーと、接続できないサーバーを再起動して、もう一度お試しください。問題が解決しない場合は、次のステップに進みます。
- Telnet テストを実行するには、次のコマンドを入力します。
telnet MySQL-server-ip-address 3306
- telnet テストの結果を評価します。次のように、状況に応じて操作します。
- エラーが発生していない、または数秒後に「Connection to host lost」というメッセージが表示される場合は、ネットワークに問題はない可能性が高いと考えられます。Google Workspace Migrate プラットフォームを開いて以前に失敗した操作を繰り返し、エラーの再現を試みます。
- telnet を使用して接続することはできるものの、(同じノードまたはプラットフォームから)Google Workspace Migrate を使用して接続することはできない場合、ローカルのファイアウォールによって外部への接続がブロックされている可能性があります。ローカル サーバーのファイアウォール設定を確認してください。
- 「Could not open connection to the host, on port 3306: Connect failed」などのエラーが表示された場合は、次の表の手順に沿ってトラブルシューティングを行ってください。
| 以下で「telnet MySQL-server-ip-address 3306」と入力 | 結果と解決手順 |
|---|---|
| 別のノードサーバーまたはプラットフォーム サーバー |
別のサーバーでコマンドが成功した場合、MySQL サーバーの問題である可能性は低いと考えられます。失敗した telnet コマンドを実行したサーバーのネットワーク設定を確認してください。 |
| 複数のサーバー |
エラーが表示された場合は、ネットワーク全体に問題があるか、MySQL サーバーに問題があります。次の手順をお試しください。
|
| MySQL サーバー |
エラーが表示された場合は、MySQL サーバーに問題があります。
|
MySQL の設定エラー
MySQL への接続中に「Key/value data source unavailable: Failed to read databases: An error occurred」というエラーが表示された場合は、次の手順でトラブルシューティングを行います。
セクションを開く | すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動
- リモート デスクトップ プロトコル(RDP)を使用して MySQL にログインします。
- MySQL に接続するには、次のコマンドを入力します。
C:\MySQL\bin\mysql.exe -h 127.0.0.1 -u root -pRootPassword
- 次のコマンドを入力します。
SELECT User, Host, CONCAT(User, ‘@’, Host) AS Username FROM mysql.user;
- 出力にユーザーが含まれていない場合は、ユーザーを作成するとユーザー権限を割り当てるをご覧ください。
- 「Error 1142: SELECT command denied to user root@127.0.0.1 for table user」というエラーが表示された場合は、root ユーザー権限を復元するをご覧ください。
- RDP を使用して MySQL にログインします。
- コマンド プロンプトを開き、C:\MySQL\bin に移動します。
- 次のコマンドを入力します。migrateuser_pwd はユーザー パスワードに、root_pwd は root パスワードに置き換えてください。
MySQL\bin\mysql.exe -e "CREATE USER 'migrate'@'%' IDENTIFIED BY 'migrateuser_pwd';" -u root -proot_pwd -h 127.0.0.1
MySQL\bin\mysql.exe -e "GRANT ALL PRIVILEGES ON *.* TO 'migrate'@'%';" -u root -proot_pwd MySQL\bin\mysql.exe -e "flush privileges;" -u migrate -pmigrateuser_pwd
MySQL\bin\mysql.exe -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" -u migrate -pmigrateuser_pwd
MySQL\bin\mysql.exe -e "SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;" -u migrate -pmigrateuser_pwd
- [Google Workspace Migrate]
[Database settings(データベース設定)] に移動し、MySQL の移行パスワードを再入力します。
- 「Key/value data source unavailable: Failed to read databases: An error occurred」というエラーが表示された場合は、[System tray(システム トレイ)]
[Google Workspace Migrate]
[Edit host settings(ホスト設定の編集)] に移動し、MySQL の移行パスワードを再入力します。
この操作を行うには、特権管理者としてログインする必要があります。
- コマンド プロンプトを開き、C:\MySQL\bin に移動します。
- 次のコマンドを入力します。migrateuser_pwd はユーザー パスワードに、root_pwd は root パスワードに置き換えてください。
MySQL\bin\mysql.exe -e "GRANT ALL PRIVILEGES ON *.* TO 'migrate'@'%';" -u root -proot_pwd
MySQL\bin\mysql.exe -e "flush privileges;" -u migrate -pmigrateuser_pwd
MySQL\bin\mysql.exe -e "SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;" -u migrate -pmigrateuser_pwd
MySQL\bin\mysql.exe -e "SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;" -u migrate -pmigrateuser_pwd
- RDP を使用して MySQL にログインします。
- 管理者としてコマンド プロンプトを開きます。
- MySQL を停止するには、次のコマンドを入力します。
for /f %a in ('net start ^| find /I "mysql"') do @net stop %a
- 権限をリセットできるモードで MySQL を起動するには、[Run as Administrator(管理者として実行)] を使用してコマンド プロンプトを開き、次のコマンドを入力します。
C:\MySQL\bin\mysqld --console --skip-grant-tables --shared-memory
プログラムの実行中はウィンドウを開いたままにします。
- 別のコマンド プロンプトを開き、次のコマンドを入力して MySQL を起動します。
C:\MySQL\bin\mysql
- root@localhost.user に権限を付与するには、次のコマンドを入力します。
Sql UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 最初のコマンド プロンプトで Ctrl+C キーを押して MySQL を停止し、次のコマンドを入力して MySQL を起動します。
for /f %a in ('net start ^| find /I "mysql" ') do @net start %a
- 両方のコマンド プロンプトを閉じます。
- MySQL に接続して更新が機能していることを確認するには、次のコマンドを入力します。
for /f %a in ('net start ^| find /I "mysql" ') do @net start %a
- 次のコマンドを入力します。
SELECT User, Host, CONCAT(User, '@', Host) AS Username FROM mysql.user;
- 出力にユーザーが含まれていない場合は、ユーザーを作成するをご覧ください。
- 出力にユーザーが含まれている場合は、ユーザー権限を割り当てるをご覧ください。
MySQL ディスクの容量が不足している場合のトラブルシューティング
ディスクの空き容量が足りない場合、次のような兆候が見られることがあります。
- ブリッジまたはパーティションが停止する。
- ブリッジは完了したがアイテムが検出されない。
- HAR ファイルに A RelationalDataLocation または (Errcode: 28 - No space left on device) というメッセージが記録される。
- プラットフォーム サービスのホストログに、次のエラー(またはエラーと同様の内容)が記録されている。
- The table 'bridgeexecutionpartitionmappings' is full.
- The table 'appbridgeidentity' is full.
サービスホストのログを確認するには、サービスホストのログを確認するをご覧ください。
ディスク容量が不足している場合は、空き容量を増やすために以下の方法をお試しください。
- 不要になったブリッジまたはプロジェクトを削除します。
- Google Compute Engine を使用して容量を増やします。詳しくは、VM に永続ディスクを追加するをご覧ください。
- MySQL データファイルをより大きなディスクに移動します。詳しくは、MySQL のドキュメントをご覧ください。
- バイナリ ログファイルを削除します。詳しくは、バイナリログを削除するをご覧ください。
パスワードに関する問題
セクションを開く | すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動すべて閉じて一番上に移動
プラットフォームにログインしたときに空白の画面が表示されて、サービスホストのログに次のエラーが表示される場合があります。
[MySqlException; HRESULT -2147467259] : Your password has expired. To log in you must change it using a client that supports expired passwords.
このエラーは、MySQL パスワードがデフォルトで約 1 年後に期限切れになることが原因で発生します。解決方法は次のとおりです。
- MySQL の root パスワードがない場合は、まず(このページの)MySQL の root パスワードを再設定するの操作を完了します。
- MySQL マシンにログインし、コマンド プロンプトを開きます。
- MySQL に接続するには、次のコマンドを入力します。
C:\MySQL\bin\mysql.exe -h 127.0.0.1 -u root -pRootPassword
注: RootPassword は、MySQL の root パスワードに置き換えてください。RootPassword-p とパスワードの間にはスペースを入れません。
- パスワードが期限切れにならないようにするために、次のコマンドを入力します。
ALTER USER USER() IDENTIFIED BY 'RootPassword';
ALTER USER 'root'@'127.0.0.1' PASSWORD EXPIRE NEVER;
ALTER USER 'migrate'@'%' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES; - プラットフォーム サーバーで Google Workspace Migrate
サービスを再起動し、通常どおりに接続します。
Google Workspace Migrate は、移行パスワードを使用して MySQL と通信します。このパスワードを再設定する必要がある場合は、次の手順を行います。
手順 1: パスワードを再設定する
- MySQL の root パスワードがない場合は、まず(このページの後半の)MySQL の root パスワードを再設定するの操作を完了します。
- MySQL マシンにログインし、コマンド プロンプトを開きます。
- MySQL に接続するには、次のコマンドを入力します。
C:\MySQL\bin\mysql.exe -h 127.0.0.1 -u root -pRootPassword
注: RootPassword は、MySQL の root パスワードに置き換えてください。RootPassword-p とパスワードの間にはスペースを入れません。
- ユーザーのパスワードを更新するには、次のコマンドを入力します。
ALTER USER 'migrate'@'%' IDENTIFIED BY 'NewUserPassword'; FLUSH PRIVILEGES;
NewUserPassword の部分は新しいユーザーのパスワードに置き換えてください。
手順 2: プラットフォームを更新する
次のいずれかを行います。
Google Workspace Migrate プラットフォームにアクセスできる場合:
- Google Workspace Migrate プラットフォームで、上部にある設定アイコン
Database settings(データベース設定)] をクリックします。
- MySQL の新しいパスワードと Apache CouchDB ソフトウェアのパスワードを入力します。
両方のパスワードが必要です。CouchDB のパスワードがない場合は、次の Google Workspace Migrate プラットフォームにアクセスできない場合に進みます。
- [続行] をクリックします。
Google Workspace Migrate プラットフォームにアクセスできない場合:
- プラットフォームを実行しているコンピュータにログインします。
- タスクバーの Google Workspace Migrate
を右クリックし、[Edit host settings(ホスト設定の編集)] を選択します。
- [MySQL settings(MySQL 設定)] で [Password(パスワード)] をクリックし、新しいパスワードを入力します。
- [Save & Close(保存して閉じる)]
[OK] をクリックします。
- タスクバーの [Google Workspace Migrate] を右クリック
[Stop Google Workspace Migrate service(サービスを停止)] を選択します。その後、サービスを再起動します。
ステップ 3: ノードを再度関連付ける
新しいデータベース設定をノードに反映するには、この手順を完了する必要があります。
- Google Workspace Migrate プラットフォームで、上部にある [Servers(サーバー)] をクリックします。
- すべてのノードを選択し、削除アイコン
をクリックします。
- CSV ファイルを使用してノードを追加するか、ノードを手動で入力します。
詳しくは、ノードサーバーの追加をご覧ください。
以下の手順では、NewRootPasswordNewRootPassword を新しい MySQL の root パスワードに置き換えてください。
- MySQL コンピュータにログインします。
- 管理者モードでコマンド プロンプトを開き、C:\MySQL\bin に移動します。
- MySQL サービスを停止するには、次のコマンドを入力します。
for /f %a in ('net start ^| find /I "mysql"') do @net stop %a
- 新しいパスワードを設定するコマンド ファイルを準備するには、次のコマンドを入力します。
echo|set /p="ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'NewRootPassword';" > password-reset-init.txt
- 新しいパスワードは安全な場所に記録してください。
- パスワードを再設定するには、次のコマンドを入力します。
mysqld --defaults-file="C:\MySQL\my.ini" --init-file="C:\MySQL\bin\password-reset-init.txt" --console
- ロギングが停止したら、Ctrl+Pause キーまたは Ctrl+Break キーを押してコマンドを終了します。
- コマンド ファイルを削除するには、次のコマンドを入力します。
del password-reset-init.txt
- MySQL を再起動するには、次のコマンドを入力します。
for /f %a in ('net start ^| find /I "mysql"') do @net start %a
- root ユーザーを使用してデータベースにログインし、新しいパスワードをテストするために、次のコマンドを入力します。
C:\MySQL\bin\mysql.exe -h 127.0.0.1 -u root -p
- 新しいパスワードを入力します。
新しいパスワードが正常に機能しなかった場合は、手順を繰り返してパスワードをリセットします。
ノードがオフラインのため起動しない
MySQL パスワードが期限切れになった後にノードを起動できない場合は、次の手順を実行します。
- ノードマシンにログインします。
- C:\ProgramData\AppBridge\DataSourceSettings.json を削除するか、名前を変更します。
- ノードサーバーを再度関連付けるには、これらの手順を完了します。
- Google Workspace Migrate プラットフォームの右上にある [Servers(サーバー)] をクリックします。
- すべてのノードを選択し、削除アイコン
. をクリックします。
- CSV ファイルを使用してノードを追加するか、ノードを手動で入力します。
詳しくは、ノードサーバーの追加をご覧ください。
関連トピック
Google、Google Workspace、および関連するマークとロゴは、Google LLC の商標です。その他すべての企業名および商品名は、関連各社の商標または登録商標です。