mysql远程连接授权

2018-09-11 00:57:10   mysql

  mysql  


  1. MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法。
  2. # mysql -u root -h 192.168.194.142 -p
  3. Enter password:
  4. ERROR 1045 (28000): Access denied for user 'root'@'192.168.194.142' (using password: YES)
  5. 【解决办法】
  6. 1. 先用localhost登录
  7. # mysql -u root -p
  8. Enter password:
  9. 2. 执行授权命令
  10. mysql> grant all privileges on *.* to root@'%' identified by '123';
  11. Query OK, 0 rows affected (0.07 sec)
  12. 4.FLUSH PRIVILEGES; //刷新权限
  13. 3. 退出再试
  14. mysql> quit
  15. Bye
  16. 再试登录:
  17. # mysql -u root -h 192.168.194.142 -p
  18. Enter password:
  19. Welcome to the MySQL monitor. Commands end with ; or \g.
  20. Your MySQL connection id is 3
  21. Server version: 5.6.33 MySQL Community Server (GPL)
  22. Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  23. Oracle is a registered trademark of Oracle Corporation and/or its
  24. affiliates. Other names may be trademarks of their respective
  25. owners.
  26. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  27. mysql>
  28. 成功啦!
  29. 下面详细说说如何给用户授权。
  30. mysql> grant 权限1,权限2, ... 权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
  31. 权限1,权限2,... 权限n 代表 selectinsertupdatedeletecreatedropindexaltergrantreferencesreloadshutdownprocessfile 14个权限。
  32. 当权限1,权限2,... 权限n all privileges 或者 all 代替时,表示赋予用户全部权限。
  33. 数据库名称.表名称 *.* 代替时,表示赋予用户操作服务器上所有数据库所有表的权限。
  34. 用户地址可以是localhost,也可以是IP地址、机器名和域名。也可以用 '%' 表示从任何地址连接。
  35. '连接口令' 不能为空,否则创建失败。
  36. 举几个例子:
  37. mysql> grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by 123′;
  38. 给来自10.163.225.87的用户joe分配可对数据库vtdcemployee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123
  39. mysql> grant all privileges on vtdc.* to joe@10.163.225.87 identified by 123′;
  40. 给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123
  41. mysql> grant all privileges on *.* to joe@10.163.225.87 identified by 123′;
  42. 给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123
  43. mysql> grant all privileges on *.* to joe@localhost identified by 123′;
  44. 给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123