1.下载
仓库
命令 | 作用 |
---|
docker pull mysql:latest | 拉取最新的mysql镜像 |
docker pull mysql:XXX | 拉取版本号为XXX的mysql镜像 |
2.安装
docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/my.cnf \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.35 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
参数说明
命令 | 作用 |
---|
docker run | 创建并启动一个容器 |
–name mysql | 将容器取名为mysql |
–network my-net | 接入my-net网络(适情况添加) |
-d | 设置后台运行 |
-p 3306:3306 | 映射端口(宿主机端口:容器端口) |
–restart unless-stopped | 容器重启策略 |
-v /home/mysql/log:/var/log/mysql | 将日志文件夹挂载到宿主机(宿主机路径:容器路径) |
-v /home/mysql/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机(宿主机路径:容器路径) |
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf | 将配置文件夹挂载到主机(宿主机路径:容器路径) |
-e TZ=Asia/Shanghai | 指定时区 |
–lower_case_table_names=1 | 设置表名参数名等忽略大小写 |
-e MYSQL_ROOT_PASSWORD=123456 | 设置mysql密码 |
mysql:5.7.35 | 指定以哪个镜像创建容器(镜像名或镜像ID) |
–character-set-server=utf8mb4 | 设置数据库默认编码 |
–collation-server=utf8mb4_general_ci | |
--restart=always
--restart=on-failure:3
--restart=no
--restart=unless-stopped
docker update --restart=unless-stopped [container-name]
3.命令
mkdir -p /home/mysql/log /home/mysql/data /home/mysql/conf
docker ps -a
docker stop mysql
docker rm mysql
docker rm -f mysql
docker exec -it mysql bash
docker logs mysql
4. Mysql配置
grant all privileges on *.* to root@"%" identified by "123456" with grant option;
CREATE USER '用户名'@'host' IDENTIFIED BY '密码';
grant all privileges on *.* to '用户名'@'%' with grant option;
flush privileges;
说明:
参数 | 说明 |
---|
grant | 赋权命令 |
all privileges | 当前用户的所有权限 |
on | 介词 |
*.* | 当前用户对所有数据库和表的相应操作权限 |
root@“%” | 权限赋给root用户,所有ip都能连接 |
identified by “123456” | 连接时输入密码,密码为123456 |
with grant option | 允许级联赋权 |