原创

Docker 搭建 MySQL 8.0使用

1.查找镜像

查找Docker Hub上的mysql镜像

docker search mysql

file

2.pull镜像

docker pull mysql

拉取官方镜像文件:

file

查看镜像文件:

[root@iZuf6f2iqt161crtd1qaapZ ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               latest              990386cbd5c0        2 days ago          443MB

运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306

[root@iZuf6f2iqt161crtd1qaapZ ~]# docker run --name mysql -e MYSQL_ROOT_PASSWORD=Aa123456 -p 3306:3306 -d mysql

查看已运行的容器:

[root@iZuf6f2iqt161crtd1qaapZ ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
a8e3f4a5276a        mysql               "docker-entrypoint.s…"   5 seconds ago       Up 3 seconds        0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

进入mysql容器并在容器内登陆Mysql::

[root@iZuf6f2iqt161crtd1qaapZ ~]# docker exec -it mysql bash
root@a8e3f4a5276a:/# mysql -u root -p;
Enter password:

输入密码即可

查看用户信息

file

备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

FLUSH PRIVILEGES;

创建用户

CREATE USER user IDENTIFIED BY 'password';

也可以这样 给与ip地址权限

CREATE USER `user`@`%` IDENTIFIED BY 'passowrd';

接下来授权

GRANT ALL PRIVILEGES ON *.*  TO 'user'@'%';

刷新权限

FLUSH PRIVILEGES;

本地远程连接

file

数据库时区问题:

链接数据库时serverTimezone=UTC这个参数出的问题

只要改成serverTimezone=Asia/Shanghai即可

启动/停止容器

启用:

docker start mysql

停止:

docker stop mysql

删除容器与镜像

删除容器:

docker rm mysql

删除镜像:

docker rmi mysql
本文目录