docker 配置mysql5.5

228 阅读1分钟

一、背景

最近由于老项目使用的是8.0以下版本的mysql,所以现用docker构建一个≥5.5 且 < 8.0 的版本。

现对搭建过程中的步骤以及常见问题做以下记录。

二、步骤

1. 查看images

snackpub@snackpubdeMacBook-Pro ~ % docker images

REPOSITORY                 TAG       IMAGE ID       CREATED         SIZE
cytopia/mysql-8.0          latest    32897f5dddb5   6 years ago     2GB
drupalci/mysql-5.5         latest    7afc76dd4329   8 years ago     346MB

2. 运行容器:

docker run --name mysql5.5 [your_con_id or image_name] -p 3307:3306 

3. 查看你的容器

snackpub@snackpubdeMacBook-Pro ~ % docker ps      

CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS          PORTS                    NAMES
70231afa3b8f   drupalci/mysql-5.5   "/bin/bash /opt/star…"   42 minutes ago   Up 42 minutes   0.0.0.0:3307->3306/tcp   mysql5.5t

// 查看运行日志: options: --tail=100 --since='2024-04-20'
snackpub@snackpubdeMacBook-Pro ~ % docker logs [container_id or container_name]

4. 进入容器

snackpub@snackpubdeMacBook-Pro ~ % docker exec -ti 70231afa3b8f /bin/bash

5. 重新设置密码:

root@70231afa3b8f:/# /usr//bin/mysqladmin -u root password 'snackpub'
-- root@70231afa3b8f:/# /usr//bin/mysqladmin -u root -h 9b06f171e380 password 'snackpub'

6. 安全策略配置:

root@70231afa3b8f:/# /usr//bin/mysql_secure_installation

7. 因为连接错误次数过多,刷新一下hosts

mysql> flush hosts;

8. 对外开放出来(重点)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'snackpub';
Query OK, 0 rows affected (0.03 sec)

如果不执行 grant all 这一步的授权,使用客户端无论如何都连接不上!!!

image.png