MySQL安全机制是怎样的

58次阅读
没有评论

共计 2284 个字符,预计需要花费 6 分钟才能阅读完成。

MySQL 安全机制是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

通过为 MySQL 用户赋予适当的权限来提高数据的安全性。

MySQL 中主要包含 root 用户和普通用户。root 用户拥有一切权限,普通用户只能拥有部分权限。

在 MySQL 的系统数据库 mysql 中存储着权限表,最主要有 mysql.user、mysql.db、table_priv、columns_priv、procs_priv 表。

一、MySQL 用户权限

在 user 表中保存着权限信息,包括用户字段、权限字段、安全字段和资源控制字段四类信息,共 39 个字段。

二、MySQL 用户机制

DOS 下登陆 MySQL 完整命令:

mysql -h hostname|hostIP -p port -u username -p
DatabaseName -e SQL 语句

其中:

- h 指定所连 MySQL 服务器地址,可以用两种方式:hostname(主机名)、hostIP(主机 IP 地址)

- p 指定所连 MySQL 服务器端口号,默认是 3306。

- u 指定用户。

- p 提示输入密码。

DatabaseNmae 指定登陆到哪一个数据库,默认是 mysql 数据库。

- e 指定所执行性的 SQL 语句。

example:

mysql -h localhost -u root -pNumber@01
school(- p 和密码之间没有空格!)

mysql -h localhost -u root -pNumber@01 school
-e select * from students

DOS 下退出登陆:exit|quit

创建用户:

1、create user 创建普通用户,不能赋权值

create user user_name[identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]

[,user_name [identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]]……

其中 password 关键字表示对密码加密。

example:

create user test identified by 123

2、insert   创建普通用户,不能赋权值

insert into user(Host,User,Password)
values( hostname , username ,password( password

3、grant 创建普通用户,能赋权值

grant priv_type on
databasename.tablename

to username[identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]

[,username[identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]]……

修改密码:

1、通过 mysqladmin 命令

mysqladmin -u username -p password
new_password

2、通过 set 命令修改 root 用户密码

先登陆 root

set password =
password( new_password

3、更新 user 数据记录修改 root 和普通用户密码

update user set password =
password(new_password)

where user = root and host =
localhost

example:

update user set password =
password(234)

where user = test and host =
localhost

删除用户账户:

drop user user1[,user2]

delete from user 

where user = username and host =
localhost

三、权限管理

1、授权

grant priv_type[(column_list) on databse.table
to 

user [identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]

[,user [identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]]

[with with-option[with-option]……]

其中:

priv_type 表示权限类型;column_list 表示权限作用于的字段,省略该参数时作用于整个表。

DATABASE.table 表示数据库中的某个表;

with-option 参数可以取以下值:

grant option:被授权的用户可以将权限授给其他用户

MAX_QUERIES_PER_HOUR
count; 设置每个小时可以执行 count 次查询

MAX_UPDATES_PER_HOUR
count:设置每个小时可以执行 count 次更新

MAX_CONNECTIONS_PER_HOUR
count:设置每小时可以建立 count 个连接

MAX_USER_CONNECTIONS
count:设置单个用户可以同时具有 count 个连接

2、查看权限

show grants for user_name;

show grants for test

3、收回权限

revoke priv_type [(column_list)] on
DATABASE.table 

from user1 [identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]

收回所有权限

revoke all privileges,grant option 

from user1 [identified by

  此处含有隐藏内容,需要正确输入密码后可见!

password ]

revoke all privileges,grant option 

from test

show grants for
test

看完上述内容,你们掌握 MySQL 安全机制是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计2284字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)