使用docker部署mysql

准备

  1. 安装docker
    sudo pacman -S docker
  2. 启动docker
    sudo systemctl start docker
  3. 开机启动
    sudo systemctl enable docker
  4. 关闭
    sudo systemctl stop docker
  5. 建立 docker 用户组
    默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
    • 建立 docker 组:
      $ sudo groupadd docker
    • 将当前用户加入 docker 组:
      $ sudo usermod -aG docker $USER

      $ sudo gpasswd -a [用户名] [组名]
    • 退出当前终端并重新登录
  6. 测试 Docker 是否安装正确
    $ docker run hello-world

下载

下载mysql镜像
docker pull mysql:5.7
查看镜像
docker image ls

启动容器

docker run --rm -d --name mysql -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7

-rm:容器用完就销毁,因为我们的数据都是存储在数据卷上,所以容器停止运行后可以直接把它删除就行了
-d:让容器在后台运行
-name:指定容器的名称
-p:容器的3306映射到主机的3306端口
-v:容器的/var/lib/mysql目录挂载在主机的/opt/mysql/data目录
mysql:5.7:镜像ID或REPOSITORY:TAG, 可通过docker image ls查看
-m 或 --memory::设置内存的使用限额,例如 100M, 2G。
--memory-swap:设置 内存+swap 的使用限额。
docker run -m 200M --memory-swap=300M mysql
其含义是允许该容器最多使用 200M 的内存和 100M 的 swap。默认情况下,上面两组参数为 -1,即对容器内存和 swap 的使用没有限制。如果设置成一样表示分配200M内存,不分配交换内存.
-e:设置默认参数,支持参数:

MYSQL_ROOT_PASSWORD
MYSQL_DATABASE
MYSQL_USER, MYSQL_PASSWORD
MYSQL_ALLOW_EMPTY_PASSWORD
MYSQL_RANDOM_ROOT_PASSWORD
MYSQL_ONETIME_PASSWORD

进入容器

docker exec -it mysql mysql -uroot -p

-i -t 参数
只用-i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。当-i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符
mysql-it后面的mysql表示容器名称或容器ID
mysql -uroot -p:表示进入容器后要执行的命令,可以为sh:表示进入容器后执行sh进入shell

使用

  1. 创建帐号
    命令:create USER 'username'@'host' IDENTIFIED BY 'password';
mysql> create USER 'admin'@'%' IDENTIFIED BY 'admin'; 
  1. 授权
    命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
mysql> GRANT ALL ON *.* TO 'admin'@'%';
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
mysql> GRANT ALL ON *.* TO 'admin'@'%' WITH GRANT OPTION;
  1. 刷新授权
mysql> flush privileges;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值