当前位置: 首页 >数据库 > mysql用户密码修改,用户添加、删除及设置权限

mysql用户密码修改,用户添加、删除及设置权限

一下的示例所用用户名和密码为:test,111111

 

Mysql密码修改:

Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码);

1)使用set password方式来修改账户密码:

set password for ‘hzd’@’localhost’=password(‘newpassword’);

2)使用phpMyAdmin修改,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数, 插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。

 

mysql用户的添加和授权:

1)insert方式添加:

用户root权限登录mysql,新建test用户

 mysql>Insert into mysql.user(Host,User,Password) values(‘localhost’,’test’,password(‘111111’));

刷新系统权限表  mysql> FLUSH PRIVILEGES;

如果报错

#1364 – Field ‘ssl_cipher’ doesn’t have a default value

修改MySQL配置文件Linux系统为my.cnf,Windows系统为my.ini

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

修改为

 

sql_mode=NO_ENGINE_SUBSTITUTION

重启MySQL服务

2)grant方式添加:

用户root权限登录mysql,新建test用户

mysql> grant usage on *.* to ‘test’@’localhost’ identified by ‘111111’;

给test用户授权

mysql>grant all on ‘hzd’.* to ‘test’@’localhost’ identified by “111111”;

这句话的意思是:授权用户’test’(其密码为111111)可以任何主机登录,可对数据库’hzd’下的所有表进行所有操作。

 

以下是几句关于授权的sql语句:

grant语句的语法如下:

grant privileges (columns) on what to user identified by “password” with grant option

 

1)grant select,insert on ‘*’ to test@’local’ identified by ‘111111’;

这句命令的意思是,授权用户“test”(其口令为“111111”)只能在本地localhost登录,可对任何的任何表(“*.*”前一个“*”代表任何数据库,后一个“*”代表在前个“*”的约束下的任何表)进行select,insert的操作。

 

2)grant update,delete on scut.student to test@"%" Identified by "123";

这句命令的意思是,授权用户“test”(其口令为“123”)可以任何主机登录,可对数据库"scut”下的表“student”进行update,delete的操作;

 

3)grant all on len.* to ca@"%" Identified by "123456";

这句命令的意思是,授权用户“ca”(其口令为“123456”)可以任何主机登录,可对数据库"len”下的所有表进行所有的操作;

 

用户删除:

drop user test@localhost

 

mysql授权查看:
select user from mysql.db where db="youdb"
实例:查看len数据库已经授权的用户
select user from mysql.db where db="len"

查看用户权限:

show grants for 你的用户

比如:
show grants for test@'localhost';

 

数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。

全局管理权限:

file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。

特别的权限:

ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。

附:权限 表列名称 相应解释 使用范围 
  select Select_priv 只有在真正从一个表中检索时才需要select权限 表 
  insert Insert_priv 允许您把新行插入到一个存在的表中 表 
  update Update_priv 允许你用新值更新现存表中行的列 表 
  delete Delete_priv 允许你删除满足条件的行 表 
  create Create_priv 允许你创建新的数据库和表 数据库、表或索引 
  drop Drop_priv 抛弃(删除)现存的数据库和表 数据库或表 
  reload Reload_priv 允许您告诉服务器再读入授权表 服务器管理 
  shutdown Shutdown_priv 可能被滥用(通过终止服务器拒绝为其他用户服务) 服务器管理 
  process Process_priv 允许您察看当前执行的查询的普通文本,包括设定或改变口令查询 服务器管理 
  file File_priv 权限可以被滥用在服务器上读取任何可读的文件到数据库表 服务器上的文件存取 
  grant Grant_priv 允许你把你自己拥有的那些权限授给其他的用户 数据库或表 
  references References_priv 允许你打开和关闭记录文件 数据库或表 
  index Index_priv 允许你创建或抛弃(删除)索引 表 
  alter Alter_priv 允许您改变表格,可以用于通过重新命名表来推翻权限系统 表

作者:黄志东
来源链接:https://www.cnblogs.com/hzd2010/p/5681453.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118531.html

标签:1364:Field
分享给朋友:

“mysql用户密码修改,用户添加、删除及设置权限” 的相关文章

mysql递归查询 2022年06月06日 18:26:30
mysql查询结果中文显示成了问号 2022年06月07日 02:00:43
mysql 查询表中前10条数据 2022年06月08日 04:35:17
mysql的查询句 2022年06月09日 23:40:52
MySQL查询指定行的记录 2022年06月14日 06:02:58
mysql版本查询 2022年06月14日 09:43:45
MySQL的查询优化——背后原理 2022年06月14日 22:31:44
MySQL查询请求执行过程分析 2022年06月15日 10:06:22