1、查询
docker search mysql
2、拉取镜像
docker pull mysql
3、运行镜像
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 mysql
参数说明:
- -p 3306:3306
- :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过
- 宿主机ip:3306
- 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=123456
- :设置 MySQL 服务 root 用户的密码。
3.1 docker for wondows 持久化运行
在上面的命令运行后,在我们自己的实体机中创建 MySQL 挂载的目录,logs 看心情吧
将默认的配置文件复制到实体机
docker cp mysql:/etc/mysql/my.cnf E:/mysql/conf
先将上面运行的容器删掉,然后数据持久化运行
docker run --name mysql -p 3306:3306 -v /e/mysql/data:/var/lib/mysql/ -v /e/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=111111 -d mysql:8.0.25
参数说明: -v /e/docker/mysql/data:/var/lib/mysql/ 将本机上的 E:/docker/mysql/data 映射到 docker mysql 的 /var/lib/mysql/ 文件夹下面
--default-authentication-plugin=mysql_native_password : 是设置密码的加密方式,防止不一致
如果出现连接不上的问题,可以参考
(12条消息) docker mysql 远程连接 Lost connection to Mysql server_Dragon1993vsLong的博客-优快云博客
运行命令后,docker mysql 中的数据会复制到我们创建的 data 文件中
4、查看是否安装成功
5、进入容器
#进入容器 docker exec -it mysql bash
6、登录mysql 并修改密码
登录mysql mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';
7、添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!'; GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';
8、登录mysql
9、最后可以在实体机上连接