Cnbaby 发表于 2018-10-9 10:42:32

MySQL之账号管理

  一 账号管理
  1 创建账号:
  示例 1:
  建立账号zwj,权限为在所有数据库上具有所有权限
  mysql> grant all on *.* to 'zwj'@'192.168.154.180';
  Query OK, 0 rows affected (0.01 sec)
  为zwj设置密码

  mysql> grant all on *.* to 'zwj'@'192.168.154.180'>  Query OK, 0 rows affected (0.00 sec)
  示例 2:
  建立用户user01,权限为test库里所有表进行select、update、insert、delete操作,密码为"a123"。

  mysql> grant select,update,insert,delete on test.* to 'user01'@'192.168.154.%'>  Query OK, 0 rows affected (0.09 sec)
  2 查看权限
  查看指定账户的权限
  mysql> show grants for 'user01'@'192.168.154.%';
  +-------------------------------------------------------------------------------------------------------------------+
  | Grants for user01@192.168.154.%                                                                                 |
  +-------------------------------------------------------------------------------------------------------------------+

  | GRANT USAGE ON *.* TO 'user01'@'192.168.154.%'>  | GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'user01'@'192.168.154.%'                                    |
  +-------------------------------------------------------------------------------------------------------------------+
  2 rows in set (0.00 sec)
  查看当前用户权限
  mysql> show grants;
  +----------------------------------------------------------------------------------------------------------------------------------------+
  | Grants for root@localhost                                                                                                            |
  +----------------------------------------------------------------------------------------------------------------------------------------+

  | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'>  | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
  +----------------------------------------------------------------------------------------------------------------------------------------+
  2 rows in set (0.00 sec)
  3 更改权限
  新建用户

  mysql> grant select on test.* to 'bbs'@'192.168.154.%'>  Query OK, 0 rows affected (0.00 sec)
  mysql> show grants for 'bbs'@'192.168.154.%';
  +----------------------------------------------------------------------------------------------------------------+
  | Grants for bbs@192.168.154.%                                                                                 |
  +----------------------------------------------------------------------------------------------------------------+

  | GRANT USAGE ON *.* TO 'bbs'@'192.168.154.%'>  | GRANT SELECT ON `test`.* TO 'bbs'@'192.168.154.%'                                                            |
  +----------------------------------------------------------------------------------------------------------------+
  2 rows in set (0.00 sec)
  增加权限
  mysql> grant select,insert,delete on test.* to 'bbs'@'192.168.154.%';
  Query OK, 0 rows affected (0.00 sec)
  mysql> show grants for 'bbs'@'192.168.154.%';
  +----------------------------------------------------------------------------------------------------------------+
  | Grants for bbs@192.168.154.%                                                                                 |
  +----------------------------------------------------------------------------------------------------------------+

  | GRANT USAGE ON *.* TO 'bbs'@'192.168.154.%'>  | GRANT SELECT, INSERT, DELETE ON `test`.* TO 'bbs'@'192.168.154.%'                                              |
  +----------------------------------------------------------------------------------------------------------------+
  2 rows in set (0.00 sec)
  撤销权限
  mysql> revoke delete,insert on test.* from 'bbs'@'192.168.154.%';
  Query OK, 0 rows affected (0.01 sec)
  mysql> show grants for 'bbs'@'192.168.154.%';
  +----------------------------------------------------------------------------------------------------------------+
  | Grants for bbs@192.168.154.%                                                                                 |
  +----------------------------------------------------------------------------------------------------------------+

  | GRANT USAGE ON *.* TO 'bbs'@'192.168.154.%'>  | GRANT SELECT ON `test`.* TO 'bbs'@'192.168.154.%'                                                            |
  +----------------------------------------------------------------------------------------------------------------+
  2 rows in set (0.00 sec)
  4 修改账号密码
  方式 1:
  mysql> set password for 'bbs'@'192.168.154.%' = password('abc-123');
  Query OK, 0 rows affected (0.01 sec)
  mysql> flush privileges;
  Query OK, 0 rows affected (0.00 sec)
  方式 2:
  mysql> update mysql.user set password=password('aaa') where user='bbs' and host='192.168.154.%';
  Query OK, 1 row affected (0.00 sec)
  Rows matched: 1Changed: 1Warnings: 0
  mysql> flush privileges;
  Query OK, 0 rows affected (0.00 sec)
  方式 3:
  # mysqladmin -u bbs -h 192.168.154.180 password "ccc" -p
  Enter password:
  Warning: Using a password on the command line interface can be insecure.
  为root初次设置密码:
  # mysqladmin -uroot password "abc-123"
  为root修改密码:
  # mysqladmin -uroot password 'root' -p
  Enter password:
  Warning: Using a password on the command line interface can be insecure.
  5 删除账户
  mysql> drop user 'bbs'@'192.168.154.%';
  Query OK, 0 rows affected (0.00 sec)
  mysql> show grants for 'bbs'@'192.168.154.%';
  ERROR 1141 (42000): There is no such grant defined for user 'bbs' on host '192.168.154.%'

页: [1]
查看完整版本: MySQL之账号管理