使用docker建立mysql資料庫

最近工作需要使用mysql資料庫,便在本機使用docker建立mysql資料庫

使用docker建立資料庫

以下指令是指建立一個名為the-mysql的container,將container埠號3306榜定在本機3306,加入可調整系統NICE的權限,掛載本機dump.sql檔案成為container初始匯入的資料,設定連入的使用者,使用mysql最新的image來處理

docker run --name the-mysql \
-p 3306:3306 \ --cap-add SYS_NICE \
-v ./dump.sql:/docker-entrypoint-initdb.d/init.sql \
-e MYSQL_DATABASE=my_database \
-e MYSQL_ROOT_PASSWORD=rootpass \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=userpass \
-d mysql:latest


進入container

docker exec -it the-mysql bash

登入mysql確認user可以使用倒入的(dump.sql)資料表

mysql -u user -p my_database

輸入SQL語句

show tables;
select * from {你匯入的的資料表名稱};


使用compose建立

以下yml內容是指建立一個service,使用my_database作為container名稱,將container埠號3306榜定在本機3306,加入可調整系統NICE的權限,掛載本機dump.sql檔案成為database初始匯入的資料,設定連入的使用者,使用mysql最新的image來處理

version: '3.8'
services:
database:
container_name: my_database
image: docker.io/mysql:latest
cap_add:
- SYS_NICE
restart: always
environment:
MYSQL_DATABASE: my_database
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: user
MYSQL_PASSWORD: userpass
ports:
- 3306:3306
volumes:
- dbvolume:/var/lib/mysql
- ./dump.sql:/docker-entrypoint-initdb.d/init.sql
volumes:
dbvolume:
driver: local
name: my_db_volume


進入container

docker-compose exec database bash

登入mysql確認user可以使用倒入的(dump.sql)資料表

mysql -u user -p my_database

輸入SQL語句

show tables;
select * from {你匯入的的資料表名稱};


參考資料



留言