一下的示例所用用户名和密码为: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 允许您改变表格,可以用于通过重新命名表来推翻权限系统 表