MySQL8のインストール方法(ec2,CentOS7)

ec2(Amazon Linux 2,Amazon Linux 2023)とLinux CentOS7上にMySQL(フリーのCommunity版、バージョン8)をダウンロードとインストールする方法や、MySQLサービスの簡単な初期設定や状態確認、rootパスワードの変更、MySQLの新規ユーザ作成などについて説明します。

※ 本ページはプロモーションが含まれています。

このページの目的と動作環境

最終更新日:2023/9/30

本記事では、AWSのec2(Amazon Linux 2、Amazon Linux 2023)環境とLinux CentOS7環境で、DBのMySQLをダウンロード〜インストールする方法につい説明しています。また、MySQLインストール後の簡単なコマンド操作(MySQLの初期設定や状態確認、rootパスワードの確認と変更、MySQLの新規ユーザ作成と権限設定など)についても説明しています。

ここでインストールするMySQLサーバのエディションとバージョンは、MySQL Community Server 8.0.33です。(バージョン8.0.33は2023/5/13時点では最新安定版。2023年7月に8.1.0がリリースされたようです。ただ、バージョン8.1系はInnovationリリース?)

MySQLはいくつかのEditionがありますが、今回ダウンロード&インストールするMySQL Community Edition(コミュニティ版)はGPLライセンスに従って無料(フリー)で使えるMySQLです。オープンソースで無料で使える人気のDBです。

MySQL Community Editionは、世界で最も多く使用されているオープンソース・データベースの、無償で自由にダウンロードして利用することができるバージョンです。GPLライセンスに従って利用することができ、
(引用元:MySQL Community Edition

◾️動作環境とバージョン情報です
OS:Amazon AWSのec2(Amazon Linux release 2 (Karoo)とAmazon Linux release 2023)、CentOS Linux release 7.9
インストールするMySQL:MySQL Community Server 8.0.33

本記事で説明しているMySQL Community Server 8のインストール方法ですが、OS環境はAmazon AWSのec2(Amazon Linux 2とAmazon Linux 2023)とCentOS7の3環境で試しましたが、どれもほぼ同じ方法でインストールできました(Amazon Linux 2023は若干違うけどインストールする流れは同じ)。

macPC環境でMySQLをインストールする方法については別ページで説明しています。
MySQLのインストール【macOS】

MySQLから派生したオープンソースのDBにMariaDBという物もあります。MariaDBはMySQLから派生しただけあってコマンドやSQLの使い方は似ていますし、GPLライセンスのもとで無料(フリー)で使用する事ができます。MariaDBのインストール方法についても別ページで説明しているので、よければ参考にしてください。
MariaDB10.6(10.5)のインストール(Amazon Linux2(ec2),CentOS7)、WordPressの環境構築

AWSでMySQLを使う場合、ec2にMySQLをインストールするか、RDSを使うかの選択・比較

MySQLのインストールの説明の前に、amazon AWS環境でMySQLを使う場合について少し話します。

AWSでMySQLなどのDBを使う場合、RDSというデータベース専用のサービスがあるので、もちろんそのRDSを使っても良いですが、ec2にMySQLをインストールして、1台のec2上にWebサーバ+MySQLという環境を作る事もできます。

ec2にMySQLをインストールするメリットは、やっぱりコスト(料金)を安く抑えられる事だと思います。単純にDBありのウェブ環境を1つのec2で構築する事ができます。特に最近(2022年以降〜)は円安なのでドル建てのAWSのコストは高く感じるようになりました。なので少しでも料金は割安に済ませたいところです。

あとは単純に学習用にMySQLをインストールして勉強したいという人もいると思いますし、ちょっとWebサーバ+MySQLのWebサービスやWeb APIの開発を勉強したいから、手軽に1台のec2だけで試したいうケースもあると思います。その場合もコストが格安で済みそうですし。

一方、MySQLなどのDBはRDSを使い、ec2と使い分ける場合のメリットは、DBの保守運用面をRDSにある程度任せる事ができるとか、DBとそれ以外の機能の障害や負荷の切り分けや対応が簡単になる等があります。ですので、仕事の本番環境でAWSのDBを使う時は、RDSを使うケースが多いと思います。

インフラがAWSでチームで仕事をする場合、ec2とRDSを使うケースが多いのではないかと思います。ただ、個人でDBありのWeb環境を構築する場合、ec2にDBをインストールして1台のec2で済ますのも、やはりコストメリット的にアリだと思います。

ec2自体の料金を安く済ませたい、コスト最適化を図りたい場合、オンデマンド(完全従量課金)のec2ではなく、リザーブドインスタンス(RI)、Savings Plans(SP)、スポットインスタンスなどを使えば、劇的にコスト削減をできるケースもあります。
別ページでEC2のリザーブドインスタンスを購入した時について説明しているので、良ければ参考にしてください。
円安だしコスト節約のため、EC2のリザーブドインスタンスを購入する

(広告)アマゾンでAWS料金の最適化・節約術のKindle本を探す。コスト節約・削減の勉強をする!

各Linux OS環境にMySQL8用のyumリポジトリを追加する

MySQLをインストール前の準備としてyum updateをします(ただ、yum updateするかどうかは各自の判断でお願いします)。

$ sudo yum update
あと、EPELをインストールするかどうかも各自の判断でお願いします。私の環境ではEPELを入れなくてもMySQLをインストールできたので入れませんでした。
$ sudo yum install epel-release
(*EC2のAmazon Linux 2023環境は、EPELをインストールできませんでした。下のサイトを見る限り、どうやらAmazon Linux 2023ではEPELをサポートしていないらしい。)
Amazon Linux 2023がGAされました

Amazon Linux 2(ec2)のamazon-linux-extrasコマンドでepelをインストールするなら、このコマンドでもできます。(Amazon Linux 2023はamazon-linux-extrasコマンドが無くなって使えなかったし、EPELもサポートしてないみたいだからスルーで。)

$ sudo amazon-linux-extras install epel
また、yum list installedコマンドでインストール済みのmysql関連のサービスやライブラリを確認してみたけど、現状は何もありませんでした。
$ yum list installed | grep -i mysql

まず、community版のMySQLをyumでインストールする場合、デフォルトではMySQLをインストールする為のリポジトリが無いので、MySQLインストール用のyumリポジトリを用意する必要があります。

ちなみに現状のyumリポジトリの情報です。
■ec2(Amazon Linux 2)の場合

$ ls /etc/yum.repos.d/
amzn2-core.repo  amzn2-extras.repo

$ yum repolist
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
リポジトリー ID                         リポジトリー名                                   状態
!amzn2-core/2/x86_64                    Amazon Linux 2 core repository                30,941
amzn2extra-docker/2/x86_64              Amazon Extras repo for docker                     86
amzn2extra-kernel-5.10/2/x86_64         Amazon Extras repo for kernel-5.10               308
■ec2(Amazon Linux 2023)の場合
$ ls /etc/yum.repos.d/
amazonlinux.repo  kernel-livepatch.repo

$ yum repolist
repo id                             repo name
amazonlinux                         Amazon Linux 2023 repository
kernel-livepatch                    Amazon Linux 2023 Kernel Livepatch repository
■CentOS7の場合
$ ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo    CentOS-x86_64-kernel.repo

$ yum repolist
〜
リポジトリー ID                              リポジトリー名                          状態
base/7/x86_64                                CentOS-7 - Base                        10,072
extras/7/x86_64                              CentOS-7 - Extras                         515
updates/7/x86_64                             CentOS-7 - Updates                      4,926
yum repolist allで無効なリポジトリを確認しても、MySQL関連のリポジトリは何もありませんでした。
$ yum repolist all | grep -i mysql

MySQLのyumリポジトリを追加するには、MySQL Community Downloads -> MySQL Yum Repositoryページへ行き、自分のOS環境のDownloadボタンを選択します。(CentOS7とAmazon Linux2環境の場合、「Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package」のダウンロードを選択します。また、Amazon Linux 2023環境の場合、「Red Hat Enterprise Linux 9 / Oracle Linux 9 (Architecture Independent), RPM Package」のダウンロードを選択します。)
Amazon Linux2/2023環境のMySQL community版(フリー・無料)のRPMダウンロードページ

ダウンロードページへ移動したら、下の方にある「No thanks, just start my download.」というリンクを右クリック->「リンクのアドレスをコピー」を選択します。
CentOS7環境のcommunity版 MySQLのRPMリンクアドレスを取得

これで、community版MySQLのrpmのURLをコピーできました。
コピーされたURLはこちらです。(ここでコピーされたURLのMySQLのバージョンは8でした)
■ec2(Amazon Linux2)、CentOS7の場合

https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
■ec2(Amazon Linux 2023)の場合
https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

ターミナルに戻って、 yum localinstallコマンドでcommunity版MySQLのyumリポジトリを追加します。
■ec2(Amazon Linux2)、CentOS7の場合

$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
〜
インストール:
  mysql80-community-release.noarch 0:el7-7                                                                                                     

完了しました!
■ec2(Amazon Linux 2023)の場合
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

追加できたので、再度リポジトリを確認します。
■ec2(Amazon Linux 2)の場合

$ ls /etc/yum.repos.d/
amzn2-core.repo  amzn2-extras.repo  mysql-community-debuginfo.repo  mysql-community-source.repo  mysql-community.repo

$ yum repolist
〜
リポジトリー ID                                リポジトリー名                                    状態
amzn2-core/2/x86_64                            Amazon Linux 2 core repository                 30,941
amzn2extra-docker/2/x86_64                     Amazon Extras repo for docker                      86
amzn2extra-kernel-5.10/2/x86_64                Amazon Extras repo for kernel-5.10                308
mysql-connectors-community/x86_64              MySQL Connectors Community                     164+56
mysql-tools-community/x86_64                   MySQL Tools Community                              98
mysql80-community/x86_64                       MySQL 8.0 Community Server                        405
■ec2(Amazon Linux 2023)の場合
$ ls /etc/yum.repos.d/
amazonlinux.repo  kernel-livepatch.repo  mysql-community-debuginfo.repo  mysql-community-source.repo  mysql-community.repo

$ yum repolist
repo id                                                       repo name
amazonlinux                                                   Amazon Linux 2023 repository
kernel-livepatch                                              Amazon Linux 2023 Kernel Livepatch repository
mysql-connectors-community                                    MySQL Connectors Community
mysql-tools-community                                         MySQL Tools Community
mysql80-community                                             MySQL 8.0 Community Server
■CentOS7の場合
$ ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo      mysql-community-debuginfo.repo  mysql-community.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo    CentOS-x86_64-kernel.repo  mysql-community-source.repo

$ yum repolist
〜
リポジトリー ID                              リポジトリー名                          状態
base/7/x86_64                                CentOS-7 - Base                        10,072
extras/7/x86_64                              CentOS-7 - Extras                         515
mysql-connectors-community/x86_64            MySQL Connectors Community                220
mysql-tools-community/x86_64                 MySQL Tools Community                      98
mysql80-community/x86_64                     MySQL 8.0 Community Server                405
updates/7/x86_64                             CentOS-7 - Updates                      4,926
どのOS環境も、MySQL 8.0 Community Serverと他にもMySQL関連のリポジトリが追加されています!

yum localinstallコマンドでMySQLのリポジトリを追加しましたが、yum installコマンドやrpmコマンドでも追加する事ができますよ。

$ sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
$ sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

community版 MySQLサーバ 8.0.*を、ec2(Amazon Linux2,Amazon Linux 2023)、CentOS7にダウンロード&インストールする

MySQLのリポジトリを追加したので、MySQLサーバのダウンロード&インストールをやっていきます。

以下のコマンド例はCentOS7上で実行したものですが、ec2(Amazon Linux 2とAmazon Linux 2023)環境でも同じように実行できました。

ネットの情報を見ていたら、MySQLサーバをインストールする前に"mariadb-libs"を削除した方がいいかもという情報を見かけました。

$ yum list installed | grep -i maria
mariadb-libs.x86_64                   1:5.5.68-1.el7    

けど、私の環境ではmariadb-libsを削除しなくても問題なくMySQLをインストールできたので削除しませんでした。と言いうより、このあと説明するMySQLサーバをインストールした時に、"mariadb-libs"は置換され削除されて消えていました。

yum searchコマンドでmysql関連を確認すると色々出てきますが、その中にある"mysql-community-server"をインストールします(インストール時にいくつか質問されるが全てy(Yes)で)。

$ yum search mysql
〜
mysql-community-server.x86_64 : A very fast and reliable SQL database server
$ sudo yum install mysql-community-server
〜
インストール:
  mysql-community-libs.x86_64 0:8.0.33-1.el7  mysql-community-libs-compat.x86_64 0:8.0.33-1.el7  mysql-community-server.x86_64 0:8.0.33-1.el7 

依存性関連をインストールしました:
  mysql-community-client.x86_64 0:8.0.33-1.el7      mysql-community-client-plugins.x86_64 0:8.0.33-1.el7  
  mysql-community-common.x86_64 0:8.0.33-1.el7      mysql-community-icu-data-files.x86_64 0:8.0.33-1.el7   

置換:
  mariadb-libs.x86_64 1:5.5.68-1.el7      

完了しました!

インストールできました!
とりあえずバージョンの確認をします。

$ mysql -V
mysql  Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

$ mysql --version
mysql  Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
MySQL Community Serverのバージョン8.0.33です(8.0.33は2023/5/13時点の最新安定版だと思う。)

ちなみにyum list installedコマンドでインストールされたMySQL関連のライブラリを確認するとこんな感じでした。

$ yum list installed | grep -i mysql
mysql-community-client.x86_64         8.0.33-1.el7                   @mysql80-community
mysql-community-client-plugins.x86_64 8.0.33-1.el7                   @mysql80-community
mysql-community-common.x86_64         8.0.33-1.el7                   @mysql80-community
mysql-community-icu-data-files.x86_64 8.0.33-1.el7                   @mysql80-community
mysql-community-libs.x86_64           8.0.33-1.el7                   @mysql80-community
mysql-community-libs-compat.x86_64    8.0.33-1.el7                   @mysql80-community
mysql-community-server.x86_64         8.0.33-1.el7                   @mysql80-community
mysql80-community-release.noarch      el7-7                          @/mysql80-community-release-el7-7.noarch

■MySQLのインストール時にエラーが発生してインストールできない場合
yum installコマンドでcommunity版MySQL(mysql-community-server)のインストールしようとした時に、エラーが発生してインストールできない場合がありました。

$ sudo yum install mysql-community-server
Last metadata expiration check: 0:00:23 ago on Sun May 21 08:09:04 2023.
Error: 
 Problem: conflicting requests
  - nothing provides libcrypto.so.10()(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64
  - nothing provides libssl.so.10()(64bit) needed by mysql-community-server-8.0.11-1.el7.x86_64
〜
- nothing provides libssl.so.10(libssl.so.10)(64bit) needed by mysql-community-server-8.0.33-1.el7.x86_64
  - nothing provides libcrypto.so.10(OPENSSL_1.0.2)(64bit) needed by mysql-community-server-8.0.33-1.el7.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
エラー内容はlib*.soが〜って感じですが、エラーの原因は追加するMySQLのリポジトリが間違っていました。
上でも説明しましたが、ちゃんとOS環境にあったMySQLのyumリポジトリしないと、インストール時にエラーが発生してインストールできないですね。

このエラーが発生したら、一度/etc/yum.repos.dディレクトリに追加したMySQLのリポジトリを削除して、再度自分のOS環境に合ったMySQLリポジトリを追加してからインストールをやり直しましょう。

$ sudo rm /etc/yum.repos.d/mysql-community*

MySQLインストール後。MySQLサーバの起動や状態確認。rootログインとパスワード変更。MySQLユーザの新規作成と権限付与など。

MySQLをインストールできたので、早速少し使ってみます。まず、MySQLサービスの状態確認です。(MySQLサーバのサービス名はmysqlではなくmysqldなので注意を。)

$ systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
インストール直後は停止していますね。なのでMySQLサービスを起動します。
$ sudo systemctl start mysqld
再度MySQLサーバの状態を確認します。
$ systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 土 2023-05-13 09:04:40 UTC; 15s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 3118 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 3189 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─3189 /usr/sbin/mysqld
起動状態になりました!(inactive (dead)からactive (running) に変わった。)
また、MySQLサービスを停止したい時はこうです。
$ sudo systemctl stop mysqld

OS(サーバ)を再起動した時にMySQLサービスも同時に起動するかどうかは、systemctl is-enabledコマンドで確認できます。

$ systemctl is-enabled mysqld
enabled
enabledになっているので、現状はサーバ起動時にMySQLも起動します。
サーバ起動時にMySQLサービスを起動させたくないなら、systemctl disableコマンドで設定します。
$ sudo systemctl disable mysqld
Removed symlink /etc/systemd/system/multi-user.target.wants/mysqld.service.

$ systemctl is-enabled mysqld
disabled
systemctl is-enabledコマンドで確認したらdisabledになりました。
また、サーバ起動時に同時にMySQLも起動させたいなら、systemctl enableコマンドで設定します。
$ sudo systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

$ systemctl is-enabled mysqld
enabled

次に、MySQLサービスを起動して、rootユーザでmysqlコマンドでMySQLサービスにログインしてみます。

rootユーザのパスワードですが、MySQLインストール時にパスワードの設定はしませんでした。設定しなかったからパスワード無しでログインできるかなと思って試したけど無理でした。

実は、今回のOS環境(ec2(Amazon Linux2,Amazon Linux2023)とCentOS7)では、MySQLのrootユーザの初期パスワードは勝手にインストール時に決められてるようで、そのrootパスワードは/var/log/mysqld.logファイルで確認できます。

$ sudo cat /var/log/mysqld.log | grep password
2023-05-13T13:52:57.164830Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: XV,MzFJL)9-l

rootユーザの初期パスワードがわかったので、mysqlログインします。

$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.33
〜
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
ログインできました!
ログインはできたけど、適当なコマンドを実行したらエラー発生です。
mysql> status;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
エラー内容は、コマンドを実行する前にrootの初期パスワードをリセットしてねという感じです。
という事でrootユーザのパスワードを変更します。rootユーザのパスワード変更は、そのままmysqlプロンプト上でset passwordコマンドでします。
mysql> set password='#MySQL8Password';
Query OK, 0 rows affected (0.01 sec)

*ちなみに設定するパスワードは、大文字、小文字、数字、記号が入ってないとポリシー条件を満たしていないというエラーが発生してできませんでした。

mysql> set password='MySQL8Password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

rootユーザのパスワードを設定できたら、一旦mysqlプロンプトをexitコマンドでログアウトして、rootユーザと新しいパスワードで再度ログインできるか試してみます。
そしてログインできたら、今度はmysqlプロンプト上で色々なコマンドを実行できるかも試します。

mysql> select curdate(), CURTIME();
+------------+-----------+
| curdate()  | CURTIME() |
+------------+-----------+
| 2023-05-13 | 14:38:53  |
+------------+-----------+
1 row in set (0.00 sec)

mysql> status
--------------
mysql  Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:		13
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.33 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
〜
できました。問題なさそうです!

ちなみに初期設定の文字コードはutf8mb4(1~4バイトのUTF8)なので、ここではこのままで良しとします。
もしもMySQLの文字コードのもう少し詳細な確認や使用する文字コードの設定を変更したい場合、別ページで詳しく書いているのでそちらを参考にしてください。
MariaDB(MySQL)の文字コードを設定(変更)する

せっかくなのでもう少しmysqlプロンプト上で何かやってみます。
rootユーザを使い続けるのはセキュリティ的に良くないと思うので、今度は適当なDBを作成して、そのDBを使用するMySQLの新規ユーザを作成してみます。
rootユーザでログインして、hogedbというDBを作成します。

mysql> create database hogedb;
そして、localhost(同じPC内からアクセスできる)のhogeuserという適当なユーザを作成し、hogeuserのパスワードをhogepasswordに設定します。
mysql> create user 'hogeuser'@'localhost' IDENTIFIED BY 'hogepassword';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
エラーが出ました。rootパスワードを変更した時に出たエラーと同じで、ゆるいパスワードの設定は脆弱だからダメみたいですね。
さすがにroot以外のユーザでもこれだと厳しすぎで面倒です。(パスワードは、大文字、小文字、数字、記号を含む必要がある。)
ですので、このパスワードの制限をやめたい場合、設定でvalidate_password.policyをLOWにします。
mysql> set global validate_password.policy = "LOW";

再度、上でエラーが出たユーザ作成のコマンドを実行してみます。

mysql> create user 'hogeuser'@'localhost' IDENTIFIED BY 'hogepassword';
Query OK, 0 rows affected (0.01 sec)
今度はできました!
そして、作成したhogeuserユーザにhogedbデータベースを扱うすべての権限を与えます。
mysql> GRANT ALL PRIVILEGES ON `hogedb`.* TO "hogeuser"@"localhost";

一旦ログアウトして、今度はhogeuserユーザでログインしてみます。

$ mysql -uhogeuser -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.33 MySQL Community Server - GPL
〜
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| hogedb             |
| information_schema |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

mysql> use hogedb;
Database changed
ログインできたし、hogedbデータベースも使えそうです!

別ホスト(PC)からMySQLサービスが起動しているサーバにリモート接続できるユーザを作成する事もできます。その方法については別ページで説明していますので、良ければ参考にしてください。
MySQL(MariaDB)にmysqlコマンドでリモート接続する

(広告)アマゾンでSQL・DB(データベース)関連の本(Kindle)を探す!

MySQLのカラム値のひらがなカタカナや英数字の半角全角を区別する

OS環境やMySQLのバージョンによって違うと思いますが、インストールしたMySQLによっては、char型・varchar型のカラム値の平仮名カタカナや数字・英字の半角全角の区別がされません。そして、その原因がCOLLATEE(照合順序)の設定値で、COLLATEを指定する事により区別できるようになります。

この問題の詳細については別ページで説明しているので、良ければ参考にしてください。
MySQLのひらがなカタカナ、英数字の全角半角を区別する。COLLATEE(照合順序)設定