docker 安装mysql

启动 Docker 后台服务

sudo systemctl start docker

 下载mysql docker镜像

docker pull mysql:5.7

启动mysql的容器

docker run -d --name mysqlserver -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
docker run [option] IMAGE [COMMOND] [ARG...]
# -d: 后台启动容器; --name:容器的别名,默认为随机的 -p 端口映射 ,设置mysql密码为123456

进入mysql

docker ps

docker exec -it 6d9c335cddce /bin/bash

6d9c335cddce容器的ID,

-t 让docker分配一个伪终端,并绑定到容器的标准输入上;

-i 让容器的标准输入保持打开;

mysql -h 127.0.0.1 -u root -p

Enter password:

mysql> grant all privileges on *.* to 'root'@'%';

给用于授予权限

mysql> flush privileges;  刷新权限

mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。 

从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。

客户端不支持新的加密方式。

方法之一,修改用户的密码和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

如果还是不能链接,关闭宿主机的防火墙试试。

systemctl start firewalld # 开启防火墙
systemctl stop firewalld  # 关闭防火墙
systemctl status firewalld  #检查防火墙状态

设置完后,关闭容器,在通过镜像开启,设置会丢失,除非找到之前的容器启动。

所以直接容器保存为新的镜像。

docker commit -a "snow" -m "om-db-server" a0e7987b5999 om_db_server:1.0
  • -a :提交的镜像作者;

  • -c :使用Dockerfile指令来创建镜像;

  • -m :提交时的说明文字;

  • -p :在commit时,将容器暂停。

查看镜像,

你可能感兴趣的:(docker 安装mysql)