目 录CONTENT

文章目录

Docker安装MySQL并启动

筱晶哥哥
2022-03-27 / 0 评论 / 0 点赞 / 31 阅读 / 4798 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Docker安装MySQL。

Docker拉取MySQL镜像

前提要安装好Docker哈~~~

docker pull mysql:5.7

Docker运行MySQL

[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更改数据库的连接方式

[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> 

然后再连接即可。

详细配置

下载镜像文件

# 拉取镜像
sudo docker pull mysql:5.7

# 查看全部镜像
sudo docker images

创建实例并启动

# 切换成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 配置文件

# 如果没有 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

0

评论区