在项目开发中使用MySQL数据库,但是不可能每个人都使用root对数据库进行操作,毕竟root的权限太高,一不小心的误操作将可能造成难以估计的损失,所以需要对开发人员进行关于数据库权限的配置,这样既能保证开发工作的正常运行,同时也能保证安全性。
创建用户
用户名:root
insert intomysql.user(Host,User,Password)values('localhost','test',password("123"))
用户名:test,密码:123;
PS:注意localhost代表用户只能在本地登录,不能再其他机器上运行,如果需要远程将localhost修改为%。
登录新注册的用户,验证是否可以登录成功
不开心,出错了。。。
如果提示错误信息
ERROR 1045 (28000): Access denied for user'ODBC'@'localhost' (using password: YES)
将MySQL安装路径下的my.ini文件中[mysqld]下面的skip-grant-tables注释就可以了。
若登录成功,则表示用户注册成功。完美!!!
赋予权限
使用root用户进行授权,选择赋予test用户的数据库名称,例如小编的数据库名称bos,命令如下
grant all privileges on bos.* totest@localhost identified by '123';
PS:这是授予test用户bos数据库的增删改查的权限,如果想只授予部分权限,则可以根据下述语句自行修改
grant select,delete,update,create,drop on*.* to test@"%" identified by "123";
刷新系统权限表
flush privileges;
使用test用户登录,显示test可管理的数据库
show databases;
取消权限
revoke all on *.* from test@localhost ;
总结
上面的东西作为Java开发人遇到不会很多,因为数据库方面的内容DBA之类肯定都会提前处理好的,但是有那么一点小强迫症总想自己做出来。虽然就这么点东西,操作起来真是各种问题各种出,怎么做就是不出活,表示很心塞只能用强大的自我安慰一下就是锻炼的不够啊,不断实践吧。