在 Docker 中安装, 运行 MySQL

Docker-Mysql

1. 在 Docker 中安装 MySQL

  • 使用 Docker Hub 上的 MySQL 镜像安装 Mysql

docker pull mysql

2. 运行 MySQL

2.1 运行 MySQL

docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 -d -p 3306:3306 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  • –name my-mysql: 指定当前运行的 Docker 容器名为 my-mysql
  • -e MYSQL_ROOT_PASSWORD=123456 : 指定 root 用户的密码, 如果不指定则无法通过 mysql -u root -p 的方式登录 MySQL
  • -d : 表示后台运行 mysql
  • -p 3306:3306 : 表示将 Docker 容器的3306端口映射到主机的3306 端口,如果不做端口映射则无法在主机的客户端访问到 Docker 容器的 MySQL
  • mysql : 表示启动 mysql 镜像
  • –character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci : 设置 MySQL 的字符集编码

通过上面的配置就可以在 Docker 容器中登录 MySQL 了, 但是依然无法在主机的客户端上访问 MySQL.

2.2 在 Docker 容器中登录 MySQL

  • 进入my-mysql 容器的 Docker bash

docker exec -it my-mysql bash

  • 登录 MySQL

docker exec [OPTIONS] CONTAINER COMMAND [ARG…]

-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

MacBookProOfDreamLi:~ dreamli$ docker exec -it my-mysql bash
root@7bf94b06a6cf:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 8.0.15 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> 

3. 在客户端连接 MySQL

  • 进入 MySQL 的 Docker bash

MacBookProOfDreamLi:~ dreamli$ docker exec -it my-mysql bash
root@7bf94b06a6cf:/# mysql -u root -p

  • 授权用户

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
---- 123456 为你的密码

  • 通过主机客户端(MySQLWorkbench)连接 MySQL

MySQLWorkbenchConnection
ConnectionSuccess

发布了25 篇原创文章 · 获赞 36 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/DreamLi1314/article/details/88728402