Docker安裝Mysql(docker-compose.yml)
阿新 • • 發佈:2020-08-24
建立docker-compose.yml檔案
version: '2' services: db: image: 'mysql/mysql-server:5.7' restart: always container_name: mysql57
privileged: true environment: MYSQL_USER: yunwisdom MYSQL_PASSWORD: password123 MYSQL_DATABASE: database MYSQL_ROOT_PASSWORD: password123 ports:- '3337:3306'
將以上檔案儲存為docker-compose.yml檔案
其他配置檔案:
version: '3' services: db: image: mysql restart: always privileged: true environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4--collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M; ports: - 3306:3306 volumes: - ./data:/var/lib/mysql
啟動docker-compose指令碼
docker-compose up 啟動docker-compose(後臺模式-不列印日誌) docker-compose up -d
進入容器建立使用者
#########Docker命令檢視對應MySQL容器的ContainerID/Image等資訊######### C:\Workspace\Docker\MySQL>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bac300781058 mysql/mysql-server:5.7 "/entrypoint.sh mysql" 2 days ago Up About an hour (healthy) 33060/tcp, 0.0.0.0:3337->3306/tcp mysql57 #########################通過Docker容器進入MySQL############## C:\Workspace\Docker\MySQL>docker exec -it bac300781058 bash #########################登陸Mysql並新建使用者####################### bash-4.2# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 123 Server version: 5.7.26 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. #########################建立使用者並分配許可權####################### mysql> create user 'admin001'@'%' identified by 'password123'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to 'admin001'@'%' identified by 'password123'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> create database database001; Query OK, 1 row affected (0.00 sec) mysql>create database database002 default charset utf8 collate utf8_general_ci; Query OK, 1 row affected (0.00 sec) ####################### 刪除使用者及許可權 ######################### mysql>drop user 'admin001'@'localhost' mysql>drop user 'admin001'@'%' ####################### 新建使用者後,使用admin001登陸 ######################### bash-4.2# mysql -u admin001 -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 142 Server version: 5.7.26 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>