Docker安装MySQL并启动

Docker安装MySQL。


Docker拉取MySQL镜像

前提要安装好Docker哈~

1
docker pull mysql:5.7

Docker运行MySQL

1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 e1e1680ac726
8aa1b356648e8e54ff01475a9412c1669021540ca8b7f8225808af4c55be4160
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8aa1b356648e e1e1680ac726 "docker-entrypoint..." 6 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql 5.7 e1e1680ac726 2 weeks ago 373 MB

其中,e1e1680ac726为镜像id,使用 docker images 可查看。

连接测试

使用Navicat创建MySQL连接,然后输入对应的ip,数据库信息,连接即可。

MySQL8.0使用navicat连接方式升级不能连接问题

连接时出现这样的提示:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:??????

通过Docker进入容器的Bash更改数据库的连接方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~]# docker exec -it mysql8 bash
root@599ce281ef9b:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql>

然后再连接即可。

详细配置

下载镜像文件

1
2
3
4
5
# 拉取镜像
sudo docker pull mysql:5.7

# 查看全部镜像
sudo docker images

创建实例并启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 切换成root用户
su root

# 创建并运行容器
docker run -d -p 3306:3306 --name mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root mysql:5.7

# 参数说明
# -d 后台运行
# -p 端口映射
# -v 卷挂载
# -e 环境配置
# --name 容器名字

# 查看运行的容器
docker ps

修改配置文件

vim 修改 /mydata/mysql/conf/my.conf 下的 mysql 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 如果没有 vim 命令则安装 vim
yum install vim

# 进入配置文件
vim /mydata/mysql/conf/my.conf

# 文件内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

# 重启容器
docker restart mysql

进入容器

每个容器,相当于在 linux 内开辟一个小型的 linux

通过 docker exec -it 容器id/容器名 bin/bash 进入容器

可看到与linux系统相同的目录结构

在容器中可以使用 ctrl + p + q 返回 linux ,这时容器并不会停止运行

然后使用可视化工具连接即可,比如说 navicat 或者 sqlyog

点击查看

本文标题:Docker安装MySQL并启动

文章作者:LiJing

发布时间:2022年03月27日 - 20:02:27

最后更新:2023年06月03日 - 10:01:02

原始链接:https://blog-next.xiaojingge.com/posts/3460534558.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------