使用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容器的主要内容,如果未能解决你的问题,请参考以下文章

docker搭建mysql读写分离

docker搭建mysql8.0

docker学习整理六 创建镜像

docker学习整理六 创建镜像

Docker教程-2-MySql容器的安装配置使用

Docker教程-2-MySql容器的安装配置使用