docker部署数据库

   搜索数据库镜像images  

  docker search mysql

  搜索结果如下图所示:

  

  选择合适自己的mysql版本

  因为mysql新版本出来了,很多特性没有学习,所以笔者安装了mysql:5.6 这个版本比较友好

  使用docker pull进行下载

docker pull mysql:5.6

  等待下载完成之后,使用 docker run 进行部署

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.6

  参数解析:

    -d : 表示后台运行

    -p : 表示端口映射  服务器端口:docker 内部mysql暴露的端口   即  你想自定义的端口号:3306

    -e : 环境变量或者参数设置  这里设置的是mysql 的root密码

    --name : 此容器的名字  可以通过 docker ps -a 进行查看 对容器的操作可以通过容器id 也可以通过容器名 

    mysql:5.6 指的是使用那一个镜像(image) 进行部署

  如此mysql就部署成功了

  进入容器,使用mysql,使用docker exec进入容器内部

docker exec -it mysql /bin/bash

  参数解析:

    -it : 可以理解为进入容器内部

    mysql : 容器名称  也可以使用容器id

    /bin/bash : 进入/bin/bash 目录 即可以使用命令行的方式 

  进入之后:

    

  此时只是进入了容器之中,并没有进入mysql

  使用 mysql -u root -p root 进入mysql 

mysql -u root -p
root

  进入之后就可以进行数据库的基本操作了。

  附上 mysql 创建用户和权限: mysql:5.6 和最新的mysql 版本创建用户和权限管理有很大区别,如果读者是安装的最新版的mysl 下面的方法可能不适用

create user '用户名'@‘ip’ identified by '密码';

  其中ip属性指的是限定某个ip才可以访问,%表示所有ip都可以访问  localhost 本机才可以访问

  修改密码:

update mysql.user set password = password('新密码') where user = '用户名';

  删除用户:

delete from mysql.user where user = '用户名';

  修改用户权限:

grant all privileges on 数据库名.表名 to '用户名'@‘ip’ 

  如果是所有数据库 所有表 使用 *.*    ip同上创建用户  可以使用 % 表示所有ip

  最后修改了需要刷新才能生效

flush privileges;

    

猜你喜欢

转载自www.cnblogs.com/linux0kk/p/12200868.html