用户介绍

2018-09-18 09:53 更新
  1. 系统默认数据库介绍

    参考链接

  1. 查看系统当前存在的用户

    通过1中,我们知道数据库的用户信息存在mysql数据库中的user表中,我们查询该表,结果如下。Host字段是当前用户可登录的ip地址(如果是*则代表可任意地址登录),User字段是用户名称,Password是用户密码。

mysql> select Host, User, Password from user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 127.0.0.1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ::1       | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------+-------------------------------------------+
3 rows in set (0.00 sec)
  1. 自定义用户

    为什么需要自定义用户呢?我们会从如下几个方面考虑,权限、职能。

    默认的root用户属于mysql中的超级管理员的职能,如果每个人都能拿到该root的权限,容易发生一些操作错误,轻者数据库部分数据出现问题,重则整个数据库遭到毁灭。

    默认的root用户属于mysql中的超级管理员的职能,容易遭到怀有恶意企图的人所利用。

    默认的root用户属于mysql中的超级管理员的职能,给定指定用户相应的权限,可以保证每个用户只能使用该用户职责内的权限,既可以保证数据库的分工更加精细化,同时也保证了数据库的安全。

 // 创建mysql用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
// 给该用户授予相应的权限(privileges_name为all时,则表示授予所有权限,下面收回权限处的含义一致)GRANT privileges_name  privileges ON databasename.tablename TO 'username'@'host';
// 刷新权限,使新创建的用户能够使用
flush privileges;
// 收回用户权限
REVOKE privileges_name privilege ON databasename.tablename FROM 'username'@'host';

     如果我们创建了相同的用户名,需要删除第一次创建时的用户名,不能只删除mysql库下的user表信息,应该使用drop user username命令进行删除用户操作。然后使用flushprivileges进行权限刷新。如果按照上述操作,提示用户无法登录,查看防火墙状态,可参考      参考链接

  1. 删除用户
// 删除用户
drop USER 'username'@'host';
// 重新加载权限
flush privilege
  1. 修改用户密码
//设置指定用户的密码
set password for'username'@'host' = password('newpassword'); 
// 设置当前登录用户的密码
set password = password('newpassword'); 


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号