拉取 MySQL 镜像
这里我们拉取官方的最新版本的镜像:
docker pull mysql:5.7
查看本地镜像
使用以下命令来查看是否已拉取到 mysql
docker images
在上图中可以看到我们已经安装了5.7版本的 mysql 镜像。
运行容器
安装完成后,我们可以使用以下命令来运行 mysql 容器:
docker run -p 3306:3306 --name mysql -v /usr/local/workspace/mysql/conf:/etc/mysql -v /usr/local/workspace/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7
参数说明:
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=password:设置 MySQL 服务 root 用户的密码。
- -v /usr/local/workspace/mysql/conf:/etc/mysql :配置文件映射
- -v /usr/local/workspace/mysql/data:/var/lib/mysql : 配置数据文件映射
安装成功
通过 docker ps 命令查看是否安装成功:
本机可以通过 root 和密码 password访问 MySQL 服务。
进入Mysql命令行
# 根据容器名称mysql使用命令进入容器
docker exec -it mysql bash
# 进入Mysql
运行数据脚本
- 创建数据库
mysql> create database xxxx
- 上传脚本
通过上传工具上传数据脚本到服务器
- 将脚本复制到mysql镜像容器
docker cp /var/local/xxxx.sql mysql:/var/local
- 运行脚本
# source /var/local/执行的sql文件
mysql> source /var/local/xxxx.sql
设置数据库远程访问权限
1、查看mysql库中的user表的host字段
使用mysql库:use mysql
查询信息:select user,host from user
host字段中,localhost表示只允许本机访问,要实现远程连接,可以将root用户的host改为%,%表示允许任意host访问,如果需要设置只允许特定ip访问,则应改为对应的ip。
2、修改root用户的host字段,命令:update user set host="%" where user="root"
3、使本次修改立即生效,命令:flush privileges