1, 安装 MySQL 镜像
docker pull MySQL/MySQL-server
2,docker 中启动 MySQL 容器
docker run --name mysql01 -d -p 3306:3306 MySQL/MySQL-server
启动后执行:
docker ps
通过以下命令查看 root 的 password
docker logs mysql01
navicat 连接 MySQL 服务器测试
原因: MySQL 处于安全考虑, root 用户只能在本地登录.
因此我们需要进入容器创建用户并授权.
且 MySQL MYSQL_ONETIME_PASSWORD 环境变量默认为 true,root 用户密码默认只能使用一次, 登录 MySQL 后需要修改 root 的密码.
通过以下命令进入 MySQL 容器
docker exec -it mysql01 bash
通过以下命令进入 MySQL 交互模式, 输入刚才 docker logs mysql01 中的密码
MySQL uroot -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
创建用户, 授权.% 代表任何地址都可以连接到服务器.
- CREATE USER 'LZL'@'%' IDENTIFIED BY 'pwd123456';
- GRANT ALL PRIVILEGES ON *.* TO 'LZL'@'%' WITH GRANT OPTION;
再次利用 navicat 连接, 即可成功.
3, 上面较为麻烦, 还需进入 MySQL 修改想对应的设置, 下面一条命令即可配置全部信息. 包括设置字符集, 用户, 密码等操作.-e 代表环境变量 -d 以后台模式运行容器 -p 端口映射 --character-set-server 为 MySQL 字符集设置
- docker run -d -p 3306:3306
- -e MYSQL_USER="lzl"
- -e MYSQL_PASSWORD="password"
- -e MYSQL_ROOT_PASSWORD="password"
- --name mysql01
- MySQL/MySQL-server
- --character-set-server=utf8
- --collation-server=utf8_general_ci
来源: https://www.cnblogs.com/roluodev/p/12128518.html