質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

3回答

1249閲覧

MySQLのコマンドに日本語を打ちたい

SERA0_0b

総合スコア1

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/01/06 20:59

編集2022/01/06 21:07

前提・実現したいこと

MacBookのターミナルからEC2インスタンスへssh接続しそこからさらにAmazonRDSのMySQLへ接続しているのですが、MySQLのコマンドを打つ時に日本語を入力すると入力してる時は表示され、エンターボタンを押して文字を確定すると消えてしまいます。
PHPからPDO接続してコマンド操作すると、HTMLで作ったフォームから日本語をPOSTメソッドでPHPへ引き渡し、それを使ってinsertをすることができましたが、POSTメソッドで送られた日本語のデータを使ってselect文でwhereを使う一致検索をしようとすると一行もかえってきません。
ネットで検索したらmysqlの文字コードがおかしいんじゃないかとのことで、文字コードを調べたら以下のようになりました。
MySQLで日本語を使ったコマンドを実行するにはどのようにすればよいかご教示頂ければ幸いです。

設定など

MySQL側の設定
イメージ説明
EC2(クライアント)側の設定
/etc/my.cnf.d/client.cnf
イメージ説明
/etc/my.cnf.d/mysql-clients.cnf
イメージ説明

試したこと

/etc/my.cnf.d/client.cnfの[client]や[client-mariadb]のところや/etc/my.cnf.d/mysql-clients.cnfの[mysql]のところにdefault-character-set=utf8mb4と設定してみましたが日本語入力できませんでした。また、PDO接続する際のphpの方でもcharset=utf8やcharset=utf8mb4と設定してみましたがそちらもうまくいきませんでした。
EC2のlocaleコマンド実行結果
イメージ説明

補足情報(FW/ツールのバージョンなど)

MySQL(8.0.23)
PHP(7.2.34)
Amazon EC2(Amazon Linux2)
AmazonRDS

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/01/07 01:42

クライアントツール(コマンドラインツール)の問題では。
m.ts10806

2022/01/07 01:43

ただ、既に回答出てるようにそもそもこの手のコマンドラインツールって全角文字を想定された作りになってないので、操作するならGUIツールに切り替えたほうが良いと思います。
guest

回答3

0

日本語が画面上で入力できるかどうかはMySQLサーバの問題ではなくターミナルエミュレータかサーバ上の言語の問題でしょう。
サーバ上でクライアントから日本語を打つのは正直面倒なので、ローカルから何かしらのGUIクライアントを使ってSSH Tunnelで接続することをおすすめします。

クライアントは色々ありますが、個人的にはDBeaverをおすすめしたいです。
DBeaver
DBeaverでのSSH Tunnelのやりかた

PHPMyAdminはせっかくパブリックにアクセスできないようにデフォルトではなっているRDSに対し、サーバ上に余計なアクセスポイントを作ることになるので、それを理解しないで使うのはセキュリティホールが増えてしまう原因になるためおすすめしません。

ちなみに、EC2上のmy.cnfを変えてもそれはRDSの設定ではないので意味はありません。
RDS上のMySQLの設定を変えたければパラメータグループを使って変更してください。

投稿2022/01/07 06:09

yu_1985

総合スコア7471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

CUIのmysqlクライアントなんて素人が手を出すものではありません。
PHPも導入されているならphpMyAdminが標準なインターフェースだと理解ください

投稿2022/01/07 01:30

yambejp

総合スコア115012

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

macユーザーじゃないので詳しい回答は譲りますが、
ひとまず別のターミナルエミュレーターアプリを試してみてはいかがでしょうか。

Macで使えるターミナルエミュレーターアプリ達(情報古め)
自分用 Macで便利なツールまとめ - Qiita

投稿2022/01/07 00:18

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問