Mysql权限控制 - 允许用户远程连接

原文地址:https://blog.csdn.net/mangrandi/article/details/59107905

Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,以下可参考。


【1、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限

         登录:

                  在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 

         进行授权操作:

                  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

         重载授权表:

                  FLUSH PRIVILEGES;

         退出mysql数据库

                  exit

在mysql控制台执行命令中的 ‘root'@'%' 可以这样理解: root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword'是给授权用户指定的登录数据库的密码

【2、允许root用户在一个特定的IP 或 特定的网段进行远程登录,并具有特定库特定操作权限

         登录:

                  在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 

      进行授权操作: 
            mysql>GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 
            若只想在特定网段远程登录(只有172.16.16.% 的局域网可以远程连接)
            mysql>GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.%" IDENTIFIED BY "youpassword"; 

         重载授权表:

                   FLUSH PRIVILEGES; 

         退出mysql数据库 

                   exit

【3、删除用户授权                  

需要使用REVOKE命令。具体命令格式为:REVOKE privileges ON 数据库[.表名] FROM user-name。具体实例:

         登录:

                  mysql: mysql -u root -p"youpassword" 

         进行授权操作: 

                  mysql>GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 

         再进行删除授权操作: 

                  REVOKE all on TEST-DB from test-user; 

         ****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 最后从用户表内清除用户: DELETE FROM user WHERE user="test-user"; 

       重载授权表:

                  FLUSH PRIVILEGES;

        退出mysql数据库

                  exit

 
【5、MYSQL权限详细分类】
         全局管理权限
                  FILE: 在MySQL服务器上读写文件。 
                  PROCESS: 显示或杀死属于其它用户的服务线程。 
                  RELOAD: 重载访问控制表,刷新日志等。 
                  SHUTDOWN: 关闭MySQL服务。 
          数据库/数据表/数据列权限
                  ALTER: 修改已存在的数据表(例如增加/删除列)和索引。
                  CREATE: 建立新的数据库或数据表。 
                  DELETE: 删除表的记录。
                  DROP: 删除数据表或数据库。 
                  INDEX: 建立或删除索引。 
                  INSERT: 增加表的记录。 
                  SELECT: 显示/搜索表的记录。 
                  UPDATE: 修改表中已存在的记录。 
         特别的权限: 
                  ALL: 允许做任何事(和root一样)。 
                  USAGE: 只允许登录--其它什么也不允许做。
                  

阅读更多
个人分类: MySQL/Oracle/SQL Server
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭