Docker安装mysql8

1.docker安装mysql  
docker pull mysql (例如:docker pull mysql:5.6)
2.查看mysql
docker images |grep mysql
3.查看本地镜像: (参数-a 表示所有)
docker images -a 
4.启动 mysql 容器,并进入 shell 命令交互界面:
docker run -it mysql /bin/bash  (参数 -i -t 等价于 -it  表示insert , 进入 ;  /bin/bash 表示 shell 脚本交互界面 )
5.查看 mysql 版本信息 ( mysql --help 查看帮助信息,并在结果集中 查找 Distrib)
mysql --help | grep Distrib
6. 退出 当前交互窗口:exit 。此操作会关闭 mysql 服务 。
(对于创建的bush 容器,exit 退出后,容器也会退出。 这是因为对Docker 来说,容器中的应用退出了,容器也就没有必要继续运行了。)
7. 想要服务一直运行可以:
docker run -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
(参数 -p 设置端口,--name 取名 ,-e MYSQL_ROOT_PASSWORD=123456 设置 账号为 root ,密码为 123456 ,  -d 表示作为一个守护进程在后台运行 )
8. 查看运行中的容器:
docker ps   (可加参数 -a 表示所有,如果不加这个参数只会展示运行状态的容器, 按容器即服务的思想,某种程度上可以把容器也当作服务,)
9.关闭容器 (628a520a1c71是mysql容器的ID)
   docker stop 628a520a1c71
10.删除容器  (mysql是自己命名的容器名)
  docker rm -f mysql 
11.通过 docker port 容器name 查看对应端口:
docker port my_mysql
12.相关文件地址配置 ,可以在运行容器时设置 :(重新启动mysql,并挂载配置文件到宿主机)
docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql
(
命令说明:
• -p 3306:3306:将容器的3306端口映射到主机的3306端口
• -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf
• -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs
• -v $PWD/data:/mysql_data:将主机当前目录下的data目录挂载到容器的/mysql_data
• -e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
)

13.在shell中访问mysql
docker exec -it my_mysql bash
mysql -u root -p
密码:123456
-----其他参考命令

mysql8设置密码
update mysql.user set host="%" where user="root";
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

 

posted @ 2019-06-24 20:56  将军上座  阅读(1454)  评论(0编辑  收藏  举报