描述
- docker安装好之后,打算安装mysql,结果出现了下面问题
问题
- no matching manifest for linux/arm64/v8 in the manifest list entries
解决-安装成功
- 解决1: 一开始以为是containerd.io的问题,下各种版本尝试发现都没有成功.
- 解决2: 既然出现arm64/v8的问题,说明还是版本不配置,看来mac上安装的centos8和windows上安装的centos8还是有区别的,更改使用指令:
docker pull mysql/mysql-server
ok了,完美解决.
docker运行-mysql
-
docker images
查看mysql的镜像ID
-
执行指令生成mysql容器名称并初始化mysql中的name和password
docker run -itd --name [镜像ID] -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql/mysql-server
说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
[扩展:-p之后可以追加如下指令进行扩展和挂载,用户可自选]
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机 -
查看mysql容器是否运行成功执行:
docker ps
,出现如下表示运行成功
-
进入容器
docker exec -it [容器名称] bash
-
登录mysql
mysql -u root -p
,然后输入密码即可(设置的密码处即上述2中描述)
docker安装mysql更改mysql权限
-
执行如下指令更改sql权限:
use mysql; update user set host = '%' where user = 'root'; flush privileges;
测试docker中mysql权限更改生效
-
通过外部连接进行测试,输入虚拟机ip和mysql的账号密码如图:
-
点击测试-运行-弹出“连接成功”意味着权限修改成功.
至此,docker安装mysql真正完成,大家通过外部连接mysql就可以放心使用啦~