LoginSignup
3
4

More than 5 years have passed since last update.

CentOS7.5にMySQLインストール&CRUD権限付与

Last updated at Posted at 2018-09-04

MySQLのインストールってどうやるんでしょうか。。状態からスタート。

目的

AWSのEC2で作成したインスタンスにMySQLをインストールします。
ユーザを作成してCRUD権限を付与するテストも行います。

環境

Centos7.5系
MySQL5系
macOS 10系

MySQLのインストール

このサイトに倣って作業を行います。
インスタンスはAWS MarketplaceからCentOS7を選択し作成したのでmariaDBがデフォで存在、手順に則って削除しています。
rootユーザのpass設定まで実施しインストール完了。
以下は私の環境での作業ログです(rootユーザで作業しているのでsudoは不要)。

# rpm -qa | grep maria
mariadb-libs-5.5.56-2.el7.x86_64

# yum remove mariadb-libs
# rm -rf /var/lib/mysql

# rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# yum install --enablerepo=mysql57-community mysql-community-server
# mysqld --version
mysqld  Ver 5.7.24 for Linux on x86_64 (MySQL Community Server (GPL))

# systemctl enable mysqld
# systemctl is-enabled mysqld ※自動起動の状態であるかを確認するコマンド
enabled

# systemctl start mysqld
# systemctl status mysqld

# grep 'temporary password' /var/log/mysqld.log 
2018-11-07T05:09:56.133511Z 1 [Note] A temporary password is generated for root@localhost:パスワード
# mysql -uroot -p
Enter password: 

mysql> alter user 'root'@'localhost' identified by 'MyNewPass4!';
mysql> select host, user from mysql.user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)

ユーザ作成、CRUD権限付与

mysql> create user ユーザ名 identified by 'パスワード';

今回作成したユーザは「特定データベースの全テーブルにCRUD権限を付与」だったので以下のコマンドを投入。権限の反映も行います。

mysql> grant select, insert, update, delete on `DB名`.* to 'ユーザ名'@'%';
mysql> flush privileges;

参考にしたサイト
https://www.karakaram.com/mysql-user-grant
https://qiita.com/FumiyaShibusawa/items/2e3b30ceedeafff0bce2

所感

SQLってなんで大文字なの?をググったところ好みの回答がありましたので共有。
クックパッドの勉強会はエンジニアの方がとても能動的&出てくる食事がバリウマ(クックパッド専属シェフ?のお手製)と聞いています。自分の目的とマッチした際に参加してみたいですね。

https://techlife.cookpad.com/entry/2016/11/09/000033

エラー(11/7追記)

久しぶりにインストール作業を行ったらエラーメッセージが。

Downloading packages:


Error downloading packages:
  1:perl-Pod-Simple-3.28-4.el7.noarch: [Errno 5] [Errno 12] メモリを確保できません
  〜省略〜
  perl-Pod-Perldoc-3.20-4.el7.noarch: [Errno 5] [Errno 12] メモリを確保できません

メッセージそのままでEC2インスタンスのメモリ不足(t2.micro)かな?と思いt2.mediumにスケールアップしたらあっさり解決しました。
メモリを増加するんじゃなくてインスタンスタイプを変更する、って考えなんですね。

https://qiita.com/copei/items/bb09d61a53514e028260

使ったコマンド

・バージョン確認
mysql -V

・ログイン
mysql -u root(もしくはユーザ名) -p

・DB作成
create database データベース名

・DB一覧
show databases

・DBログイン
use データベース名

・ユーザの新規作成
create user ユーザ名 identified by 'パスワード'

・ユーザ権限の変更
grant select, insert, update, delete on `DB名`.* to 'ユーザ名'@'%'

・ユーザ権限の確認
show grants for 'ユーザ名'

・ユーザ一覧
select host,user from mysql.user

・テーブル一覧
show tables

・カラム一覧
desc テーブル名
3
4
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
3
4