0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MySQLのインストール〜DBの操作まで

Last updated at Posted at 2020-10-30

はじめに

MySQLの学習を始めるにあたって、知識を整理する事と備忘録として書き止めていきます。

MySQLのインストール・バージョン確認

インストール
brew install mysql
インストールが成功したら、バージョン確認
mysql -- version

MySQLの起動・停止・状態確認

MySQLの起動
mysql.server start
MySQLの再起動
mysql.server restart
MySQLの停止
mysql.server stop
MySQLの状態の確認
mysql.server status
[SUCCESS! MySQL running]と表記されれば、起動中
[ERROR! MySQL is not running]と表記されれば、停止中

MySQLの動作確認

MySQLが起動している状態で以下コマンドを入力
root権限で動作しているかを確認するコマンド
mysql -u root
下記の様な出力が確認できたら成功

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.22 Homebrew

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

上記のmysql>からSQL文を記述できる
ターミナルに戻る場合は以下の通りに記述

mysql> quit

###データベースの一覧表示
SQLのSHOW文を使う
SHOW DATABASES;
LIKEを使用して、表示するデータベース名のパターンを指定も可能
SHOW DATABASES LIKE 'パターン'

データベースの新規作成

SQLのCREATE文を使う
CREATE DATABASE データベース名;
※データベース名は一意であり、同じ名前のデータベースを作成しようとするとエラーとなる

CHARACTER SET オプションを使用すると、文字コードを設定できる
CREATE DATABASE データベース名 CHARACTER SET 文字コード;

IF NOT EXISTSオプションを使用すると、データベースの名前が重複していてもエラーが出ない様にできる
※処理は何も行われない
CREATE DATABASE IF NOT EXISTS データベース名

データベースの削除

SQLのDROP文を使う
DROP TABLE テーブル名;

データベースの文字コードを調べる

SHOWを使用してデータベースの文字コードを調べる事ができる
SHOW CREATE DATABASE データベース名

+----------+----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                  |
+----------+----------------------------------------------------------------------------------------------------------------------------------+
| testDB   | CREATE DATABASE `testDB` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------------------------------------------------------------------------------------------+

上記の場合、
DEFAULT CHARACTER SET=クライアント側で使用する文字コード(utf8mb4)
デフォルト暗号化 = No

テーブル操作に関する内容は以下のリンクからご確認頂けます
MySQLのテーブル操作

以下はプラスαであり、筆者は動作未確認

Sequel Proの導入

SequelProは、MySQLのデータをGUIで操作で管理するためのアプリケーション
Mac用みたいです
ここからダウンロードできる→ https://www.sequelpro.com/
※注意
MySQL8から認証プラグインがセキュリティ強化のため、アプリ側が対応していないと接続できない仕様になっている

解決策:mysqlの認証プラグインの変更

caching_sha2_password・・・mysql8からの認証プラグイン

mysql_native_password・・・mysql8以前の認証プラグイン

  • 現在のプラグインの設定を確認(以下のコマンドで変更する)

mysql> SELECT host, user, plugin FROM mysql.user;

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+
  • プラグインを変更する

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | mysql_native_password |
+-----------+------------------+-----------------------+

上記の様に設定が変更できれば、SequelProから接続が可能になる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?