12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-12-24 19:10:43
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
MySQL权限系统 1) 设置口令 设置MySQL 用户口令的方法有多种: – CREATE USER...IDENTIFIED BY – GRANT...IDENTIFIED BY – SET PASSWORD – mysqladmin password – UPDATE
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
MySQL权限系统
设置MySQL 用户口令的方法有多种:
– CREATE USER...IDENTIFIED BY
– GRANT...IDENTIFIED BY
– SET PASSWORD
– mysqladmin password
– UPDATE 授权表(不推荐)
为所有用户帐户分配唯一的强口令。
?避免可以轻易猜测到的口令。
?使用以下SELECT 语句可列出没有口令的所有帐户:
SELECT Host, User FROM mysql.user
WHERE Password = '';
?确定重复口令:
SELECT User FROM mysql.user GROUP BYpassword
HAVING count(user)>1;
?让口令失效:
ALTER USER jim@localhost PASSWORD EXPIRE;
2) Mysql支持的权限
Privilege
Meaning andGrantable Levels
ALL [PRIVILEGES]
Enable use ofALTER TABLE. Levels: Global, database, table.
ALTER ROUTINE
Enable stored routine creation. Levels: Global, database.
CREATE TABLESPACE
Enable views to be created or altered. Levels: Global, database, table.
DELETE
Enable databases, tables, and views to be dropped. Levels: Global, database, table.
EVENT
Enable the user to cause the server to read or write files. Level: Global.
GRANT OPTION
Enable use ofINSERT. Levels: Global, database, table, column.
LOCK TABLES
Enable foreign key creation. Levels: Global, database, table, column.
RELOAD
Enable the user to ask where master or slave servers are. Level: Global.
REPLICATION SLAVE
Enable use ofUPDATE. Levels: Global, database, table, column.
USAGE
3) 允许的主机名格式示例
?主机名:localhost
?合格的主机名:'hostname.example.com'
? IP 编号:192.168.9.78
? IP 地址:10.0.0.0/255.255.255.0
?模式或通配符:% 或_
用户名和主机名示例:
? john@10.20.30.40
? john@'10.20.30.%'
? john@'%.ourdomain.com'
? john@'10.20.30.0/255.255.255.0'
4) GRANT 语句
? GRANT 语句可创建新帐户或者修改现有帐户。
? GRANT 语法:
GRANT SELECT ON world_innodb.* TO
'kari'@'localhost' IDENTIFIED BY 'Abc123';
?该语句的子句:
–要授予的权限
–权限级别:
—全局:*.*
—数据库:.*
—表:.
—存储例程:.
–要授予其权限的帐户
–可选口令
5) 权限级别/表内容和权限
user 针对服务器已知的每个帐户包含一个记录
db 特定于数据库的权限
tables_priv 特定于表的权限
columns_priv 特定于列的权限
procs_priv 存储过程和函数权限
6) 撤消帐户权限
?使用REVOKE 语句可以撤消特定的SQL 语句权限:
REVOKE DELETE, INSERT, UPDATE ONworld_innodb.*
FROM 'Amon'@'localhost';
?撤消权限以便将权限授予其他用户:
REVOKE GRANT OPTION ON world_innodb.*
FROM 'Jan'@'localhost';
?撤消所有权限(包括向他人授权):
REVOKE ALL PRIVILEGES,GRANT OPTION
FROM 'Sasha'@'localhost';
?在发出REVOKE 之前使用SHOW GRANTS 语句确定要
撤消的权限,随后再次确认结果。
7) 禁用客户机访问控制
要指示服务器不读取授权表并禁用访问控制,可使用
--skip-grant-tables 选项。
?每个连接都成功:
–可以提供任何用户名及任何口令,并且可以从任何主机连接。
–该选项将禁用整个权限系统。
–连接的用户实际上拥有所有权限。
?阻止客户机连接:
–使用--skip-networking 选项可阻止网络访问,并且仅允许在本地套接字、命名管道或共享内存上访问。
–使用--socket 选项可在非标准套接字上启动服务器以防止本地应用程序或用户随便访问。
8) 资源限制
通过将全局变量MAX_USER_CONNECTIONS 设置为非
零值,限制使用服务器资源。
–这将限制任何一个帐户的同时连接数量,但不会限制客
户机在连接后能执行的操作。
?限制单个帐户的以下服务器资源:
– MAX_QUERIES_PER_HOUR:一个帐户每小时可发出的查询数量
– MAX_UPDATES_PER_HOUR:一个帐户每小时可发出的更新数量
– MAX_CONNECTIONS_PER_HOUR:一个帐户每小时可连接到服务器的次数
– MAX_USER_CONNECTIONS:允许的同时连接数量
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19