isme-zjh

开启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;

 

 

 

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2021-12-19
  • 2021-09-24
  • 2021-07-29
  • 2021-10-25
猜你喜欢
  • 2021-11-25
  • 2021-07-14
  • 2021-06-13
相关资源
相似解决方案