1、下载mysql的镜像
docker search mysql
我们选择star数最多的镜像
docker pull mysql
查看镜像
docker images
2、安装mysql
mysql容器内部端口为3306 所以我们将Linux的port桥接到容器的3306端口上
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d docker.io/mysql
参数说明:
–name:给新创建的容器命名,此处命名为mysql
-e:配置信息,设置mysql登录密码
-p:端口映射,此处映射主机3306端口到容器的3306端口
-d:在后台运行
查看容器
docker ps -s
3、设置mysql
1)进入mysql容器
docker exec -it 容器id/容器名称 bash
2)登录mysql
mysql -u root -p
3)为root用户设置权限
grant all privileges on *.* to 'root'@'%' ;
刷新权限
flush privileges;
4)使用Navicat mysql远程连接mysql
报错,连接不上
查看mysql版本
由于mysql8.0默认的密码加密方式是 caching_sha2_password,而目前大多数人使用的navicat版本是不支持的,所以要把加密方式修改为mysql_native_password
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
再次连接,连接成功
5)进入mysql容器查看时区
设置时区的两种方式
(1)在启动容器的命令
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ="Asia/Shanghai" -p 3306:3306 -d docker.io/mysql
(2) 进入容器修修改时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime