EnvaderでMySQLの環境構築をしてみた
おっさんエンジニアもどきのゆうぞうです。
エンジニアにとってSQLは必須の技術ということらしいのですが、とりあえずプログラミング言語からという考えから、なんとなく敬遠していました。
ようやく重い腰をあげ、MySQLをインストールしたものの環境構築がうまくいかないという始末。
そんな時にEnvaderを知り、MySQLの環境構築ができるとのこと!
URLはこちら
https://envader.plus/
環境構築ってほんと難しいんですよねー。
その環境構築ができるということで早速やっていきます。
MySQLとは
MySQLとは、GNU General Public Lisence
の条件に基づいたオープンソースソフトウェア
のリレーショナルデータベース管理システム(RDBMS)
です。
MySQLは世界でもっとも利用されているデータベース管理システムのことです。データベースの操作するために必要なんですね。
データベースとは?
データベースとは
- 複数で共有すること
- 検索、加工すること
を目的に整理されたデータの集まりのことです。
データを操作しないアプリケーションはないと言われますのでエンジニアにとってはデータベースやSQLの知識は必須です。
私は全然分かっていませんが・・・。
環境構築手順
では早速環境構築をしていきましょう!
今回のシナリオはこちら!
https://envader.plus/course/2/scenario/1035
aptを使用する場合はaptを最新の状態にしておく。
sudo apt update
mysql-serverをインストール
sudo apt install mysql-server
補足
MySQL本体とその依存関係のあるプログラムがまとめてインストールされる。
MySQLの起動
sudo service mysql start
MySQLの停止
sudo service mysql stop
MySQLの再起動
sudo service mysql restart
serviceコマンド
指定されたLinuxデーモンの起動や停止、ステータスの確認を実行したりするコマンド。
パスワード設定コマンド
sudo mysql_secure_installation
mysql_secure_installationとは
それぞれの意味
installation = インストール
secure = 安全
パスワード設定コマンドを入れると以下のようなコメントがでます。
Enter current password for root:
#現在のrootのパスワードを入力します。
Set root password?: Y
#rootパスワードの設定?
New password: 新しく設定するパスワード
Re-enter new password: 新しく設定するパスワード
Remove anonymous users?: Y
#匿名ユーザーの削除?
Disallow root login remotely?: Y
#リモートでrootログインを無効にする?
Remove test database and access to it?: Y
#テストデータベースとそのアクセスを削除しますか?
Reload privilege tables now?: Y
#特権テーブルの再読み込みは今?
ほぼyesを押せばOKなようです。
DBに接続するコマンド
sudo mysql -u root
補足
オプション
mysql -h ホスト名 -u ユーザー名 -p データベース名
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
SQL文解説
UPDATE : 列の値を更新する
SET : 更新する列名と値を記述
FLUSH PRIVILEGES;
データベース内のGRANTテーブルから再度読み込みを実行する。
PRIVILEGESの意味
特権
GRANTとは
アクセス権限を定義する。
grantの意味
許す
GRANT文は、1人または複数のユーザーにオブジェクトに関する特定の権限を付与するSQL文。
テーブルに対し、表への問い合わせ、更新、追加、削除などの操作権限を付与する。
DBに接続方法
mysql -u root -p
パスワード
コマンドを入力後にパスワードを入力すればMySQLの接続できます。
感想
自分のPCで環境構築って中々ハードルが高いですよね。
なんかPCがおかしくなったら嫌だったりします。
ですがEnvaderであればやりたい放題ww。
失敗してもいい環境っていうのは有り難いです。
他のシナリオもやって続けていきます!
Discussion