简明docker安装mysql8

简明docker安装mysql8

下载mysql8的docker镜像

docker pull mysql:8.0

查看镜像拉取情况

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               8.0                 db2b37ec6181        9 days ago          545MB
nginx               latest              f35646e83998        2 weeks ago         133MB

安装镜像到docker

docker run -d --name mysql8 -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=此处填数据库密码 -v /root/mysql:/var/lib/mysql  mysql:8.0

-d 为后台运行容器
-p 标识宿主机与容器端口映射(宿主:容器)
--restart 该参数可以指定一个重启策略,来指定容器应该如何重启,或不应该重启,当容器启用restart策略时,将会载docker ps 显示up 或者restart 状态,当然也可以使用docker events命令生效命令中restatcel策略。
-v valume(卷), 宿主机与容器共享数据的一种方式, 将宿主机/root/mysql与容器/var/lib/mysql映射起来.

查看安装情况

# 执行该命令会显示已安装的所有容器
docker ps -a

登录mysql容器

docker exec -it mysql8 /bin/bash

其他

创建mysql用户

create user 'username'@'IP' identified by '这里填密码';

-- 单IP
create user 'username'@'192.168.1.100' identified by '这里填密码';

-- IP段
create user 'username'@'192.168.1.%' identified by '这里填密码';

-- 所有IP
create user 'username'@'%' identified by '这里填密码';

用户授权

授权mysql用户对数据库的增删改权限

-- 查看权限
show grants for 'username'@'IP'

-- 授权
grant 权限 on 数据库.表名 to "用户名"@'IP';

-- 授权 test2020 用户仅对db2020.code表有查询、插入和更新的操作
grant select ,insert,update on db2020.code to "test2020"@'%';

-- 授权 test2020 用户对db2020下所有表有所有权限的操作
grant all privileges  on db2020.* to "test2020"@'%';

-- 授权 test2020 用户对所有库所有表有所有权限的操作
grant all privileges  on *.*  to "test2020"@'%';
 
-- 取消授权
revoke all privileges on *.* from 'test2020'@'%';
# mysql 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×