MySQL数据库下用户及用户权限配置

发表于:2016-8-08 10:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:哈利法    来源:51Testing软件测试网采编

  问题:使用某大腿写的远程工具管理Mysql数据库时发现所有数据能正常显示,但是无法进行删除、修改等操作。
  思路:可以远程读取到数据库里的信息,说明当前主机可以远程连接数据库。却无法进行删除、修改这些操作,说明某些权限并未赋予当前远程用户。
  解决方法:
  查看当前用户权限
  > show grants for username
  显示当前用户下的权限为:select,insert,update,delete
  GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*BB318072E265C419B3E1E19A4DAD1FA969B9B4D4' //只可以在本地登陆的 不能操作的用户
  GRANT SELECT, INSERT, UPDATE, DELETE ON `dbName`.* TO 'usename'@'host'                                     //此用户拥有select/insert/update/delelte权限
  这样看来,应该是具备删除、修改这些权限的,可是在远程工具上却不能进行操作。
  仔细排查后,发现大腿写的这个工具对数据库的操作基本上都是通过函数执行的,我这个用户的权限里并未赋予存储过程、存储函数的相关权限,当然就不能进行相关操作了
  于是,给用户添加存储过程及存储函数权限
  GRANT DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
  查看用户权限为
  GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*938D2D224D12DAD427AB953B931EA6DF0CF0656A'
  GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
  再使用远程工具,可正确使用
  -----------------------------------------------------------------------------------------------------
  附:导入数据库自定义函数
  mysqldump -uroot -ntd -R dbName > dbName.sql
  发现导入出现错误信息
  ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
  错误信息1481,当导入自定义函数时相当于创建自定义函数到数据库中,但是因为有一个安全参数没有开启,log_bin_trust_function_creators 默认为0(即OFF),
  是不允许function的同步的(也就是说不允许创建函数),开启这个参数,就可以创建成功了。
  查看log_bin_trust_function_creators值
> show variables like "%func%"
--------------------------------------
|Variable_name                  |Value|
--------------------------------|-----
|log_bin_trust_function_creators| OFF |
--------------------------------------
  value为OFF,说明是不允许创建函数,修改这个值,即可
> set global log_bin_trust_function_creators=1;
>show variables like "%func%"
--------------------------------------
|Variable_name                  |Value|
--------------------------------|-----
|log_bin_trust_function_creators| ON |
--------------------------------------
  注意:导入完成后记得把值设回0(即OFF),具体原因就不细说了。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号