MySQL中建立用户分配权限

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

一 需求sql

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

二 实现vim

1 新建用户安全

复制代码
// root 用户登录 MySQL
mysql -uroot -p
Enter password:
// 新建用户
mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));
// 刷新系统权限表
mysql>flush privileges;
复制代码

这样就建立了一个名为:buff,密码为:buff 的用户。服务器

2 登录测试session

mysql>exit
// 用户 buff 登录 MySQL
mysql -ubuff -p
Enter password:
mysql>

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

3 用户受权测试

复制代码
// root 用户登录 MySQL
mysql -uroot -p
Enter password:
// 为用户 buff 建立一个数据库 bluebuff
mysql>create database bluebuff;
// 受权用户 buff 拥有数据库 bluebuff 的全部权限
mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';
mysql>flush privileges;
复制代码
1)受权wangli 使用密码123456从%任何主机链接到mysql服务器 grant all privileges on *.* to 'wangli'@'%' identified by '123456' with grant option; flush privileges;
//受权指定ip登陆
GRANT select,insert,update,delete ON *.* TO root@"132.232.132.214" IDENTIFIED BY "wanglijun123";
flush privileges;
2)查看已经受权的用户 mysql> select host,user,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+ | host | user | authentication_string | +-----------+---------------+-------------------------------------------+ | localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | % | wangli | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +-----------+---------------+-------------------------------------------+

修改 配置文件:spa

vim /etc/mysql/mysql.conf.d/mysqld.cnf

注销掉这个#bind-address = 127.0.0.1

而后重启mysql; 必须重启不然不生效!

service mysql restart

 

 

 4 登陆测试

// 用户 buff 登录数据库
mysql -ubuff -p
Enter privileges:
// 显示数据库
mysql>show databases;

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

5 修改用户 buff 的密码

复制代码
// root 用户登录 MySQL
mysql -uroot -p
Enter password:
// 修改用户 buff 的密码
mysql>update table mysql.user set password=password('buffer') where User='buff' and Host='localhost';
mysql>flush privileges;
复制代码

6 删除用户

复制代码
// root 用户登录 MySQL
mysql -uroot -p
Enter password:
// 删除用户 buff
mysql>delete from mysql.user where User = 'buff' and Host = 'localhost';
mysql>flush privileges;
复制代码

7 删除数据库

mysql>drop database bluebuff;

 

忘记密码能够修改

配置文件下:

vim /etc/mysql/mysql.conf.d/mysqld.cnf 的 skip-grant-tables 参数加上;而后重启就能够不用密码登陆了。

相关文章
相关标签/搜索