事前チェックでは、Data Transmission Service (DTS) サーバーとご利用のソースデータベース間の接続性を検証します。このトピックでは、接続性チェックが失敗した場合の一般的な原因とソリューションについて説明します。
接続性の事前チェックは、以下の理由で失敗することがあります:
認証情報エラー
エラー例
Access denied for user 'XXX'@'XXX' (using password: YES)
診断手順
コマンドラインまたはクライアントを使用してソースデータベースに接続し、データベースアカウント名とパスワードが正しいことを確認します。
よくある間違いは次のとおりです:
データベースアカウントの代わりに Alibaba Cloud アカウントを使用している。
指定されたデータベースアカウントが存在しない。
指定されたパスワードが正しくない。
ソリューション
まず、正しいデータベースアカウントとパスワードを取得します。次に、Data Transmission Service コンソールでデータ移行タスクを編集し、正しい認証情報を入力してから、再度事前チェックを実行します。
ソースデータベースが Tair または Redis の場合は、パスワードのフォーマットが正しいことを確認してください:
デフォルトアカウント (通常、インスタンス ID をアカウント名として使用) の場合は、パスワードのみを入力します。
カスタムアカウントの場合は、パスワードフィールドに
<account_name>:<password>のフォーマットで入力します。たとえば、カスタムユーザー名がadminで、パスワードがRp829dlwaの場合、admin:Rp829dlwaと入力する必要があります。
IP ホワイトリストの制限
診断手順
コマンドラインまたはクライアントを使用してソースデータベースに接続します。接続が成功した場合、ソースデータベースが DTS サーバーの IP アドレスを制限している可能性があります。
ソースデータベースが自己管理型 MySQL インスタンスの場合、クライアントを使用してソースデータベースに接続し、次のコマンドを実行して確認できます:
SELECT HOST FROM mysql.user WHERE user='username',password='password';説明username と password を、データ移行タスクに指定したデータベースアカウントとパスワードに置き換えてください。
出力された許可 IP アドレスのリストに DTS サーバーの IP アドレスが含まれているか確認します。DTS の IP アドレスの完全なリストについては、「DTS サーバーの IP アドレスを許可リストに追加」をご参照ください。
ソースデータベースが SQL Server データベースの場合は、ホストレベルのファイアウォールを確認します。また、データベースにソース IP アドレスに基づいてアクセスを制限している可能性のあるエンドポイントやトリガーがないか検査します。
ソースデータベースが Oracle データベースの場合は、sqlnet.ora 構成ファイルを検査します。
TCP.VALIDNODE_CHECKINGパラメーターがyesに設定されている場合、IP アドレス制限が有効になっています。
ソリューション
自己管理型 MySQL データベースの場合、ソースデータベースで次のコマンドを実行して、データ移行に使用するデータベースアカウントに権限を再付与できます。
GRANT ALL ON *.* TO 'username'@'%';説明username を、データ移行タスクに指定したデータベースアカウントに置き換えてください。
SQL Server の場合は、ファイアウォールまたは制限的なトリガーを無効にします。
Oracle の場合、sqlnet.ora ファイルの
TCP.VALIDNODE_CHECKINGパラメーターをnoに変更し、リスナープロセスを再起動します。
これらの手順を実行した後、Data Transmission Service コンソールにログインし、再度事前チェックを実行します。
ファイアウォールの設定
診断手順
ソースデータベースを実行しているサーバーが Windows の場合は、コントロールパネルで Windows ファイアウォールを探し、ファイアウォールが構成されているかどうかを確認します。
ソースデータベースを実行しているサーバーが Linux の場合は、
iptables -Lコマンドを使用して、サーバーにファイアウォールルールが構成されているかどうかを確認します。
ソリューション
関連するファイアウォールの制限を無効にした後、Data Transmission Service コンソールに戻り、再度事前チェックを実行します。
認証情報、IP ホワイトリスト、ファイアウォールを確認しても接続チェックが失敗する場合の対処法
認証情報エラー、IP ホワイトリストの制限、サーバーレベルのファイアウォールをすでに除外している場合、失敗の原因は DTS サーバーとソースデータベース間のより一般的なネットワーク問題である可能性が高いです。