目录
- 拉取镜像
- 查看镜像
- 启动容器
- 查看运行中的容器
- 连接到 MySQL 容器
- 其他一些操作
- 装WorkBench链接mysql
- ——————————————
- 允许远程登录MySql
拉取镜像
docker pull mysql
查看镜像
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 50296fefa2a2 3 months ago 625MB
启动容器
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=yourpassword -d -p 3306:3306 mysql
docker run
创建并启动一个新的容器。
--name mysql-container
为容器指定一个名称。
-e MYSQL_ROOT_PASSWORD=yourpassword
用于设置 root 用户的密码,yourpassword
替换成自己的密码
-d
容器会在后台运行,不会占用当前终端。关闭终端容器不会停止
-p 3306:3306
映射容器端口到主机端口,第一个 3306 是主机的端口号,第二个 3306 是容器内部的 MySQL 服务端口号
mysql
指定要使用的 Docker 镜像
查看运行中的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d26e607703b8 mysql "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-container
连接到 MySQL 容器
docker exec -it mysql-container mysql -u root -p
其他一些操作
如果容器内安装了 bash 或 sh,可以使用以下命令,进入容器交互界面
docker exec -it mysql-container bash
docker exec -it mysql-container sh
退出交互界面,不影响容器继续运行,因为前面执行run命令用了-d
exit
停止
docker stop mysql-container
启动
docker start mysql-container
重启
docker restart mysql-container
销毁
docker rm mysql-container
装WorkBench链接mysql
基本使用
——————————————
允许远程登录MySql
如果不是本地数据库
运行以下 SQL 命令,允许 root 用户从任意主机连接:
CREATE USER 'root'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
允许 root 用户从 IP 地址(假设) 192.168.1.100 连接,
CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;
检查防火墙规则:
sudo ufw status
允许 3306 端口:
sudo ufw allow 3306