php无法连接mysql8 mysql_native_password
1. 下载Mysql的Docker镜像:
$ docker search mysql (搜索mysql镜像)
$ docker pull mysql (下载mysql镜像,默认最新版本)
2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。测试过程没有挂载本地数据盘:
docker run -it –rm –name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
3. 查看已运行的容器:
docker ps -a
4. 进入mysql容器:
docker exec -it mysql bash
5. 在容器内登陆Mysql:
mysql -uroot -p123456
6. 查看用户信息
select host,user,plugin,authentication_string from mysql.user;
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
ALTER user ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
FLUSH PRIVILEGES;
mysql> exit;
ctrl+d 退出容器且关闭, docker ps 查看无
ctrl+p+q 退出容器但不关闭, docker ps 查看有