关于golang使用mysql以及docker的一些坑

本文详细介绍了在使用Golang操作MySQL时遇到的权限问题,包括不同类型的数据库用户权限设置,以及在Windows上安装Docker时如何开启Hyper-V和使用Docker Toolbox的步骤。确保正确配置权限和安装环境,避免遇到Access Denied错误和安装问题。
摘要由CSDN通过智能技术生成

一、关于mysql数据库权限的问题

      首先,在使用mysql的时候,我们新建一个数据库,并且在数据库新建一个表格后,一般我们会新建一个用户,然后使用该用户对该数据库进行管理,这时候我们必须对于该用户赋予操作该数据库的相关权限,具体有以下几种权限以及对应操作。没有赋予权限时候,golang对于数据库的操作都会报Access Denied的错误。关于mysql的安装以及配置可以借鉴以下博客:http://www.cnblogs.com/sshoub/p/4321640.html

关于新建数据库用户以及赋予用户权限的相关操作如下:

用户管理
mysql>use mysql;
查看
mysql> select host,user,password from  user ;
创建
mysql> create user  zx_root    IDENTIFIED by 'xxxxx';   //identified by 会将纯文本密码加密作为散列值存储
修改
mysql>rename   user  feng  to   newuser;//mysql 5之后可以使用,之前需要使用update 更新user表
删除
mysql> drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限
更改密码
mysql> set password  for zx_root =password('xxxxxx');
 mysql> update  mysql.user  set  password=password('xxxx')  where user='otheruser'
查看用户权限
mysql> show grants for zx_root;
赋予权限
mysql> grant  select on dmc_db.*   to zx_root;
回收权限
mysql> revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错
 
上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔
mysql> grant  select,update,delete  ,insert  on dmc_db.*   to  zx_root;
如果想立即看到结果使用
flush  privileges ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值