MySQLにAP専用ユーザーとデータベース、テーブルを作成する
【本忘備録目的】
SpringBootで作成したjavaWebAPをサーバー側にデプロイしたのち、そのjavaWebAPと連携するDBを構築する。
|環境||
|----|----|----|
|OS|Linux ubuntu20.04|
|Web_S|apache|
|App_S|tomcat|
|DB_S|MySQL|
ポイント
- サーバー側のMySQLにAP用のユーザーやDB,パスワード等を設定する。
- AP側のDBに関するプロパティファイルの内容(DBユーザー名とパスワード)をサーバー側の内容と合ううように変更する。
sudo mysql
- MySQL 5.7(またそれ以降のバージョン)を実行しているUbuntuシステムでは、rootMySQLユーザーはデフォルトによりパスワードではなくauth_socketプラグインを使用して認証するように設定されています。【中略】
- root MySQLユーザーにアクセスできるようにするには sudo権限でmysqlを呼び出す必要があります。
(参考)https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04-ja
MySQLにAP専用ユーザー作成
CREATE USER 'AP専用ユーザー'@'%' IDENTIFIED WITH mysql_native_password BY '任意のパスワード';
@'%'はホスト名を表す。
以下詳細
https://qiita.com/YuichiTanaka007/items/f31f94ace4bac0aaf990#%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D
MySQLにAP専用ユーザーにグローバル権限を付与する
専用ユーザーでDBやテーブルの作成等ができるようにグローバル権限を付与する
GRANT ALL ON 特定のDB名.* TO 'AP専用ユーザー'@'%';
GRANT ALL ON 特定のDB名.* TO 'AP専用ユーザー'@'%';
| 部分 | 説明 | 備考 |
|---|---|---|
| GRANT | 権限を与える | |
| ALL | グローバル権限 | |
| ON 特定のDB名.* | 特定のDBの全ての権限 | ON db_name.* 構文 |
| 'AP専用ユーザー'@'%'; | AP専用ユーザーに対して | |
| 【ポイント】 | ||
| ・「特定のDB名」はこれから作るDB名を指定してOK。 | ||
| ・ 先にGRANTしないと権限がないので、DB等の作成ができない。 |