一、背景
最近由于老项目使用的是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 这一步的授权,使用客户端无论如何都连接不上!!!