使用docker创建mysql容器
Posted 难熬的日子终会过去
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker创建mysql容器相关的知识,希望对你有一定的参考价值。
1、拉取mysql镜像
docker pull mysql
2.创建mysql容器(重点)
#其他的mysql容器占用了3306,这次我用3307,容器的3306是固定的,改了会连接不上
[root@localhost ~]# docker run -d --name mysql11 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% mysql
60ab4426db8c11499228ddf29f6e043b6b6293c81c8c97c8f5f6bb165a46644a
run:运行 -d:后台运行 --name:给容器命名 -p:映射端口,使用主机的3308映射到容器的mysql的3306端口
-e MYSQL_ROOT_PASSWORD:就是说要去设置root用户的密码
-e MYSQL_ROOT-HOST:设置主机,%代表是当前的本地主机
最后一个镜像以及标签,这里我们只有一个mysql:lastest,直接使用mysql即可
3、进入mysql容器并登录
#进入容器命令完成为docker exec -it mysql11 /bin/bash
[root@localhost ~]# docker exec -it mysql11 bash
bash-4.4# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 8
Server version: 8.0.31 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
mysql>
4、使用navicat连接
5、以上部分亲测有效,下面是拓展部分,如果连接成功,下面的操作不需要看
进行授权远程连接授权:GRANT ALL ON *.* TO 'root'@'%';
刷新权限:flush privileges
注意,这时还不能远程访问 因为Navicat只支持旧版本的加密,需要更改mysql的加密规则
更改加密规则:ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
更新root用户密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
刷新权限:flush privileges;
然后就可以连接了
以上是关于使用docker创建mysql容器的主要内容,如果未能解决你的问题,请参考以下文章