zoukankan      html  css  js  c++  java
  • mysql开启远程访问及相关权限控制

    开启mysql远程访问:

    授予用户user 密码 passwd 所有权限 所有主机IP可访问

    • 授权语句:Grant <权限> on 表名[(列名)] to 用户 With grant option或 GRANT <权限> ON <数据对象> FROM <数据库用户>
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

    ALL PRIVILEGES表示所有权限,.表示所有数据库和表,%表示所有IP,WITH GRANT OPTION授予授权权限,如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“。

    l  只能访问数据库gogs的所有权控制

    GRANT ALL PRIVILEGES ON gogs.* TO 'user2'@'%' IDENTIFIED BY 'passwd2' WITH GRANT OPTION;

    分别授予用户所有主机IP可访问,分别拥有增删改查权限

    GRANT select ON *.* TO 'user1'@'%' IDENTIFIED BY 'passwd1' WITH GRANT OPTION;
    GRANT insert ON *.* TO 'user2'@'%' IDENTIFIED BY 'passwd2' WITH GRANT OPTION;
    GRANT updata ON *.* TO 'user3'@'%' IDENTIFIED BY 'passwd3' WITH GRANT OPTION;
    GRANT delete ON *.* TO 'user4'@'%' IDENTIFIED BY 'passwd4' WITH GRANT OPTION;

    查询用户具有的权限,因为只给了查询权限,所以只有Select_priv: Y。

    mysql> GRANT select ON *.* TO 'user'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
    Query OK, 0 rows affected, 1 warning (0.02 sec)
     
    mysql> select * from mysql.user where user='user'G;
    *************************** 1. row ***************************
                      Host: %
                      User: user
               Select_priv: Y
               Insert_priv: N
               Update_priv: N
               Delete_priv: N
               Create_priv: N
                 Drop_priv: N
           
    1 row in set (0.00 sec)
     
    ERROR: 
    No query specified

    l  二、撤销已经赋予给 MySQL 用户权限的权限。

    revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:

    grant all on *.* to dba@localhost;
     
    revoke all on *.* from dba@localhost; 

    grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

    l  三、对数据库开启只读权限,用于数据库热备份

    1)、 对于MySQL单实例数据库和master库,如果需要设置为只读状态,需要进行如下操作和设置:
    将MySQL设置为只读状态的命令:

    mysql> show global variables like "%read_only%";
    mysql> flush tables with read lock;
    mysql> set global read_only=1;
    mysql> show global variables like "%read_only%";

    将MySQL从只读状态设置为读写状态的命令:

    mysql> unlock tables;
    mysql> set global read_only=0;

    2)、对于需要保证master-slave主从同步的salve库
    将slave从库设置为只读状态,需要执行的命令为:

    mysql> set global read_only=1;

    将salve库从只读状态变为读写状态,需要执行的命令是:

    mysql> set global read_only=0;

     

     

  • 相关阅读:
    Qt共享内存实现进程间通信(QSharedMemory)
    Qt5.5制作简单的屏幕截图程序
    006--C++动态内存(简介)
    005--C++字符
    004--C++11的初始化方式
    003--sizeof的使用
    002--C++程序的创建
    001--基础知识准备
    Qt5.5连接MySQL
    vue-cli中如何创建并引入自定义组件
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/11561301.html
Copyright © 2011-2022 走看看