お仕事

MySQL

[MySQL]CentOS7 にMySQL8.0のインストール

[環境]

CentOS: 7.6

[手順]

1, 既存のMariaDBのアンインストール
sudo yum remove mariadb-libs

2, 不要ファイルの削除
sudo rm -rf /var/lib/mysql/*

3, MySQLのほかに必要なものをインストール
sudo yum install net-tools

4, ディレクトリの移動
cd /usr/local/src/

5, 以下のURLから対象のMySQL8.0のrpmのbundleをダウンロード

https://dev.mysql.com/downloads/mysql/

sudo wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-{バージョン数}-1.el7.x86_64.rpm-bundle.tar

6, tarで解凍
sudo tar -xvf mysql-{バージョン数}-1.el7.x86_64.rpm-bundle.tar

7, MySQLのインストール
sudo yum localinstall mysql-community-*

8, MySQLのファイルの保存ディレクトリの作成
sudo mkdir /var/lib/mysql-files

9, 以下のコマンドを実行
sudo mkdir /var/run/mysqld

10, 作成したディレクトリに権限を付ける
sudo chmod -R 777 /var/run/mysqld

11, MySQLの起動
sudo systemctl start  mysqld

12, MySQLの自動起動設定
sudo systemctl  enable  mysqld

13, 以下のコマンドで初期のrootのパスワードを取得
sudo grep password /var/log/mysqld.log

2020-10-04T03:39:20.279147Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: {パスワード}

14, MySQLの初期設定
sudo  mysqld  --initialize-insecure
sudo  mysql_secure_installation

15, ダウンロードしたファイルの削除
sudo rm -rf /usr/local/src/*

参考サイト

MySQL 8.0 初期設定覚書: https://qiita.com/nobu-maple/items/3849b2161a21f90ae298

≫ 続きを読む

MySQL   2020/10/04   tekitoizm

【MySQL】DBの制限ユーザーの作成

やりたいこと

・MySQLにユーザーを追加

・追加したユーザーが使えるDBを制限

 

前提

・新規に作成するユーザーは「new_user」

・新規に作成するユーザー(new_user)が使えるDBは「test_db」のみSELECTもINSERTも許可

 

やり方

1, MySQLにrootで接続

2, GRANT ALL PRIVILEGES ON test_db.* TO new_user@localhost

3, FLUSH PRIVILEGES で権限の反映

 

備考

- GRANT '権限種類' ON 'DB名'.'テーブル名' TO 'ユーザー名'@'ホスト名'

- 権限の種類(一例)

-- SELECT (検索)

-- INSERT (登録)

-- DELETE (削除)

 

[参考サイト]

権限の種類と設定されている権限の確認(SHOW GRANTS文) - ユーザーの作成 - MySQLの使い方

権限の種類と設定されている権限の確認

≫ 続きを読む

MySQL   2018/07/14   tekitoizm

【MySQL】ユーザー関連の操作

よく忘れるので書いておく・・・

 

- ユーザーの追加

-- GRANT '権限' ON.*.* TO 'ユーザー名  IDENTIFIED BY 'パスワード'

 

-- 権限

--- 全ての権限を与える場合 : ALL

 

-- 書き方例

--- 'test_user'というユーザーを'test'というパスワードでログインできるように作成

---- GRANT ALL PRIVILEGES ON *.* TO test_user IDENTIFIED  BY 'test' WITH GRANT OPTION;

 

 

- パスワードの変更

-- MySQLにログインを行い

--- SET PASSWORD FOR '変更するユーザー名'@"%"=PASSWORD('変更後のパスワード');

 

- ユーザーの削除

-- MySQLにログインを行い

--- DELETE FROM user WHERE user='ユーザ名';

---- まぁuserテーブルから削除するということ

 

とりあえず、上記の操作覚えておけばなんとかなるはず・・・(無責任

以上

 

[参考サイト]

MySQL ユーザの操作(作成、パスワード変更、削除)

MySQL/ユーザとDB作成 - MinacoWiki

≫ 続きを読む

MySQL   2018/07/10   tekitoizm

【MySQL】実行SQLを出力させる

DBにMySQLを使用して開発を行っている場合

実行したSQLの確認がしたいときに

入れておく設定

 

- my.confを開く

- 以下を記入

[mysqld]

general-log=TRUE

general-log-file="ログを出力するファイルパス"

- MySQLの再起動

 

開発環境では常にONにしていたほうがよいと思う

- 本番ではやらないでね(容量が面白いことになると思うから)

 

[参考サイト]

mysqlで一般クエリログをする | Read it later.

≫ 続きを読む

MySQL   2018/07/10   tekitoizm