MySQL中创建用户分配权限

测试环境:CentOS6.8 和 MySQL5.5.4

一 需求

在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库。那么可以新建一个用户,赋予该用户特定的数据库权限。

二 实现

1 新建用户

// root 用户登陆 MySQLmysql -uroot -pEnter password:// 新建用户mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));// 刷新系统权限表mysql>flush privileges;

这样就创建了一个名为:buff,密码为:buff 的用户。

2 登陆测试

mysql>exit// 用户 buff 登陆 MySQLmysql -ubuff -pEnter password:mysql>

说明新建的用户 buff 登陆成功。

3 用户授权

// root 用户登陆 MySQLmysql -uroot -pEnter password:// 为用户 buff 创建一个数据库 bluebuffmysql>create database bluebuff;// 授权用户 buff 拥有数据库 bluebuff 的所有权限mysql>grant all privileges on bluebuff.* to buff@localhost identified by ‘buff‘;mysql>flush privileges;

 4 登录测试

// 用户 buff 登陆数据库mysql -ubuff -pEnter privileges:// 显示数据库mysql>show databases;

结果如下图所示,说明为用户 buff 授权成功

5 修改用户 buff 的密码

// root 用户登陆 MySQLmysql -uroot -pEnter password:// 修改用户 buff 的密码mysql>update table mysql.user set password=password(‘buffer‘) where User=‘buff‘ and Host=‘localhost‘;
mysql>flush privileges;

6 删除用户

// root 用户登陆 MySQLmysql -uroot -pEnter password:// 删除用户 buffmysql>delete from mysql.user where User = ‘buff‘ and Host = ‘localhost‘;mysql>flush privileges;

7 删除数据库

mysql>drop database bluebuff;

 

相关文章