温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL安全机制是怎样的

发布时间:2021-11-16 14:51:08 来源:亿速云 阅读:221 作者:柒染 栏目:MySQL数据库

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] 'password']

[,user_name [identified by [password] '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]'password']

[,username[identified by [password]'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] 'password']

[,user [identified by [password] '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] 'password']


收回所有权限

revoke all privileges,grant option 

from user1 [identified by [password] 'password']


revoke all privileges,grant option 

from 'test';

show grants for 'test';

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI