从远程镜像源中获取最新的mysql镜像
$ docker pull mysql:latest查看本地镜像
$ docker images运行mysql容器
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql查看容器运行状态
$ docker ps可以看到容器已经处于运行状态,现在通过navicat应该是可以连上mysql服务。
Authentication plugin ‘caching_sha2_password’ cannot be loaded
首先查询mysql user表
mysql> use mysql; mysql> select user,host,plugin,authentication_string from user;修改root用户
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';按道理修改完是可以连接上的(上一步骤是修改过后的root用户信息),但是并没有。折腾了老半天,发现我查出root用户有两条数据,如上图的第一条和最后一条,差别在于host字段一个是“%”,另一个是“localhost”,查阅相关资料知道“%”代表其他ip访问mysql服务。我是通过vmware创建的虚拟机,在虚拟机中运行mysql的服务,然后是通过主机的navicat连接,所以这里需要把两个root用户的密码加密方式均改掉,如下:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';改完后,完美连接!
