Docker部署Mysql:最简单的配置如下,当然还有数据卷映射的,可以在下面配置中自行加入属性
需要提前设置好docker的编排工具: docker-compose
启动的时候采用docker-compose up -d 启动 ,停止并删除容器采用 docker-compose down
容器启动之后, 采用 docker ps -a 查看容器的启动状态,如果Status属性那一列中对应的状态是 UP xxx,表示正常启动容器
启动完容器之后,查看状态不正常之后,可以 docker-compose logs -f 查看当前容器启动的日志
.
.
一:部署mysql5.x版本
docker-compose.yml文件: 注意 属性和值之间有一个空格!!不能省略,否则报错
version: '3.1'
services:
mysql:
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_USER: 'root'
MYSQL_PASS: 'root'
image: "daocloud.io/library/mysql:5.7.5-m15"
container_name: mysql
ports:
- "3306:3306"
注意,只是简单的设置root密码,
会经常被人改写,搞乱自己的数据库表
,这里需要改写一下密码改成自定义密码,密码改写不能直接在docker-compose.yml中直接修改root,会报错
,必须按照下面步骤进行,简单步骤如下:
1,进入容器内部: docker exec -it mysql /bin/bash
2,进入mysql 服务器: mysql uroot -p
紧接着提示输入密码,直接输入上述docker-compose.ym中的密码 root
3,成功进入mysql, 输入命令 grant all privileges on *.* to 'root'@'%' identified by 'xzq#123456' with grant option;
注意:这里的xzq#123456是自定义密码。
4,刷新权限:flush privileges;
5, exit
退出mysql后 接着 exit
退出容器内部。
.
二:部署mysql8.x版本
version: '3.1'
services:
mysql:
image: mysql:8.0.18
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root
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
ports:
- 3306:3306
volumes:
- ./data/:/var/lib/mysql
注意:部署完8.0版本可能还不能直接连接,会报错,需要进入到mysql容器内部将加密类型修改一下,然后刷新,就可以连接了
具体修改操作自行查找或同上步骤