开发项目涉及到 MySQL时就需要MySQL管理工具, phpmyadmin 是一款网页功能强大的免费软件。

安装 MySQL

命令方式:

1
docker run -itd --name dev_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker-compose.yml 方式:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
version: '3'

services:
  mysql:
    image: "mysql"
    restart: always
    container_name: "mysqld"
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
    ports:
      - "3306:3306"

安装 phpmyadmin

管理 MySQL 的软件

修改 MySQL 配置

1
2
3
4
5
6
7
8
9
docker exec -it <dockerID> /bin/bash # 进入容器
mysql -u root -p # 进入 mysql

# 将root账号(可替换成其他)的host修改为%
update mysql.user set host = '%' where user = 'root';
# 查看修改结果
select host, user from user;
# 刷新加密方式
flush privileges;

安装 phpmyadmin

命令行方式:

1
2
3
4
5
docker run -d --name myadmin \
-e PMA_HOST=$(ip route show | grep docker0 | awk '{print $9}') \
-e PMA_PORT=3306 \
-p 3380:80 \
phpmyadmin/phpmyadmin
  1. PMA_HOST 连接MYSQL的host
  2. PMA_PORT 连接MYSQL的端口号
  3. 3380:80 3380为宿主机的,80为docker内部的端口号

docker-compose 套件

安装docker-compose

vim mysql-phpmyadmin.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3.2'

services:
   db:
      image: mysql:8.0
      container_name: appsDB
      restart: always
      ports:
       - '6603:3306'
      environment:
        MYSQL_ROOT_PASSWORD: helloworld

   app:
      depends_on:
       - db
      image: phpmyadmin/phpmyadmin
      container_name: phpmyadmin
      restart: always
      ports:
       - '8080:80'
      environment:
        PMA_HOST: db

启动

1
docker-compose -f mysql-phpmyadmin.yml up -d 

查看

1
docker ps

停止

1
docker-composer -f mysql-phpmyadmin.yml stop

开启

1
docker-composer -f mysql-phpmyadmin.yml start

空树之空