目前我們都是以root的身分在操作資料庫,root密碼也直接放在設定檔裡面,權限太大,風險也太大,只需要給到能操作app database的程度就可以了,不需要用到root身份
進入database後輸入
CREATE USER 'YourNewUserName'@'localhost' IDENTIFIED BY 'YourUserPassword';
建立一個新的user後,預設是沒有任何權限的,我們需要改他DELETE, INSERT, SELECT, UPDATE與執行procedure與function的權限
GRANT DELETE, INSERT, SELECT, UPDATE, EXECUTE ON app.* TO `YourNewUserName`@`%`;
解釋:
修改config/app/app.yaml的database.main.user與password為新的user與密碼
另外,我們的docker-compose.yaml裡面也有設定環境變數,因為之前已經用volume掛載在本機上了,那些環境變數可以直接清除
db:
image: mysql:8.0
volumes:
- ./database/maindata:/var/lib/mysql
現在root密碼只有你知道了
準備的工作全部搞定了,可以上縣了
工作環境沒變動