美文网首页
mysql账号管理

mysql账号管理

作者: 至爱雅鸿_e631 | 来源:发表于2019-12-11 14:57 被阅读0次

    前言

    为了数据安全,需要对mysql创建不同的账号,分发到相关人员手中,以账号来限制数据的操作权限。

    创建账号

    首先登陆mysql,此处省略登陆步骤

    ##创建账号命令
    create user 'writeandread'@'%' identified by '123456';
    ##为账号开启远程访问权限
    grant all privileges on dbname.* to 'writeandread'@'%';
    ##刷新权限
     flush privileges;
    

    经过以上三个步骤即可开通一个账号。

    各类命令介绍

    • 创建账号语句 create user 'writeandread'@'%' identified by '123456';
      其中的%表示所有情况都能访问
      如替换为localhost表示只有本地才能访问
      如替换为具体的ip则表示只有此ip才能访问,多个ip使用,连接
    • 开启远程访问语句 grant all privileges on dbname.* to 'writeandread'@'%' ;
      a.其中 'writeandread'@'%'与创建账号的命令一致,否则语句无法执行
      b.all privileges的意思是赋予所有权限,可替换为 create,alter,drop,select,insert,update,delete可根据自身需要对权限做增删,使用,连接即可
    • 查看系统当前账号select user,host from mysql.user;
      此命令罗列所有账户名&可访问的地址,具体含义见创建账号
    • 删除账号 drop user writeandread@'%'
      删除账号是同样要保持账户名与访问权限保持一致,否则无法删除
    • 查看账号权限 show grants for backupuser@'112.112.1.1,112.112.1.2';
      同样要保持账户名与访问权限保持一致,否则语句报错

    可能遇到的问题

    • 如果数据库名中有-执行语句会失败,将数据库名改为*直接模糊匹配

    强制修改root密码

    vim /etc/my.conf
    找到[mysqld],在它的后面任意下一行添加如下代码
    skip-grant-tables
    重启mysql service mysqld restart
    进入后台 执行命令 mysql
    执行修改语句 update user set authentication_string=password('新密码') where user='root';
    退出,将my.conf中的 skip-grant-tables删除,再重启mysql

    参考文章

    mysql 创建数据库,添加用户,用户授权
    mysql5.6创建新用户并给授权指定的数据库权限

    相关文章

      网友评论

          本文标题:mysql账号管理

          本文链接:https://www.haomeiwen.com/subject/fmbogctx.html