MySQL使用(1)-用户和授权

手动搭建一个帆软报表项目(3)

        上文已经写到在服务器上安装了MySQL服务,此篇主要是本地客户端连接服务器上的服务端。

  1. 创建用户

      初始化完的MySQL服务默认只有root用户只能在localhost和127.0.0.1上登陆。

    //使用mysql库
    use mysql;
    //查看所有用户的用户名、地址、密码
    select user,host,password from user;
    //查看用户所有信息(加\G让结果按一定格式输出,用于查询结果过长)
    select * from user\G;

            mysql.user表就是用户表,可以进行查询,修改,删除,更新操作也就是修改/添加/删除用户(也可以使用命令,下文介绍)
            root默认没有密码,我这是已经设置。

            可以直接创建一个可以任意ip登录,可以访问任何表和拥有所有权限的root用户,然后使用客户端连接进行操作,命令我放在下面,我根据业务需求创建一个用户中心的用户只能对YHZX库进行操作。

    //GRENT [权限,all privileges所有权限] ON [可以访问的库.表,*.*所有的库和表] TO ['用户名'@'可以登录的ip地址'] identified by ['密码']
    grant all privileges on *.* to 'root'@'%' identified by 'root';               
    //刷新权限
    flush privileges;
  2. 创建一个用户
    首先我先创建一个YHZX的数据库和YHZX用户,专门存放与用户有关的表,此库只对用户名为YHZX开放
    //创建用户中心库
    create database YHZX;
    //创建用户中心用户
    //create user '[用户名]'@'[可以访问的ip,%:所有ip]' IDENTIFIED BY '[密码]'
    create user 'YHZX'@'%' IDENTIFIED BY 'Yhzx';
    //修改用户信息,可以直接使用update,delect语句修改user表的信息。省去记多余的命令。
    //注意修改密码的时一定要使用PASSWORD('密码')这个函数进行赋值操作,因为密码有加密。
  3. 对用户进行授权
    //查看用户权限
    show grants for 'YHZX'@'%';

    显示USAGE表示没有任何权限,但是可以登录连接所有库
    创建一个可以对YHZX库下的所有表进行查询,修改,增加,删除,创建表,删除表的用户权限

    //用户授权
    //GRANT [用户权限] ON [数据库,*:全部].[表,*:全部] TO '[用户名]'@'[IP地址]'
    GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE ON YHZX.* TO 'YHZX'@'%';
    //刷新用户权限
    flush privileges;

  4. 开设端口
    用户创建完毕,最重要的一步就是开设防火墙,因为连接MySQL需要端口号,MySQL的端口号可以在my.cnf配置(port=3306),没有配置默认为3306。我的服务器是在云上,有专门的管理平台开设端口,不需要命令。开设端口号的命令就不在这里赘述。
  5. 权限说明
    用户都可以分配什么权限,其实就是user表的字段,在这里附一张图片说明
            user表字段说明

         如果授予一个用户单独某个数据库的权限,就会在db表中记录一条相关信息。

        如果一个MySQL用户想和多个ip地址绑定,可以常见多个相同用户名,不同ip的用户,分别授权不同的权限,比如:

 

 

----------到此就可以用开发环境的客户端进行连接MySQL了

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值