mySQLに絶対正しいはずのコマンド打ち込んだのにエラーになった原因

AWSの学習中、下記のような現象が発生しました。

 

事象:mySQLに接続しようとしたら何故かエラーが返ってきた

[ ~]$ mysql -h "DBサーバIP" -u root -p
Enter password:
ERROR 2005 (HY000): Unknown MySQL server host '"DBサーバIP" -u' (0)

注)DBサーバIP:mySQLをインストールしたサーバのIPアドレス

 

「なんでだ?」と思ってコマンドの文法をよく確認して再度入力。

[ ~]$ mysql -h "DBサーバIP" -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.

 

今度は通った…何??

原因:Windows上のテキストファイルからコマンドをコピーしてきたから

このとき、私のサーバへの接続環境は下記のような感じでした。

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[Windows Desktop PC]

┃(↓SSHで接続済)

[AWSで作ったWebサーバ](仮想・OSはLinux

┃(↓mySQLに接続するためのコマンド発射)

[AWSで作ったDBサーバ](仮想・OSはLinuxmySQLインストール済)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

この時、コマンドを打ち間違えないように
お手本サイトからDLしておいたコマンドリスト(.txt)を
Windows上のVisualCodeで開いてコピー。
Puttyを使ってWebサーバに接続し、コマンドをコピー&ペーストしました。
これのせいでした。

※後日補足※
これだけじゃ何が原因か分からないですね。
多分文字コードとかのせいじゃないかと思われます。

 

ただし、これがSSH接続に使用したPuttyの仕様のせいなのか、
WindowsからLinuxに接続したからなのか、
mySQLを使う時だけ発生するのか、といった細かい切り分けはしていません。

Webサーバを操作する際、これら以外のlinuxコマンドはコピペで行けてたので、
mySQL側の問題なのかもしれません。

 

対策:明らかに正しいコマンドをコピペして失敗したら、一度手打ちしてみよう!

また何か分かったら追記したいと思います。