这个教程仅限 MySQL5.7 其他自行研究
情景描述:
1.公司内部数据库管理人员 误删除数据
2.运行网站不需要root账户只需要查询更新数据库操作
新建用户
#登陆root管理员用户 mysql -u root -p #root管理员赋权 【全部权限,全部IP,远程】 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; #创建test 账户 CREATE USER 'test'@'%' IDENTIFIED BY '密码'; #只赋权给test用户 查询及更新权限 GRANT SELECT,UPDATE ON *.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; #只赋权给test用户 一些权限【select,delete,update,create,远程,全部IP】 GRANT SELECT,UPDATE,DELETE,UPDATE,CREATE ON *.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; #只可以操作数据库DB123【test用户 一些权限select,delete,update,create,远程,全部IP 】 GRANT SELECT,UPDATE,DELETE,UPDATE,CREATE ON DB123.* TO 'test'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; #只可以本地操作数据库localhost 全部权限 GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY '密码' WITH GRANT OPTION; #更新权限 flush privileges; 整理一下 用中文来表达意思 GRANT 【赋予的权限】 ON 【数据库名称】.【表名称】 TO '【用户名称】'@'【本地/远程】' IDENTIFIED BY '【用户密码】' WITH GRANT OPTION;
就说到这,剩下举一反三
参考官方权限表格
#修改密码【修改密码后记得重新授权】 #方法1:更新user表字段 use mysql; update user authentication_string=password('密码') where user='用户名'; #方法2:直接更新字段 set password for '用户名'@'登陆地址' = password('密码'); -> 失败的话尝试: alter user 'root'@'localhost' identified by '123'; #方法3:通过mysqladmin mysqladmin -u用户名 -p密码 password 要修改的密码
OK就到这了,结束!@heike07整理