1 Docker 安装 封装MySQL
mysql image
安装mysql镜像
docker pull mysql
创建一个新的容器
docker run -p 3307:3306 --name mysql_1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
-p设置端口 原本装有MYSQL所以3306被占用,我们把暴露的接口设置为3307
--name是镜像的名称
-e 代表配置的参数
MYSQL_ROOT_PASSWORD=123456 将root密码设置为123456
2 MySql问题解决
使用工具连接数据库出现错误
MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found
执行命令进入docker环境
docker exec -it mysql_1 bash
输入命令和密码 进入mysql
mysql -u root -p
切换数据库
use mysql;
查询
select host,user,plugin from user where user='root';
更新密码
这里注意两点:
1:网上查的很多其他资料都是的user值都是:'root'@'localhost' 但是我亲测这样修改依然无法连接,将user值改为: 'root' 后才能正常连接。
2:用你自己的数据库密码替换 123456 的值。
alter user 'root' identified with mysql_native_password by '123456';
生效
flush privileges;
重启mysql_1镜像:
docker stop mysql_1
docker start mysql_1
这时候再用数据库连接工具就可以连接到配置好的数据库了。